summaryrefslogtreecommitdiffstats
path: root/make/uclibc.mk
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2003-11-01 05:34:41 +0000
committerManuel Novoa III <mjn3@codepoet.org>2003-11-01 05:34:41 +0000
commitd632d42b34888f169a9394f2c5ce64ccca75a5cb (patch)
tree34a6836f3c2c2623dbee1731f96498d17476f5dd /make/uclibc.mk
parentb5f7712c837fd770bed24b1a904715b5fd057b78 (diff)
downloadbuildroot-novena-d632d42b34888f169a9394f2c5ce64ccca75a5cb.tar.gz
buildroot-novena-d632d42b34888f169a9394f2c5ce64ccca75a5cb.zip
Enable building soft float buildroot for gcc 3.3. Currently works for
i386 (limited to 64 bit long double... same as double), arm (libfloat), mips, and mipsel. Enable cross compiling a native gcc 3.3 toolchain to run on the target. Misc rootfs cleanups... strip some things that weren't, eliminate duplicate libs, move openssl shared libs out of /lib, reduce size of libssl.so by dynamicly linking with libcrypto.so, fix dropbear compile on mips.
Diffstat (limited to 'make/uclibc.mk')
-rw-r--r--make/uclibc.mk26
1 files changed, 21 insertions, 5 deletions
diff --git a/make/uclibc.mk b/make/uclibc.mk
index db111ce75..e6ab1652a 100644
--- a/make/uclibc.mk
+++ b/make/uclibc.mk
@@ -44,10 +44,14 @@ endif
perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' \
$(UCLIBC_DIR)/.config
perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' \
- $(UCLIBC_DIR)/.config
- perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=$(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc,g' \
+ $(UCLIBC_DIR)/.conf
+ if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
+ perl -i -p -e 's,.*HAS_FPU.*,# HAS_FPU is not set\nUCLIBC_HAS_SOFT_FLOAT=y,g' \
+ $(UCLIBC_DIR)/.config; \
+ fi
+ perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=$(STAGING_DIR)/bin/$(ARCH)-linux-gcc,g' \
$(UCLIBC_DIR)/extra/gcc-uClibc/Makefile
- perl -i -p -e 's,^LD_BIN.*,LD_BIN=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ld,g' \
+ perl -i -p -e 's,^LD_BIN.*,LD_BIN=$(STAGING_DIR)/bin/$(ARCH)-linux-ld,g' \
$(UCLIBC_DIR)/extra/gcc-uClibc/Makefile
$(MAKE) -C $(UCLIBC_DIR) oldconfig
$(MAKE) -C $(UCLIBC_DIR) pregen
@@ -55,7 +59,7 @@ endif
$(MAKE) -C $(UCLIBC_DIR) install_dev;
touch $(UCLIBC_DIR)/.configured
-$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured
+$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(LIBFLOAT_TARGET)
$(MAKE) -C $(UCLIBC_DIR)
$(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
@@ -77,7 +81,7 @@ endif
uclibc-configured: $(UCLIBC_DIR)/.configured
-uclibc: $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc $(STAGING_DIR)/lib/libc.a \
+uclibc: $(STAGING_DIR)/bin/$(ARCH)-linux-gcc $(STAGING_DIR)/lib/libc.a \
$(UCLIBC_TARGETS)
uclibc-clean:
@@ -112,6 +116,18 @@ $(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/lib/libc.a
ln -fs /lib/libm.so.0 libm.so; \
ln -fs /lib/libpthread.so.0 libpthread.so; \
ln -fs /lib/libnsl.so.0 libnsl.so; \
+ \
+ ln -fs /lib/libthread_db.so.1 libthread_db.so; \
+ rm -f ld-uClibc-0.9.21.so; \
+ rm -f libcrypt-0.9.21.so; \
+ rm -f libdl-0.9.21.so; \
+ rm -f libm-0.9.21.so; \
+ rm -f libnsl-0.9.21.so; \
+ rm -f libpthread-0.9.21.so; \
+ rm -f libresolv-0.9.21.so; \
+ rm -f libuClibc-0.9.21.so; \
+ rm -f libutil-0.9.21.so; \
+ rm -f libthread_db-0.9.21.so; \
)
ifeq ($(USE_UCLIBC_TOOLCHAIN),true)