summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Samuelsson <ulf.samuelsson@atmel.com>2007-08-14 07:07:13 +0000
committerUlf Samuelsson <ulf.samuelsson@atmel.com>2007-08-14 07:07:13 +0000
commit58dc3e46ef5008caae698f482ccacf35b9e7bf94 (patch)
treeb51758e78e0759dab4c6277eb189b34fc0d58308
parent02c5d11736784ed7edf7258381efb4fad31d7602 (diff)
downloadbuildroot-novena-58dc3e46ef5008caae698f482ccacf35b9e7bf94.tar.gz
buildroot-novena-58dc3e46ef5008caae698f482ccacf35b9e7bf94.zip
Fix continous remake's of uClibc, Save .config to .oldconfig before 'conf', cleanup ARM config to avoid stop during build
-rw-r--r--toolchain/uClibc/uclibc.mk151
1 files changed, 76 insertions, 75 deletions
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index 9b3fba884..ebcc56862 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -86,6 +86,9 @@ else
UCLIBC_NOT_TARGET_ENDIAN:=LITTLE
endif
+ARM_CONFIG:=CONFIG_$(strip $(subst ",, $(BR2_ARM_TYPE)))
+#"))
+
$(DL_DIR)/$(UCLIBC_SOURCE):
$(WGET) -P $(DL_DIR) $(UCLIBC_SITE)/$(UCLIBC_SOURCE)
@@ -117,8 +120,8 @@ endif
touch $@
# Some targets may wish to provide their own UCLIBC_CONFIG_FILE...
-$(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE)
- cp -f $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.config
+$(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE)
+ cp -f $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.oldconfig
$(SED) 's,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX="$(TARGET_CROSS)",g' \
-e 's,# TARGET_$(UCLIBC_TARGET_ARCH) is not set,TARGET_$(UCLIBC_TARGET_ARCH)=y,g' \
-e 's,^TARGET_ARCH="none",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \
@@ -127,24 +130,18 @@ $(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE)
-e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
-e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \
-e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
ifeq ($(UCLIBC_TARGET_ARCH),arm)
$(SED) 's/^\(CONFIG_[^_]*[_]*ARM[^=]*\)=.*/# \1 is not set/g' \
- $(UCLIBC_DIR)/.config
- /bin/echo "CONFIG_$(BR2_ARM_TYPE)=y" >> \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
+ $(SED) 's/^.*$(ARM_CONFIG).*/$(ARM_CONFIG)=y/g' $(UCLIBC_DIR)/.oldconfig
ifeq ($(BR2_ARM_EABI),y)
- /bin/echo "# CONFIG_ARM_OABI is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "CONFIG_ARM_EABI=y" >> $(UCLIBC_DIR)/.config
+ /bin/echo "# CONFIG_ARM_OABI is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "CONFIG_ARM_EABI=y" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_ARM_OABI),y)
- /bin/echo "CONFIG_ARM_OABI=y" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_ARM_EABI is not set" >> $(UCLIBC_DIR)/.config
-endif
-ifeq ($(BR2_generic_arm),y)
- $(SED) 's,^.*CONFIG_GENERIC_ARM.*,CONFIG_GENERIC_ARM=y,g' $(UCLIBC_DIR)/.config
-else
- $(SED) 's,^.*CONFIG_GENERIC_ARM.*,# CONFIG_GENERIC_ARM is not set,g' $(UCLIBC_DIR)/.config
+ /bin/echo "CONFIG_ARM_OABI=y" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_ARM_EABI is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
endif
ifneq ($(UCLIBC_TARGET_ENDIAN),)
@@ -153,117 +150,119 @@ ifneq ($(UCLIBC_TARGET_ENDIAN),)
-e 's/.*\(ARCH_WANTS_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \
-e 's/.*\(ARCH_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
-e 's/.*\(ARCH_WANTS_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_LARGEFILE),y)
- $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.oldconfig
else
- $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.config
- $(SED) '/.*UCLIBC_HAS_FOPEN_LARGEFILE_MODE.*/d' $(UCLIBC_DIR)/.config
- echo "# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set" >> $(UCLIBC_DIR)/.config
+ $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.oldconfig
+ $(SED) '/.*UCLIBC_HAS_FOPEN_LARGEFILE_MODE.*/d' $(UCLIBC_DIR)/.oldconfig
+ echo "# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_INET_IPV6),y)
- $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,g' $(UCLIBC_DIR)/.config
-else
- $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=n,g' $(UCLIBC_DIR)/.config
-endif
-ifeq ($(BR2_USE_WCHAR),y)
- $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,g' $(UCLIBC_DIR)/.oldconfig
else
- $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=n,g' $(UCLIBC_DIR)/.oldconfig
endif
-
ifeq ($(BR2_INET_RPC),y)
$(SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=y,g' \
-e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=y,g' \
-e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=y,g' \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
else
$(SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=n,g' \
-e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=n,g' \
-e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=n,g' \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_SOFT_FLOAT),y)
$(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n,g' \
-e 's,^[^_]*HAS_FPU.*,HAS_FPU=n,g' \
-e 's,.*UCLIBC_HAS_FLOATS.*,UCLIBC_HAS_FLOATS=y,g' \
-e 's,.*DO_C99_MATH.*,DO_C99_MATH=y,g' \
- $(UCLIBC_DIR)/.config
- #$(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n\nHAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
+ #$(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n\nHAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(UCLIBC_DIR)/.oldconfig
else
$(SED) '/UCLIBC_HAS_FLOATS/d' \
-e 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=y\nHAS_FPU=y\nUCLIBC_HAS_FLOATS=y\n,g' \
- $(UCLIBC_DIR)/.config
+ $(UCLIBC_DIR)/.oldconfig
endif
- $(SED) '/UCLIBC_HAS_THREADS/d' $(UCLIBC_DIR)/.config
- $(SED) '/LINUXTHREADS/d' $(UCLIBC_DIR)/.config
- $(SED) '/LINUXTHREADS_OLD/d' $(UCLIBC_DIR)/.config
- $(SED) '/PTHREADS_DEBUG_SUPPORT/d' $(UCLIBC_DIR)/.config
- $(SED) '/UCLIBC_HAS_THREADS_NATIVE/d' $(UCLIBC_DIR)/.config
+ $(SED) '/UCLIBC_HAS_THREADS/d' $(UCLIBC_DIR)/.oldconfig
+ $(SED) '/LINUXTHREADS/d' $(UCLIBC_DIR)/.oldconfig
+ $(SED) '/LINUXTHREADS_OLD/d' $(UCLIBC_DIR)/.oldconfig
+ $(SED) '/PTHREADS_DEBUG_SUPPORT/d' $(UCLIBC_DIR)/.oldconfig
+ $(SED) '/UCLIBC_HAS_THREADS_NATIVE/d' $(UCLIBC_DIR)/.oldconfig
ifeq ($(BR2_PTHREADS_NONE),y)
- echo "# UCLIBC_HAS_THREADS is not set" >> $(UCLIBC_DIR)/.config
+ echo "# UCLIBC_HAS_THREADS is not set" >> $(UCLIBC_DIR)/.oldconfig
else
- echo "UCLIBC_HAS_THREADS=y" >> $(UCLIBC_DIR)/.config
+ echo "UCLIBC_HAS_THREADS=y" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_PTHREADS),y)
- echo "LINUXTHREADS=y" >> $(UCLIBC_DIR)/.config
+ echo "LINUXTHREADS=y" >> $(UCLIBC_DIR)/.oldconfig
else
- echo "# LINUXTHREADS is not set" >> $(UCLIBC_DIR)/.config
+ echo "# LINUXTHREADS is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_PTHREADS_OLD),y)
- echo "LINUXTHREADS_OLD=y" >> $(UCLIBC_DIR)/.config
+ echo "LINUXTHREADS_OLD=y" >> $(UCLIBC_DIR)/.oldconfig
else
- echo "# LINUXTHREADS_OLD is not set" >> $(UCLIBC_DIR)/.config
+ echo "# LINUXTHREADS_OLD is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_PTHREADS_NATIVE),y)
- echo "UCLIBC_HAS_THREADS_NATIVE=y" >> $(UCLIBC_DIR)/.config
+ echo "UCLIBC_HAS_THREADS_NATIVE=y" >> $(UCLIBC_DIR)/.oldconfig
else
- echo "# UCLIBC_HAS_THREADS_NATIVE is not set" >> $(UCLIBC_DIR)/.config
+ echo "# UCLIBC_HAS_THREADS_NATIVE is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_PTHREAD_DEBUG),y)
- echo "PTHREADS_DEBUG_SUPPORT=y" >> $(UCLIBC_DIR)/.config
+ echo "PTHREADS_DEBUG_SUPPORT=y" >> $(UCLIBC_DIR)/.oldconfig
else
- echo "# PTHREADS_DEBUG_SUPPORT is not set" >> $(UCLIBC_DIR)/.config
+ echo "# PTHREADS_DEBUG_SUPPORT is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_ENABLE_LOCALE),y)
- $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y\nUCLIBC_PREGENERATED_LOCALE_DATA=y\nUCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y\nUCLIBC_HAS_XLOCALE=y\nUCLIBC_HAS_GLIBC_DIGIT_GROUPING=n\n,g' $(UCLIBC_DIR)/.config
- $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y\nUCLIBC_PREGENERATED_LOCALE_DATA=y\nUCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=y\nUCLIBC_HAS_XLOCALE=y\nUCLIBC_HAS_GLIBC_DIGIT_GROUPING=n\n,g' $(UCLIBC_DIR)/.oldconfig
+ $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.oldconfig
+else
+ $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=n,g' $(UCLIBC_DIR)/.oldconfig
+ $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig
+endif
+ifeq ($(BR2_USE_WCHAR),y)
+ $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.oldconfig
else
- $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=n,g' $(UCLIBC_DIR)/.config
- $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig
endif
ifeq ("$(KERNEL_ARCH)","i386")
- /bin/echo "# CONFIG_GENERIC_386 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_386 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_486 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_586 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_586MMX is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_686 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_PENTIUMII is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_PENTIUMIII is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_PENTIUM4 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_K6 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_K7 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_ELAN is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_CRUSOE is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_WINCHIPC6 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_WINCHIP2 is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_CYRIXIII is not set" >> $(UCLIBC_DIR)/.config
- /bin/echo "# CONFIG_NEHEMIAH is not set" >> $(UCLIBC_DIR)/.config
+ /bin/echo "# CONFIG_GENERIC_386 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_386 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_486 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_586 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_586MMX is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_686 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_PENTIUMII is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_PENTIUMIII is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_PENTIUM4 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_K6 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_K7 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_ELAN is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_CRUSOE is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_WINCHIPC6 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_WINCHIP2 is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_CYRIXIII is not set" >> $(UCLIBC_DIR)/.oldconfig
+ /bin/echo "# CONFIG_NEHEMIAH is not set" >> $(UCLIBC_DIR)/.oldconfig
ifeq ($(BR2_x86_i386),y)
- $(SED) 's,# CONFIG_386 is not set,CONFIG_386=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,# CONFIG_386 is not set,CONFIG_386=y,g' $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_x86_i486),y)
- $(SED) 's,# CONFIG_486 is not set,CONFIG_486=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,# CONFIG_486 is not set,CONFIG_486=y,g' $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_x86_i586),y)
- $(SED) 's,# CONFIG_586 is not set,CONFIG_586=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,# CONFIG_586 is not set,CONFIG_586=y,g' $(UCLIBC_DIR)/.oldconfig
endif
ifeq ($(BR2_x86_i686),y)
- $(SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $(UCLIBC_DIR)/.config
+ $(SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $(UCLIBC_DIR)/.oldconfig
endif
endif
+
+$(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.oldconfig
+ cp -f $(UCLIBC_DIR)/.oldconfig $(UCLIBC_DIR)/.config
mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/usr/include
mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/usr/lib
mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/lib
@@ -371,7 +370,7 @@ $(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/usr/lib/libc.a
install_runtime
touch -c $@
-$(TARGET_DIR)/usr/bin/ldd: gcc
+$(TARGET_DIR)/usr/bin/ldd: $(TARGET_CROSS)gcc
$(MAKE1) -C $(UCLIBC_DIR) CC=$(TARGET_CROSS)gcc \
CPP=$(TARGET_CROSS)cpp LD=$(TARGET_CROSS)ld \
PREFIX=$(TARGET_DIR) utils install_utils
@@ -389,7 +388,9 @@ uclibc: $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc $(STAGING_DIR)/usr/li
uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE)
-uclibc-config: $(UCLIBC_DIR)/.config
+uclibc-config: host-sed $(UCLIBC_DIR)/.config
+
+uclibc-oldconfig: host-sed $(UCLIBC_DIR)/.oldconfig
uclibc-configured: kernel-headers $(UCLIBC_DIR)/.configured