@ -327,8 +327,56 @@ endef
d e f i n e B u i l d / C o m p i l e / D e f a u l t
e n d e f
LIBGCC_A = $( wildcard $( TOOLCHAIN_DIR) /lib/gcc/*/*/libgcc_pic.a)
LIBGCC_MAP = $( wildcard $( TOOLCHAIN_DIR) /lib/gcc/*/*/libgcc.map)
i f e q ( $( CONFIG_EXTERNAL_TOOLCHAIN ) , )
define Build/Compile/uClibc
$( SCRIPT_DIR) /relink-lib.sh \
" $( TARGET_CROSS) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libc_so.a) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libc_so.a) " \
" $( patsubst $( TOOLCHAIN_DIR) /lib/%,$( PKG_BUILD_DIR) /%,$( wildcard $( TOOLCHAIN_DIR) /lib/libuClibc-*.so) ) " \
-Wl,-init,__uClibc_init -Wl,-soname= libc.so.0 \
$( PKG_BUILD_DIR) /libgcc_s.so.*
$( SCRIPT_DIR) /relink-lib.sh \
" $( TARGET_CROSS) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libcrypt-*.so) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libcrypt_pic.a) " \
" $( patsubst $( TOOLCHAIN_DIR) /lib/%,$( PKG_BUILD_DIR) /%,$( wildcard $( TOOLCHAIN_DIR) /lib/libcrypt-*.so) ) " \
$( PKG_BUILD_DIR) /libgcc_s.so.* \
-Wl,-soname= libcrypt.so.0
$( SCRIPT_DIR) /relink-lib.sh \
" $( TARGET_CROSS) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libm-*.so) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libm_pic.a) " \
" $( patsubst $( TOOLCHAIN_DIR) /lib/%,$( PKG_BUILD_DIR) /%,$( wildcard $( TOOLCHAIN_DIR) /lib/libm-*.so) ) " \
$( PKG_BUILD_DIR) /libgcc_s.so.* \
-Wl,-soname= libm.so.0
$( SCRIPT_DIR) /relink-lib.sh \
" $( TARGET_CROSS) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libpthread-*.so) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libpthread_so.a) " \
" $( patsubst $( TOOLCHAIN_DIR) /lib/%,$( PKG_BUILD_DIR) /%,$( wildcard $( TOOLCHAIN_DIR) /lib/libpthread-*.so) ) " \
-Wl,-z,nodelete,-z,initfirst,-init= __pthread_initialize_minimal_internal \
$( PKG_BUILD_DIR) /libgcc_s.so.* \
-Wl,-soname= libpthread.so.0
endef
define Build/Compile/libgcc
$( SCRIPT_DIR) /relink-lib.sh \
" $( TARGET_CROSS) " \
" $( wildcard $( TOOLCHAIN_DIR) /lib/libgcc_s.so.*) " \
" $( LIBGCC_A) " \
" $( patsubst $( TOOLCHAIN_DIR) /lib/%,$( PKG_BUILD_DIR) /%,$( wildcard $( TOOLCHAIN_DIR) /lib/libgcc_s.so.*) ) " \
-Wl,--version-script= $( LIBGCC_MAP) -Wl,-soname= libgcc_s.so.1
endef
e n d i f
d e f i n e B u i l d / C o m p i l e
$( call Build/Compile/Default)
$( call Build/Compile/libgcc)
$( call Build/Compile/$( LIBC) )
e n d e f
d e f i n e P a c k a g e / b a s e - f i l e s / i n s t a l l
@ -398,7 +446,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
define Package/libgcc/install
$( INSTALL_DIR) $( 1) /lib
$( CP) $( TOOLCHAIN_DIR) /lib /libgcc_s.so.* $( 1) /lib/
$( CP) $( PKG_BUILD_DIR) /libgcc_s.so.* $( 1) /lib/
endef
define Package/libssp/install
@ -450,6 +498,12 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
$( TOOLCHAIN_DIR) /lib/$$ $$ file-$( LIBC_SO_VERSION) .so \
$( 1) /lib/; \
done
$( CP) \
$( PKG_BUILD_DIR) /libuClibc-* \
$( PKG_BUILD_DIR) /libm-* \
$( PKG_BUILD_DIR) /libcrypt-* \
$( 1) /lib/
endef
define Package/libc/install
@ -459,9 +513,9 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
define Package/libc/install_lib
$( CP) $( filter-out %/libdl_pic.a %/libpthread_pic.a %/libresolv_pic.a,$( wildcard $( TOOLCHAIN_DIR) /lib/lib*.a) ) $( 1) /lib/
$( if $( wildcard $( TOOLCHAIN_DIR) /lib/libc_so.a) ,$( CP) $( TOOLCHAIN_DIR) /lib/libc_so.a $( 1) /lib/libc_pic.a)
$( if $( wildcard $( TOOLCHAIN_DIR) /lib/gcc/*/*/libgcc.map ) , \
$( CP) $( TOOLCHAIN_DIR) /lib/gcc/*/*/libgcc_pic.a $( 1) /lib/libgcc_s_pic.a; \
$( CP) $( TOOLCHAIN_DIR) /lib/gcc/*/*/libgcc.map $( 1) /lib/libgcc_s_pic.map \
$( if $( LIBGCC_MAP ) , \
$( CP) $( LIBGCC_A) $( 1) /lib/libgcc_s_pic.a; \
$( CP) $( LIBGCC_MAP) $( 1) /lib/libgcc_s_pic.map \
)
endef
@ -469,7 +523,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
$( INSTALL_DIR) $( 1) /lib
$( CP) \
$( TOOLCHAIN_DIR) /lib/libpthread.so.* \
$( TOOLCHAIN_DIR) /lib /libpthread-$( LIBC_SO_VERSION) .so \
$( PKG_BUILD_DIR) /libpthread-$( LIBC_SO_VERSION) .so \
$( 1) /lib/
endef