diff options
author | Khem Raj <raj.khem@gmail.com> | 2008-07-25 01:12:06 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2008-07-25 01:12:06 +0000 |
commit | e96e82cd7ee95d712e2c68f2f9540bdfe727645b (patch) | |
tree | 39cdeb09343849bef85eba68c048b9f3b670ac9b /packages/uclibc | |
parent | a3e73146adce111fe67af0886a43acbf7a654bd7 (diff) |
Change the toolchain build sequence. Helps in reproducable toolchains components when recompiled. Also same sequence for all different combinations (uclibc/nptl/eglibc/glibc/linuxthreads). Also fixes and patches that I worked to get various ancient compilers working.
Diffstat (limited to 'packages/uclibc')
-rw-r--r-- | packages/uclibc/bfin-uclibc_svn.bb | 2 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.27/uclibc-makevars-in-quotes.patch | 25 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.28/uclibc-libgcc-eh.patch | 38 | ||||
-rw-r--r-- | packages/uclibc/uclibc-initial_0.9.26.bb | 16 | ||||
-rw-r--r-- | packages/uclibc/uclibc-initial_0.9.27.bb | 17 | ||||
-rw-r--r-- | packages/uclibc/uclibc-initial_0.9.28.bb | 17 | ||||
-rw-r--r-- | packages/uclibc/uclibc-initial_0.9.29.bb | 9 | ||||
-rw-r--r-- | packages/uclibc/uclibc-initial_svn.bb | 10 | ||||
-rw-r--r-- | packages/uclibc/uclibc.inc | 5 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.26.bb | 2 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.27.bb | 3 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.28.bb | 3 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.29.bb | 4 | ||||
-rw-r--r-- | packages/uclibc/uclibc_svn.bb | 2 |
14 files changed, 129 insertions, 24 deletions
diff --git a/packages/uclibc/bfin-uclibc_svn.bb b/packages/uclibc/bfin-uclibc_svn.bb index 5e71ddb490..cccb5d6527 100644 --- a/packages/uclibc/bfin-uclibc_svn.bb +++ b/packages/uclibc/bfin-uclibc_svn.bb @@ -7,7 +7,7 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.29" -PR = "r1" +PR = "r2" PV = "${UCLIBC_BASE}+svnr${SRCREV}" require uclibc.inc diff --git a/packages/uclibc/uclibc-0.9.27/uclibc-makevars-in-quotes.patch b/packages/uclibc/uclibc-0.9.27/uclibc-makevars-in-quotes.patch new file mode 100644 index 0000000000..ce67e8f764 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.27/uclibc-makevars-in-quotes.patch @@ -0,0 +1,25 @@ +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: uClibc-0.9.27/Makefile +=================================================================== +--- uClibc-0.9.27.orig/Makefile 2008-07-23 20:05:34.000000000 -0700 ++++ uClibc-0.9.27/Makefile 2008-07-23 20:06:27.000000000 -0700 +@@ -243,14 +243,14 @@ endif + .PHONY: utils + ifeq ($(strip $(HAVE_SHARED)),y) + utils: +- $(MAKE) CROSS=$(CROSS) CC=$(CC) -C utils ++ $(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils + else + utils: dummy + endif + + # Installs helper applications, such as 'ldd' and 'ldconfig' + install_utils: utils +- $(MAKE) CROSS=$(CROSS) CC=$(CC) -C utils install ++ $(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils install + #ifeq ($(strip $(UCLIBC_HAS_LOCALE)),y) + # @$(MAKE) -C libc/misc/wchar iconv.target + # $(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)/usr/bin; diff --git a/packages/uclibc/uclibc-0.9.28/uclibc-libgcc-eh.patch b/packages/uclibc/uclibc-0.9.28/uclibc-libgcc-eh.patch new file mode 100644 index 0000000000..0f66c1526f --- /dev/null +++ b/packages/uclibc/uclibc-0.9.28/uclibc-libgcc-eh.patch @@ -0,0 +1,38 @@ +--- + Rules.mak | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +Index: uClibc-0.9.28/Rules.mak +=================================================================== +--- uClibc-0.9.28.orig/Rules.mak 2005-08-17 15:49:49.000000000 -0700 ++++ uClibc-0.9.28/Rules.mak 2008-07-22 23:35:10.000000000 -0700 +@@ -37,7 +37,8 @@ + # will build uClibc for 'arm'. + + ifndef CROSS +-CROSS= ++TARGET_ARCH=arm ++CROSS=arm-angstrom-linux-uclibcgnueabi- + endif + CC = $(CROSS)gcc + AR = $(CROSS)ar +@@ -85,7 +86,8 @@ ifeq ($(filter $(noconfig_targets),$(MAK + endif + + ifndef CROSS +-CROSS=$(subst ",, $(strip $(CROSS_COMPILER_PREFIX))) ++TARGET_ARCH=arm ++CROSS=arm-angstrom-linux-uclibcgnueabi- + endif + + # A nifty macro to make testing gcc features easier +@@ -337,6 +339,9 @@ ASFLAGS += $(ASFLAGS_NOEXEC) + LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y) + LIBGCC:=$(shell $(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name) + LIBGCC_DIR:=$(dir $(LIBGCC)) ++ifneq ($(shell $(CC) $(LIBGCC_CFLAGS) -print-file-name=libgcc_eh.a),libgcc_eh.a) ++ LIBGCC += $(shell $(CC) $(LIBGCC_CFLAGS) -print-file-name=libgcc_eh.a) ++endif + + ######################################## + # diff --git a/packages/uclibc/uclibc-initial_0.9.26.bb b/packages/uclibc/uclibc-initial_0.9.26.bb index c29a498a96..a6a83bdce9 100644 --- a/packages/uclibc/uclibc-initial_0.9.26.bb +++ b/packages/uclibc/uclibc-initial_0.9.26.bb @@ -3,20 +3,28 @@ require uclibc_${PV}.bb FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" -DEPENDS = "linux-libc-headers" +DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" do_stage() { # Install initial headers into the cross dir - make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ pregen install_dev + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + libc/sysdeps/linux/${TARGET_ARCH}/crt0.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crti.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crtn.o ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header - rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h + rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h + install -m 644 libc/sysdeps/linux/${TARGET_ARCH}/crt[0in].o ${UCLIBC_STAGE_PREFIX}/lib + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so } do_install() { diff --git a/packages/uclibc/uclibc-initial_0.9.27.bb b/packages/uclibc/uclibc-initial_0.9.27.bb index c29a498a96..3aecd802af 100644 --- a/packages/uclibc/uclibc-initial_0.9.27.bb +++ b/packages/uclibc/uclibc-initial_0.9.27.bb @@ -3,20 +3,29 @@ require uclibc_${PV}.bb FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" -DEPENDS = "linux-libc-headers" +DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" do_stage() { # Install initial headers into the cross dir - make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ pregen install_dev + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + libc/sysdeps/linux/${TARGET_ARCH}/crt0.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crti.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crtn.o ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header - rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h + rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h + install -m 644 libc/sysdeps/linux/${TARGET_ARCH}/crt[0in].o ${UCLIBC_STAGE_PREFIX}/lib + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so + } do_install() { diff --git a/packages/uclibc/uclibc-initial_0.9.28.bb b/packages/uclibc/uclibc-initial_0.9.28.bb index c29a498a96..4bfbdb6d16 100644 --- a/packages/uclibc/uclibc-initial_0.9.28.bb +++ b/packages/uclibc/uclibc-initial_0.9.28.bb @@ -3,20 +3,29 @@ require uclibc_${PV}.bb FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" -DEPENDS = "linux-libc-headers" +DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" do_stage() { # Install initial headers into the cross dir - make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGING_PREFIX}/ \ + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ pregen install_dev + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + libc/sysdeps/linux/${TARGET_ARCH}/crt1.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crti.o \ + libc/sysdeps/linux/${TARGET_ARCH}/crtn.o ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header - rm -f ${UCLIBC_STAGING_PREFIX}/include/bits/atomicity.h + rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h + install -m 644 libc/sysdeps/linux/${TARGET_ARCH}/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so + } do_install() { diff --git a/packages/uclibc/uclibc-initial_0.9.29.bb b/packages/uclibc/uclibc-initial_0.9.29.bb index e75f612b88..c56e5fb2f5 100644 --- a/packages/uclibc/uclibc-initial_0.9.29.bb +++ b/packages/uclibc/uclibc-initial_0.9.29.bb @@ -3,7 +3,7 @@ require uclibc_${PV}.bb FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" -DEPENDS = "linux-libc-headers ncurses-native" +DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" @@ -12,12 +12,19 @@ do_stage() { make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ pregen install_dev + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + lib/crt1.o lib/crti.o lib/crtn.o install -d ${CROSS_DIR}/${TARGET_SYS} ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h + install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so + } do_install() { diff --git a/packages/uclibc/uclibc-initial_svn.bb b/packages/uclibc/uclibc-initial_svn.bb index f3496839ff..9dad654ca4 100644 --- a/packages/uclibc/uclibc-initial_svn.bb +++ b/packages/uclibc/uclibc-initial_svn.bb @@ -3,7 +3,7 @@ require uclibc_svn.bb FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" -DEPENDS = "linux-libc-headers ncurses-native" +DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" @@ -11,12 +11,18 @@ do_stage() { # Install initial headers into the cross dir make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - pregen install_dev + install_headers + make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + lib/crt1.o lib/crti.o lib/crtn.o ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h + install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${UCLIBC_STAGE_PREFIX}/lib/libc.so } do_install() { diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc index 861568c06e..544d760e99 100644 --- a/packages/uclibc/uclibc.inc +++ b/packages/uclibc/uclibc.inc @@ -22,7 +22,7 @@ python __anonymous () { PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES += "${@['virtual/libiconv', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']}" DEPENDS = "virtual/${TARGET_PREFIX}binutils \ - virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers ncurses-native" + virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers ncurses-native pax-utils-native" RDEPENDS_${PN}-dev = "linux-libc-headers-dev" # Blackfin needs a wrapper around ld @@ -73,7 +73,8 @@ UCLIBC_STAGE_PREFIX = "${STAGING_DIR_HOST}${layout_prefix}" # the CFLAGS (for when building the utils). OEMAKE_NO_CC = "'STRIPTOOL=true' 'LD=${LD}' \ 'LOCALE_DATA_FILENAME=${UCLIBC_LOCALE_FILE}'" -EXTRA_OEMAKE = "${OEMAKE_NO_CC} 'CC=${CC}' HOSTCFLAGS='-I${STAGING_INCDIR_NATIVE}'" +EXTRA_OEMAKE = "${OEMAKE_NO_CC} 'CC=${CC}' \ + 'HOSTCFLAGS=-I${STAGING_INCDIR_NATIVE}'" EXTRA_OEMAKE_task_do_populate_staging = "${OEMAKE_NO_CC}" EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" diff --git a/packages/uclibc/uclibc_0.9.26.bb b/packages/uclibc/uclibc_0.9.26.bb index 865d373a43..1c52500ee6 100644 --- a/packages/uclibc/uclibc_0.9.26.bb +++ b/packages/uclibc/uclibc_0.9.26.bb @@ -1,4 +1,4 @@ -PR = "r9" +PR = "r10" require uclibc.inc diff --git a/packages/uclibc/uclibc_0.9.27.bb b/packages/uclibc/uclibc_0.9.27.bb index d1686f5772..f730ad8a27 100644 --- a/packages/uclibc/uclibc_0.9.27.bb +++ b/packages/uclibc/uclibc_0.9.27.bb @@ -1,5 +1,5 @@ DEFAULT_PREFERENCE = "1" -PR = "r9" +PR = "r10" require uclibc.inc @@ -19,6 +19,7 @@ SRC_URI += "${PATCH_ipc_h}" SRC_URI += " file://thumb-swi.patch;patch=1" SRC_URI += " file://thumb-swp.patch;patch=1" SRC_URI += " file://arm-thumb-defined.patch;patch=1" +SRC_URI += " file://uclibc-makevars-in-quotes.patch;patch=1" # ARM thumb interworking - these changes fix various bugs in the # uclibc implementation of thumb interwork support, but they are diff --git a/packages/uclibc/uclibc_0.9.28.bb b/packages/uclibc/uclibc_0.9.28.bb index eb3bb50083..1b2fc325d5 100644 --- a/packages/uclibc/uclibc_0.9.28.bb +++ b/packages/uclibc/uclibc_0.9.28.bb @@ -1,5 +1,5 @@ DEFAULT_PREFERENCE = "1" -PR = "r13" +PR = "r14" require uclibc.inc @@ -34,6 +34,7 @@ THUMBSTUFF = " \ file://dl-startup.h.patch;patch=1 \ file://dl-string.h.patch;patch=1 \ file://dl-sysdep.h.patch;patch=1 \ + file://uclibc-libgcc-eh.patch;patch=1 \ " SRC_URI_append_arm = " ${THUMBSTUFF} " diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb index 4565f7dbb4..8368903277 100644 --- a/packages/uclibc/uclibc_0.9.29.bb +++ b/packages/uclibc/uclibc_0.9.29.bb @@ -7,8 +7,8 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.29" -PR = "r19" -DEFAULT_PREFERENCE = "3" +PR = "r20" +DEFAULT_PREFERENCE = "1" require uclibc.inc diff --git a/packages/uclibc/uclibc_svn.bb b/packages/uclibc/uclibc_svn.bb index a357808745..f774fd90ee 100644 --- a/packages/uclibc/uclibc_svn.bb +++ b/packages/uclibc/uclibc_svn.bb @@ -8,7 +8,7 @@ # UCLIBC_BASE ?= "0.9.29" PV = "${UCLIBC_BASE}+svnr${SRCREV}" -PR = "r10" +PR = "r11" #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take # precedence. |