diff options
-rw-r--r-- | meta/conf/distro/include/poky-eabi-csl2005q3-2.inc | 21 | ||||
-rw-r--r-- | meta/packages/binutils/binutils-cross_csl-arm-2005q3-2.bb | 34 | ||||
-rw-r--r-- | meta/packages/binutils/binutils_csl-arm-2005q3-2.bb | 137 | ||||
-rw-r--r-- | meta/packages/gcc/gcc-cross_csl-arm-2005q3-2.bb | 16 | ||||
-rw-r--r-- | meta/packages/gcc/gcc_csl-arm-2005q3-2.bb | 27 | ||||
-rw-r--r-- | meta/packages/glibc/files/nptl-crosscompile-2.3.6.patch | 175 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-initial_csl-2005q3-2.bb | 46 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb | 16 | ||||
-rw-r--r-- | meta/packages/glibc/glibc_csl-2005q3-2.bb | 155 | ||||
-rw-r--r-- | meta/packages/linux-libc-headers/linux-libc-headers_csl-arm-2005q3-2.bb | 88 |
10 files changed, 715 insertions, 0 deletions
diff --git a/meta/conf/distro/include/poky-eabi-csl2005q3-2.inc b/meta/conf/distro/include/poky-eabi-csl2005q3-2.inc new file mode 100644 index 0000000000..0235e91028 --- /dev/null +++ b/meta/conf/distro/include/poky-eabi-csl2005q3-2.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | # | ||
2 | # Poky configuration to use EABI | ||
3 | # | ||
4 | |||
5 | PREFERRED_PROVIDER_virtual/arm-poky-linux-gnueabi-libc-for-gcc = "glibc-intermediate" | ||
6 | PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate" | ||
7 | |||
8 | PREFERRED_VERSION_gcc ?= "3.4.4+csl-arm-2005q3-2" | ||
9 | PREFERRED_VERSION_gcc-cross ?= "3.4.4+csl-arm-2005q3-2" | ||
10 | PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4+csl-arm-2005q3-2" | ||
11 | PREFERRED_VERSION_binutils ?= "2.16+csl-arm-2005q3-2" | ||
12 | PREFERRED_VERSION_binutils-cross ?= "2.16+csl-arm-2005q3-2" | ||
13 | PREFERRED_VERSION_glibc ?= "2.3.6+csl-arm-2005q3-2" | ||
14 | PREFERRED_VERSION_glibc-intermediate ?= "2.3.6+csl-arm-2005q3-2" | ||
15 | |||
16 | PREFERRED_VERSION_linux-libc-headers ?= "2.6.12rc3+csl-arm-2005q3-2" | ||
17 | |||
18 | #Use the ARM EABI when building for an ARM cpu. We can't use overrides | ||
19 | #here because this breaks all places where ":=" is used. | ||
20 | TARGET_VENDOR = "${@['','-poky'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" | ||
21 | TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" | ||
diff --git a/meta/packages/binutils/binutils-cross_csl-arm-2005q3-2.bb b/meta/packages/binutils/binutils-cross_csl-arm-2005q3-2.bb new file mode 100644 index 0000000000..142dc46935 --- /dev/null +++ b/meta/packages/binutils/binutils-cross_csl-arm-2005q3-2.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SECTION = "devel" | ||
2 | require binutils_csl-arm-2005q3.bb | ||
3 | inherit cross | ||
4 | DEPENDS += "flex-native bison-native" | ||
5 | PROVIDES = "virtual/${TARGET_PREFIX}binutils" | ||
6 | FILESDIR = "${FILE_DIRNAME}/binutils-{PV}" | ||
7 | PACKAGES = "" | ||
8 | EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \ | ||
9 | --program-prefix=${TARGET_PREFIX}" | ||
10 | |||
11 | S = "${WORKDIR}/binutils-2.17pre" | ||
12 | |||
13 | do_stage () { | ||
14 | oe_runmake install | ||
15 | |||
16 | # We don't really need these, so we'll remove them... | ||
17 | rm -rf ${CROSS_DIR}/lib/ldscripts | ||
18 | rm -rf ${CROSS_DIR}/share/info | ||
19 | rm -rf ${CROSS_DIR}/share/locale | ||
20 | rm -rf ${CROSS_DIR}/share/man | ||
21 | rmdir ${CROSS_DIR}/share || : | ||
22 | rmdir ${CROSS_DIR}/${libdir}/gcc-lib || : | ||
23 | rmdir ${CROSS_DIR}/${libdir} || : | ||
24 | rmdir ${CROSS_DIR}/${prefix} || : | ||
25 | |||
26 | # We want to move this into the target specific location | ||
27 | mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib | ||
28 | mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib | ||
29 | rmdir ${CROSS_DIR}/lib || : | ||
30 | } | ||
31 | |||
32 | do_install () { | ||
33 | : | ||
34 | } | ||
diff --git a/meta/packages/binutils/binutils_csl-arm-2005q3-2.bb b/meta/packages/binutils/binutils_csl-arm-2005q3-2.bb new file mode 100644 index 0000000000..c5e71af196 --- /dev/null +++ b/meta/packages/binutils/binutils_csl-arm-2005q3-2.bb | |||
@@ -0,0 +1,137 @@ | |||
1 | DESCRIPTION = "A GNU collection of binary utilities" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/binutils/" | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "GPL" | ||
5 | DEFAULT_PREFERENCE = "-1" | ||
6 | |||
7 | BINV = "2.16" | ||
8 | PV = "2.16+csl-arm-2005q3-2" | ||
9 | |||
10 | FILESDIR = "${FILE_DIRNAME}/binutils-${PV}" | ||
11 | |||
12 | S = "${WORKDIR}/binutils-2.17pre" | ||
13 | |||
14 | inherit autotools gettext | ||
15 | |||
16 | PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks" | ||
17 | |||
18 | FILES_${PN} = " \ | ||
19 | ${bindir}/${TARGET_PREFIX}* \ | ||
20 | ${libdir}/lib*-*.so \ | ||
21 | ${prefix}/${TARGET_SYS}/bin/*" | ||
22 | |||
23 | FILES_${PN}-dev = " \ | ||
24 | ${includedir} \ | ||
25 | ${libdir}/*.a \ | ||
26 | ${libdir}/*.la \ | ||
27 | ${libdir}/libbfd.so \ | ||
28 | ${libdir}/libopcodes.so" | ||
29 | |||
30 | FILES_${PN}-symlinks = " \ | ||
31 | ${bindir}/addr2line \ | ||
32 | ${bindir}/ar \ | ||
33 | ${bindir}/as \ | ||
34 | ${bindir}/c++filt \ | ||
35 | ${bindir}/gprof \ | ||
36 | ${bindir}/ld \ | ||
37 | ${bindir}/nm \ | ||
38 | ${bindir}/objcopy \ | ||
39 | ${bindir}/objdump \ | ||
40 | ${bindir}/ranlib \ | ||
41 | ${bindir}/readelf \ | ||
42 | ${bindir}/size \ | ||
43 | ${bindir}/strings \ | ||
44 | ${bindir}/strip" | ||
45 | |||
46 | SRC_URI = \ | ||
47 | "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2005q3-2-arm-none-linux-gnueabi.src.tar.bz2 \ | ||
48 | # file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1;pnum=1\ | ||
49 | # file://binutils-uclibc-100-uclibc-conf.patch;patch=1;pnum=1 \ | ||
50 | # file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1;pnum=1 \ | ||
51 | # file://binutils-uclibc-300-006_better_file_error.patch;patch=1;pnum=1 \ | ||
52 | # file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1;pnum=1 \ | ||
53 | # file://binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch;patch=1;pnum=1 \ | ||
54 | # file://binutils-uclibc-702-binutils-skip-comments.patch;patch=1;pnum=1 \ | ||
55 | " | ||
56 | do_unpack2() { | ||
57 | cd ${WORKDIR} | ||
58 | pwd | ||
59 | tar -xvjf ./arm-2005q3-2-arm-none-linux-gnueabi/binutils-2005q3-2.tar.bz2 | ||
60 | } | ||
61 | |||
62 | addtask unpack2 after do_unpack before do_patch | ||
63 | |||
64 | B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" | ||
65 | |||
66 | EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \ | ||
67 | --enable-shared" | ||
68 | |||
69 | # This is necessary due to a bug in the binutils Makefiles | ||
70 | EXTRA_OEMAKE = "configure-build-libiberty all" | ||
71 | |||
72 | export AR = "${HOST_PREFIX}ar" | ||
73 | export AS = "${HOST_PREFIX}as" | ||
74 | export LD = "${HOST_PREFIX}ld" | ||
75 | export NM = "${HOST_PREFIX}nm" | ||
76 | export RANLIB = "${HOST_PREFIX}ranlib" | ||
77 | export OBJCOPY = "${HOST_PREFIX}objcopy" | ||
78 | export OBJDUMP = "${HOST_PREFIX}objdump" | ||
79 | |||
80 | export AR_FOR_TARGET = "${TARGET_PREFIX}ar" | ||
81 | export AS_FOR_TARGET = "${TARGET_PREFIX}as" | ||
82 | export LD_FOR_TARGET = "${TARGET_PREFIX}ld" | ||
83 | export NM_FOR_TARGET = "${TARGET_PREFIX}nm" | ||
84 | export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" | ||
85 | |||
86 | export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" | ||
87 | export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" | ||
88 | |||
89 | export CC_FOR_BUILD = "${BUILD_CC}" | ||
90 | export CPP_FOR_BUILD = "${BUILD_CPP}" | ||
91 | export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}" | ||
92 | |||
93 | export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}" | ||
94 | |||
95 | do_configure () { | ||
96 | (cd ${S}; gnu-configize) || die "Failed to run gnu-configize" | ||
97 | oe_runconf | ||
98 | } | ||
99 | |||
100 | do_stage () { | ||
101 | oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/ | ||
102 | oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/ | ||
103 | oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/ | ||
104 | install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/ | ||
105 | install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/ | ||
106 | install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/ | ||
107 | install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/ | ||
108 | install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/ | ||
109 | install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/ | ||
110 | } | ||
111 | |||
112 | do_install () { | ||
113 | autotools_do_install | ||
114 | |||
115 | # We don't really need these, so we'll remove them... | ||
116 | rm -rf ${D}${libdir}/ldscripts | ||
117 | |||
118 | # Fix the /usr/${TARGET_SYS}/bin/* links | ||
119 | for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do | ||
120 | rm -f $l | ||
121 | ln -sf `echo ${prefix}/${TARGET_SYS}/bin \ | ||
122 | | tr -s / \ | ||
123 | | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l | ||
124 | done | ||
125 | |||
126 | # Install the libiberty header | ||
127 | install -d ${D}${includedir} | ||
128 | install -m 644 ${S}/include/ansidecl.h ${D}${includedir} | ||
129 | install -m 644 ${S}/include/libiberty.h ${D}${includedir} | ||
130 | |||
131 | cd ${D}${bindir} | ||
132 | |||
133 | # Symlinks for ease of running these on the native target | ||
134 | for p in ${TARGET_SYS}-* ; do | ||
135 | ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,` | ||
136 | done | ||
137 | } | ||
diff --git a/meta/packages/gcc/gcc-cross_csl-arm-2005q3-2.bb b/meta/packages/gcc/gcc-cross_csl-arm-2005q3-2.bb new file mode 100644 index 0000000000..d14419191c --- /dev/null +++ b/meta/packages/gcc/gcc-cross_csl-arm-2005q3-2.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | require gcc_csl-arm-2005q3.bb | ||
2 | # path mangling, needed by the cross packaging | ||
3 | require gcc-paths-cross.inc | ||
4 | inherit cross | ||
5 | # NOTE: split PR. If the main .oe changes something that affects its *build* | ||
6 | # remember to increment this one too. | ||
7 | PR = "r0" | ||
8 | PV = "3.4.4+csl-arm-2005q3-2" | ||
9 | |||
10 | DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" | ||
11 | PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" | ||
12 | |||
13 | # cross build | ||
14 | require gcc3-build-cross.inc | ||
15 | # cross packaging | ||
16 | require gcc-package-cross.inc | ||
diff --git a/meta/packages/gcc/gcc_csl-arm-2005q3-2.bb b/meta/packages/gcc/gcc_csl-arm-2005q3-2.bb new file mode 100644 index 0000000000..6a39587235 --- /dev/null +++ b/meta/packages/gcc/gcc_csl-arm-2005q3-2.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DESCRIPTION = "The GNU cc and gcc C compilers." | ||
2 | HOMEPAGE = "http://www.gnu.org/software/gcc/" | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "GPL" | ||
5 | BINV = "3.4.4" | ||
6 | PV = "3.4.4+csl-arm-2005q3-2" | ||
7 | PR = "r1" | ||
8 | |||
9 | FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm" | ||
10 | |||
11 | inherit autotools gettext | ||
12 | |||
13 | require gcc-package.inc | ||
14 | |||
15 | SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2005q3-2-arm-none-linux-gnueabi.src.tar.bz2" | ||
16 | |||
17 | do_unpack2() { | ||
18 | cd ${WORKDIR} | ||
19 | tar -xvjf ./arm-2005q3-2-arm-none-linux-gnueabi/gcc-2005q3-2.tar.bz2 | ||
20 | rm -rf ./arm-2005q3-2-arm-none-linux-gnueabi | ||
21 | } | ||
22 | |||
23 | addtask unpack2 after do_unpack before do_patch | ||
24 | |||
25 | require gcc3-build.inc | ||
26 | |||
27 | S = "${WORKDIR}/gcc-2005q3" | ||
diff --git a/meta/packages/glibc/files/nptl-crosscompile-2.3.6.patch b/meta/packages/glibc/files/nptl-crosscompile-2.3.6.patch new file mode 100644 index 0000000000..2df3cd998b --- /dev/null +++ b/meta/packages/glibc/files/nptl-crosscompile-2.3.6.patch | |||
@@ -0,0 +1,175 @@ | |||
1 | diff | ||
2 | --- glibc-2.3.6/nptl/sysdeps/pthread/configure.in.orig 2006-09-14 11:12:16.000000000 +0100 | ||
3 | +++ glibc-2.3.6/nptl/sysdeps/pthread/configure.in 2006-09-14 11:12:16.000000000 +0100 | ||
4 | @@ -21,29 +21,4 @@ | ||
5 | |||
6 | dnl Iff <unwind.h> is available, make sure it is the right one and it | ||
7 | dnl contains struct _Unwind_Exception. | ||
8 | -AC_CACHE_CHECK(dnl | ||
9 | -for forced unwind support, libc_cv_forced_unwind, [dnl | ||
10 | -AC_TRY_LINK([#include <unwind.h>], [ | ||
11 | -struct _Unwind_Exception exc; | ||
12 | -struct _Unwind_Context *context; | ||
13 | -_Unwind_GetCFA (context)], | ||
14 | -libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) | ||
15 | -if test $libc_cv_forced_unwind = yes; then | ||
16 | - AC_DEFINE(HAVE_FORCED_UNWIND) | ||
17 | -dnl Check for C cleanup handling. | ||
18 | - old_CFLAGS="$CFLAGS" | ||
19 | - CFLAGS="$CFLAGS -Werror -fexceptions" | ||
20 | - AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl | ||
21 | - AC_TRY_LINK([ | ||
22 | -#include <stdio.h> | ||
23 | -void cl (void *a) { }], [ | ||
24 | - int a __attribute__ ((cleanup (cl))); | ||
25 | - puts ("test")], | ||
26 | -libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)]) | ||
27 | - CFLAGS="$old_CFLAGS" | ||
28 | - if test $libc_cv_c_cleanup = no; then | ||
29 | - AC_MSG_ERROR([the compiler must support C cleanup handling]) | ||
30 | - fi | ||
31 | -else | ||
32 | - AC_MSG_ERROR(forced unwind support is required) | ||
33 | -fi | ||
34 | +AC_DEFINE(HAVE_FORCED_UNWIND) | ||
35 | diff | ||
36 | --- glibc-2.3.6/nptl/sysdeps/pthread/configure.orig 2006-09-14 11:11:12.000000000 +0100 | ||
37 | +++ glibc-2.3.6/nptl/sysdeps/pthread/configure 2006-09-14 11:11:12.000000000 +0100 | ||
38 | @@ -24,136 +24,7 @@ | ||
39 | fi | ||
40 | |||
41 | |||
42 | -echo "$as_me:$LINENO: checking for forced unwind support" >&5 | ||
43 | -echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6 | ||
44 | -if test "${libc_cv_forced_unwind+set}" = set; then | ||
45 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
46 | -else | ||
47 | - cat >conftest.$ac_ext <<_ACEOF | ||
48 | -/* confdefs.h. */ | ||
49 | -_ACEOF | ||
50 | -cat confdefs.h >>conftest.$ac_ext | ||
51 | -cat >>conftest.$ac_ext <<_ACEOF | ||
52 | -/* end confdefs.h. */ | ||
53 | -#include <unwind.h> | ||
54 | -int | ||
55 | -main () | ||
56 | -{ | ||
57 | - | ||
58 | -struct _Unwind_Exception exc; | ||
59 | -struct _Unwind_Context *context; | ||
60 | -_Unwind_GetCFA (context) | ||
61 | - ; | ||
62 | - return 0; | ||
63 | -} | ||
64 | -_ACEOF | ||
65 | -rm -f conftest.$ac_objext conftest$ac_exeext | ||
66 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
67 | - (eval $ac_link) 2>conftest.er1 | ||
68 | - ac_status=$? | ||
69 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
70 | - rm -f conftest.er1 | ||
71 | - cat conftest.err >&5 | ||
72 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
73 | - (exit $ac_status); } && | ||
74 | - { ac_try='test -z "$ac_c_werror_flag" | ||
75 | - || test ! -s conftest.err' | ||
76 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
77 | - (eval $ac_try) 2>&5 | ||
78 | - ac_status=$? | ||
79 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
80 | - (exit $ac_status); }; } && | ||
81 | - { ac_try='test -s conftest$ac_exeext' | ||
82 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
83 | - (eval $ac_try) 2>&5 | ||
84 | - ac_status=$? | ||
85 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
86 | - (exit $ac_status); }; }; then | ||
87 | - libc_cv_forced_unwind=yes | ||
88 | -else | ||
89 | - echo "$as_me: failed program was:" >&5 | ||
90 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
91 | - | ||
92 | -libc_cv_forced_unwind=no | ||
93 | -fi | ||
94 | -rm -f conftest.err conftest.$ac_objext \ | ||
95 | - conftest$ac_exeext conftest.$ac_ext | ||
96 | -fi | ||
97 | -echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 | ||
98 | -echo "${ECHO_T}$libc_cv_forced_unwind" >&6 | ||
99 | -if test $libc_cv_forced_unwind = yes; then | ||
100 | - cat >>confdefs.h <<\_ACEOF | ||
101 | +cat >>confdefs.h <<\_ACEOF | ||
102 | #define HAVE_FORCED_UNWIND 1 | ||
103 | _ACEOF | ||
104 | |||
105 | - old_CFLAGS="$CFLAGS" | ||
106 | - CFLAGS="$CFLAGS -Werror -fexceptions" | ||
107 | - echo "$as_me:$LINENO: checking for C cleanup handling" >&5 | ||
108 | -echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6 | ||
109 | -if test "${libc_cv_c_cleanup+set}" = set; then | ||
110 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
111 | -else | ||
112 | - cat >conftest.$ac_ext <<_ACEOF | ||
113 | -/* confdefs.h. */ | ||
114 | -_ACEOF | ||
115 | -cat confdefs.h >>conftest.$ac_ext | ||
116 | -cat >>conftest.$ac_ext <<_ACEOF | ||
117 | -/* end confdefs.h. */ | ||
118 | - | ||
119 | -#include <stdio.h> | ||
120 | -void cl (void *a) { } | ||
121 | -int | ||
122 | -main () | ||
123 | -{ | ||
124 | - | ||
125 | - int a __attribute__ ((cleanup (cl))); | ||
126 | - puts ("test") | ||
127 | - ; | ||
128 | - return 0; | ||
129 | -} | ||
130 | -_ACEOF | ||
131 | -rm -f conftest.$ac_objext conftest$ac_exeext | ||
132 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
133 | - (eval $ac_link) 2>conftest.er1 | ||
134 | - ac_status=$? | ||
135 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
136 | - rm -f conftest.er1 | ||
137 | - cat conftest.err >&5 | ||
138 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
139 | - (exit $ac_status); } && | ||
140 | - { ac_try='test -z "$ac_c_werror_flag" | ||
141 | - || test ! -s conftest.err' | ||
142 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
143 | - (eval $ac_try) 2>&5 | ||
144 | - ac_status=$? | ||
145 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
146 | - (exit $ac_status); }; } && | ||
147 | - { ac_try='test -s conftest$ac_exeext' | ||
148 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
149 | - (eval $ac_try) 2>&5 | ||
150 | - ac_status=$? | ||
151 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
152 | - (exit $ac_status); }; }; then | ||
153 | - libc_cv_c_cleanup=yes | ||
154 | -else | ||
155 | - echo "$as_me: failed program was:" >&5 | ||
156 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
157 | - | ||
158 | -libc_cv_c_cleanup=no | ||
159 | -fi | ||
160 | -rm -f conftest.err conftest.$ac_objext \ | ||
161 | - conftest$ac_exeext conftest.$ac_ext | ||
162 | -fi | ||
163 | -echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 | ||
164 | -echo "${ECHO_T}$libc_cv_c_cleanup" >&6 | ||
165 | - CFLAGS="$old_CFLAGS" | ||
166 | - if test $libc_cv_c_cleanup = no; then | ||
167 | - { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5 | ||
168 | -echo "$as_me: error: the compiler must support C cleanup handling" >&2;} | ||
169 | - { (exit 1); exit 1; }; } | ||
170 | - fi | ||
171 | -else | ||
172 | - { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5 | ||
173 | -echo "$as_me: error: forced unwind support is required" >&2;} | ||
174 | - { (exit 1); exit 1; }; } | ||
175 | -fi | ||
diff --git a/meta/packages/glibc/glibc-initial_csl-2005q3-2.bb b/meta/packages/glibc/glibc-initial_csl-2005q3-2.bb new file mode 100644 index 0000000000..9ba2ac37cc --- /dev/null +++ b/meta/packages/glibc/glibc-initial_csl-2005q3-2.bb | |||
@@ -0,0 +1,46 @@ | |||
1 | SECTION = "libs" | ||
2 | require glibc_${PV}.bb | ||
3 | |||
4 | DEPENDS = "linux-libc-headers" | ||
5 | PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" | ||
6 | FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" | ||
7 | |||
8 | PACKAGES = "" | ||
9 | |||
10 | do_configure () { | ||
11 | sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure | ||
12 | chmod +x ${S}/configure | ||
13 | CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ | ||
14 | --without-cvs --disable-sanity-checks \ | ||
15 | --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \ | ||
16 | --enable-hacker-mode | ||
17 | if grep -q GLIBC_2.3 ${S}/ChangeLog; then | ||
18 | # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler. | ||
19 | # Fortunately, we don't need errlist-compat.c, since we just need .h files, | ||
20 | # so work around this by creating a fake errlist-compat.c and satisfying its dependencies. | ||
21 | # Another workaround might be to tell configure to not use any cross options to $(CC). | ||
22 | # The real fix would be to get install-headers to not generate errlist-compat.c. | ||
23 | make sysdeps/gnu/errlist.c | ||
24 | mkdir -p stdio-common | ||
25 | touch stdio-common/errlist-compat.c | ||
26 | fi | ||
27 | } | ||
28 | |||
29 | do_compile () { | ||
30 | : | ||
31 | } | ||
32 | |||
33 | do_stage () { | ||
34 | oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers | ||
35 | |||
36 | # Two headers -- stubs.h and features.h -- aren't installed by install-headers, | ||
37 | # so do them by hand. We can tolerate an empty stubs.h for the moment. | ||
38 | # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html | ||
39 | mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu | ||
40 | touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h | ||
41 | cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h | ||
42 | } | ||
43 | |||
44 | do_install () { | ||
45 | : | ||
46 | } | ||
diff --git a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb b/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb new file mode 100644 index 0000000000..b6a0a552cb --- /dev/null +++ b/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SECTION = "libs" | ||
2 | |||
3 | require glibc_${PV}.bb | ||
4 | |||
5 | DEFAULT_PREFERENCE = "-1" | ||
6 | |||
7 | do_install () { | ||
8 | : | ||
9 | } | ||
10 | |||
11 | PACKAGES = "" | ||
12 | PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc" | ||
13 | DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" | ||
14 | GLIBC_ADDONS = "nptl,libidn" | ||
15 | #GLIBC_ADDONS = "libidn" | ||
16 | GLIBC_EXTRA_OECONF = "" | ||
diff --git a/meta/packages/glibc/glibc_csl-2005q3-2.bb b/meta/packages/glibc/glibc_csl-2005q3-2.bb new file mode 100644 index 0000000000..754c01c488 --- /dev/null +++ b/meta/packages/glibc/glibc_csl-2005q3-2.bb | |||
@@ -0,0 +1,155 @@ | |||
1 | DESCRIPTION = "GNU C Library" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" | ||
3 | LICENSE = "LGPL" | ||
4 | SECTION = "libs" | ||
5 | PRIORITY = "required" | ||
6 | # DEFAULT_PREFERENCE = "-1" | ||
7 | PV = "2.3.6+csl-arm-2005q3-2" | ||
8 | PR = "r10" | ||
9 | |||
10 | # the -isystem in bitbake.conf screws up glibc do_stage | ||
11 | BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include" | ||
12 | TARGET_CPPFLAGS = "-I${STAGING_DIR}/${TARGET_SYS}/include" | ||
13 | |||
14 | FILESDIR = "${FILE_DIRNAME}/files" | ||
15 | |||
16 | GLIBC_ADDONS ?= "nptl,libidn" | ||
17 | GLIBC_EXTRA_OECONF ?= "" | ||
18 | |||
19 | GLIBC_BROKEN_LOCALES = "sid_ET tr_TR mn_MN gez_ET bn_BD gez_ER te_IN" | ||
20 | |||
21 | # | ||
22 | # For now, we will skip building of a gcc package if it is a uclibc one | ||
23 | # and our build is not a uclibc one, and we skip a glibc one if our build | ||
24 | # is a uclibc build. | ||
25 | # | ||
26 | # See the note in gcc/gcc_3.4.0.oe | ||
27 | # | ||
28 | |||
29 | python __anonymous () { | ||
30 | import bb, re | ||
31 | uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) | ||
32 | if uc_os: | ||
33 | raise bb.parse.SkipPackage("incompatible with target %s" % | ||
34 | bb.data.getVar('TARGET_OS', d, 1)) | ||
35 | } | ||
36 | |||
37 | # nptl needs unwind support in gcc, which can't be built without glibc. | ||
38 | PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" | ||
39 | PROVIDES += "virtual/libintl virtual/libiconv" | ||
40 | DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers" | ||
41 | RDEPENDS_${PN}-dev = "" | ||
42 | INHIBIT_DEFAULT_DEPS = "1" | ||
43 | |||
44 | SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2005q3-2-arm-none-linux-gnueabi.src.tar.bz2 \ | ||
45 | file://nptl-crosscompile-2.3.6.patch;patch=1 \ | ||
46 | file://etc/ld.so.conf \ | ||
47 | file://generate-supported.mk \ | ||
48 | " | ||
49 | |||
50 | do_unpack2() { | ||
51 | cd ${WORKDIR} | ||
52 | tar -xvjf ./arm-2005q3-2-arm-none-linux-gnueabi/glibc-2005q3-2.tar.bz2 | ||
53 | rm -rf ./arm-2005q3-2-arm-none-linux-gnueabi | ||
54 | } | ||
55 | |||
56 | addtask unpack2 after do_unpack before do_patch | ||
57 | |||
58 | S = "${WORKDIR}/glibc-2.3.5pre" | ||
59 | B = "${WORKDIR}/build-${TARGET_SYS}" | ||
60 | |||
61 | inherit autotools | ||
62 | |||
63 | EXTRA_OECONF = "--without-cvs --disable-profile --disable-debug --without-gd \ | ||
64 | --enable-clocale=gnu \ | ||
65 | --enable-add-ons \ | ||
66 | --with-headers=${STAGING_INCDIR} \ | ||
67 | --without-selinux \ | ||
68 | ${GLIBC_EXTRA_OECONF}" | ||
69 | |||
70 | EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" | ||
71 | |||
72 | def get_glibc_fpu_setting(bb, d): | ||
73 | if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: | ||
74 | return "--without-fp" | ||
75 | return "" | ||
76 | |||
77 | |||
78 | do_configure () { | ||
79 | # override this function to avoid the autoconf/automake/aclocal/autoheader | ||
80 | # calls for now | ||
81 | # don't pass CPPFLAGS into configure, since it upsets the kernel-headers | ||
82 | # version check and doesn't really help with anything | ||
83 | if [ -z "`which rpcgen`" ]; then | ||
84 | echo "rpcgen not found. Install glibc-devel." | ||
85 | exit 1 | ||
86 | fi | ||
87 | (cd ${S} && gnu-configize) || die "failure in running gnu-configize" | ||
88 | CPPFLAGS="" oe_runconf | ||
89 | } | ||
90 | |||
91 | rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ | ||
92 | yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ | ||
93 | rusers.x spray.x nfs_prot.x rquota.x key_prot.x" | ||
94 | |||
95 | do_compile () { | ||
96 | # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging | ||
97 | unset LDFLAGS | ||
98 | base_do_compile | ||
99 | ( | ||
100 | cd ${S}/sunrpc/rpcsvc | ||
101 | for r in ${rpcsvc}; do | ||
102 | h=`echo $r|sed -e's,\.x$,.h,'` | ||
103 | rpcgen -h $r -o $h || oewarn "unable to generate header for $r" | ||
104 | done | ||
105 | ) | ||
106 | } | ||
107 | |||
108 | do_stage() { | ||
109 | rm -f ${STAGING_LIBDIR}/libc.so.6 | ||
110 | oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \ | ||
111 | 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \ | ||
112 | '${STAGING_LIBDIR}/libc.so.6' \ | ||
113 | install-headers install-lib | ||
114 | |||
115 | install -d ${STAGING_INCDIR}/gnu \ | ||
116 | ${STAGING_INCDIR}/bits \ | ||
117 | ${STAGING_INCDIR}/rpcsvc | ||
118 | install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/ | ||
119 | install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/ | ||
120 | install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h | ||
121 | for r in ${rpcsvc}; do | ||
122 | h=`echo $r|sed -e's,\.x$,.h,'` | ||
123 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/ | ||
124 | done | ||
125 | for i in libc.a libc_pic.a libc_nonshared.a; do | ||
126 | install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i" | ||
127 | done | ||
128 | echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so | ||
129 | echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so | ||
130 | |||
131 | rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6 | ||
132 | oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \ | ||
133 | 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \ | ||
134 | '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \ | ||
135 | install-headers install-lib | ||
136 | |||
137 | install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \ | ||
138 | ${CROSS_DIR}/${TARGET_SYS}/include/bits \ | ||
139 | ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc | ||
140 | install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/ | ||
141 | install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/ | ||
142 | install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h | ||
143 | for r in ${rpcsvc}; do | ||
144 | h=`echo $r|sed -e's,\.x$,.h,'` | ||
145 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/ | ||
146 | done | ||
147 | |||
148 | for i in libc.a libc_pic.a libc_nonshared.a; do | ||
149 | install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i" | ||
150 | done | ||
151 | echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so | ||
152 | echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so | ||
153 | } | ||
154 | |||
155 | require glibc-package.bbclass | ||
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_csl-arm-2005q3-2.bb b/meta/packages/linux-libc-headers/linux-libc-headers_csl-arm-2005q3-2.bb new file mode 100644 index 0000000000..136d9e7eee --- /dev/null +++ b/meta/packages/linux-libc-headers/linux-libc-headers_csl-arm-2005q3-2.bb | |||
@@ -0,0 +1,88 @@ | |||
1 | SECTION = "devel" | ||
2 | DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use." | ||
3 | # This package is derived from the original linux-libc-headers at | ||
4 | # http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ | ||
5 | # More specifically, llh-2.6.12.0 was patched up to 2.6.16-rc6 with | ||
6 | # the official linux patches (where applicable) and then fixed up just | ||
7 | # enough to build glibc-2.4. BEWARE! | ||
8 | # | ||
9 | # license note from the linux-libc-headers package: | ||
10 | # Linux-libc-headers are derived from linux kernel headers. For license of a | ||
11 | # particular header, check it's content, and if copyright notice isn't present, | ||
12 | # standard linux kernel license applies. | ||
13 | # since we assume GPL for linux i think we can also assume it here | ||
14 | LICENSE = "GPL" | ||
15 | DEFAULT_PREFERENCE = "-1" | ||
16 | INHIBIT_DEFAULT_DEPS = "1" | ||
17 | PR = "r4" | ||
18 | PV = "2.6.12rc3+csl-arm-2005q3-2" | ||
19 | |||
20 | SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2005q3-2-arm-none-linux-gnueabi.src.tar.bz2" | ||
21 | |||
22 | #unpack the inner tarball, extract the include directory and do little | ||
23 | #cleanup | ||
24 | do_unpack2() { | ||
25 | cd ${WORKDIR} | ||
26 | tar -xvjf ./arm-2005q3-2-arm-none-linux-gnueabi/linux-2005q3-2.tar.bz2 | ||
27 | mkdir -p linux-include | ||
28 | mv ./linux-2.6.12rc3/include ./linux-include | ||
29 | rm ./linux-include/include/asm-arm/arch | ||
30 | rm -rf ./arm-2005q3-2-arm-none-linux-gnuabi | ||
31 | rm -rf ./linux-2.6.12.rc3 | ||
32 | } | ||
33 | |||
34 | addtask unpack2 after do_unpack before do_patch | ||
35 | |||
36 | S = "${WORKDIR}/linux-include" | ||
37 | |||
38 | do_configure () { | ||
39 | case ${TARGET_ARCH} in | ||
40 | alpha*) ARCH=alpha ;; | ||
41 | arm*) ARCH=arm ;; | ||
42 | cris*) ARCH=cris ;; | ||
43 | hppa*) ARCH=parisc ;; | ||
44 | i*86*) ARCH=i386 ;; | ||
45 | ia64*) ARCH=ia64 ;; | ||
46 | mips*) ARCH=mips ;; | ||
47 | m68k*) ARCH=m68k ;; | ||
48 | powerpc*) ARCH=ppc ;; | ||
49 | s390*) ARCH=s390 ;; | ||
50 | sh*) ARCH=sh ;; | ||
51 | sparc64*) ARCH=sparc64 ;; | ||
52 | sparc*) ARCH=sparc ;; | ||
53 | x86_64*) ARCH=x86_64 ;; | ||
54 | esac | ||
55 | if test ! -e include/asm-$ARCH; then | ||
56 | oefatal unable to create asm symlink in kernel headers | ||
57 | fi | ||
58 | rm "include/asm" | ||
59 | cp -pPR "include/asm-$ARCH" "include/asm" | ||
60 | if test "$ARCH" = "arm"; then | ||
61 | cp -pPR include/asm/arch-ebsa285 include/asm/arch | ||
62 | elif test "$ARCH" = "sh"; then | ||
63 | cp -pPR include/asm/cpu-${TARGET_ARCH} include/asm/cpu || die "unable to create include/asm/cpu" | ||
64 | fi | ||
65 | } | ||
66 | |||
67 | do_stage () { | ||
68 | install -d ${STAGING_INCDIR} | ||
69 | rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm ${STAGING_INCDIR}/asm-generic | ||
70 | cp -pfLR include/linux ${STAGING_INCDIR}/ | ||
71 | cp -pfLR include/asm ${STAGING_INCDIR}/ | ||
72 | cp -pfLR include/asm-generic ${STAGING_INCDIR}/ | ||
73 | rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux | ||
74 | rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm | ||
75 | rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm-generic | ||
76 | install -d ${CROSS_DIR}/${TARGET_SYS}/include | ||
77 | cp -pfLR include/linux ${CROSS_DIR}/${TARGET_SYS}/include/ | ||
78 | cp -pfLR include/asm ${CROSS_DIR}/${TARGET_SYS}/include/ | ||
79 | cp -pfLR include/asm-generic ${CROSS_DIR}/${TARGET_SYS}/include/ | ||
80 | } | ||
81 | |||
82 | do_install() { | ||
83 | install -d ${D}${includedir} | ||
84 | cp -pfLR include/linux ${D}${includedir}/ | ||
85 | cp -pfLR include/asm ${D}${includedir}/ | ||
86 | cp -pfLR include/asm-generic ${D}${includedir}/ | ||
87 | } | ||
88 | |||