diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-09-17 00:49:03 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-09-17 22:25:23 +0100 |
commit | afa02c54709474cee4bb91368a823a8678f57998 (patch) | |
tree | f56e06bb995aeeffe9ff4a39e6db16944519f5a1 | |
parent | c906f2bce424ecf201f16a486959dab600a847b0 (diff) | |
download | poky-afa02c54709474cee4bb91368a823a8678f57998.tar.gz |
cross-canadian: Add cross-canadian class with gcc and binutils recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r-- | meta/classes/cross-canadian.bbclass | 56 | ||||
-rw-r--r-- | meta/packages/binutils/binutils-cross-canadian.inc | 24 | ||||
-rw-r--r-- | meta/packages/binutils/binutils-cross-canadian_2.18.bb | 3 | ||||
-rw-r--r-- | meta/packages/binutils/binutils-cross-canadian_2.19.bb | 3 | ||||
-rw-r--r-- | meta/packages/gcc/gcc-cross-canadian.inc | 4 | ||||
-rw-r--r-- | meta/packages/gcc/gcc-cross-canadian_4.3.3.bb | 23 |
6 files changed, 113 insertions, 0 deletions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass new file mode 100644 index 0000000000..334f12cdae --- /dev/null +++ b/meta/classes/cross-canadian.bbclass | |||
@@ -0,0 +1,56 @@ | |||
1 | # SDK packages are built either explicitly by the user, | ||
2 | # or indirectly via dependency. No need to be in 'world'. | ||
3 | EXCLUDE_FROM_WORLD = "1" | ||
4 | |||
5 | # Save MULTIMACH_ARCH | ||
6 | OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}" | ||
7 | # Save PACKAGE_ARCH | ||
8 | OLD_PACKAGE_ARCH := ${PACKAGE_ARCH} | ||
9 | PACKAGE_ARCH = "${HOST_ARCH}-${OLD_PACKAGE_ARCH}-nativesdk" | ||
10 | # Also save BASE_PACKAGE_ARCH since HOST_ARCH can influence it | ||
11 | OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}" | ||
12 | BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}" | ||
13 | |||
14 | INHIBIT_DEFAULT_DEPS = "1" | ||
15 | |||
16 | STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-nativesdk" | ||
17 | STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}" | ||
18 | |||
19 | PATH_append = ":${TMPDIR}/cross/${HOST_ARCH}/${bindir_cross}" | ||
20 | PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_HOST_SYS}" | ||
21 | |||
22 | HOST_ARCH = "${SDK_ARCH}" | ||
23 | HOST_VENDOR = "${SDK_VENDOR}" | ||
24 | HOST_OS = "${SDK_OS}" | ||
25 | HOST_PREFIX = "${SDK_PREFIX}" | ||
26 | HOST_CC_ARCH = "${SDK_CC_ARCH}" | ||
27 | |||
28 | CPPFLAGS = "${BUILDSDK_CPPFLAGS}" | ||
29 | CFLAGS = "${BUILDSDK_CFLAGS}" | ||
30 | CXXFLAGS = "${BUILDSDK_CFLAGS}" | ||
31 | LDFLAGS = "${BUILDSDK_LDFLAGS}" | ||
32 | |||
33 | # Change to place files in SDKPATH | ||
34 | prefix = "${SDKPATH}" | ||
35 | exec_prefix = "${SDKPATH}" | ||
36 | base_prefix = "${SDKPATH}" | ||
37 | |||
38 | FILES_${PN} = "${prefix}" | ||
39 | FILES_${PN}-dbg += "${prefix}/.debug \ | ||
40 | ${prefix}/bin/.debug \ | ||
41 | " | ||
42 | |||
43 | export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig" | ||
44 | export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" | ||
45 | |||
46 | python () { | ||
47 | barch = bb.data.getVar('HOST_ARCH', d, True) | ||
48 | archs = bb.data.getVar('PACKAGE_ARCHS', d, True).split() | ||
49 | sdkarchs = [] | ||
50 | for arch in archs: | ||
51 | sdkarchs.append(barch + '-' + arch + '-nativesdk') | ||
52 | bb.data.setVar('PACKAGE_ARCHS', " ".join(sdkarchs), d) | ||
53 | } | ||
54 | |||
55 | |||
56 | |||
diff --git a/meta/packages/binutils/binutils-cross-canadian.inc b/meta/packages/binutils/binutils-cross-canadian.inc new file mode 100644 index 0000000000..8d21db70ee --- /dev/null +++ b/meta/packages/binutils/binutils-cross-canadian.inc | |||
@@ -0,0 +1,24 @@ | |||
1 | inherit cross-canadian | ||
2 | DEPENDS = "flex-native bison-native virtual/${HOST_PREFIX}gcc-crosssdk virtual/libc-nativesdk zlib-nativesdk" | ||
3 | EXTRA_OECONF = "--with-sysroot=${prefix}/${TARGET_SYS} \ | ||
4 | --program-prefix=${TARGET_PREFIX}" | ||
5 | |||
6 | do_stage() { | ||
7 | : | ||
8 | } | ||
9 | |||
10 | do_install () { | ||
11 | autotools_do_install | ||
12 | |||
13 | # Fix the ${prefix}/${TARGET_SYS}/bin/* files to be symlinks | ||
14 | rm ${D}${prefix}/${TARGET_SYS}/bin/.debug -Rf | ||
15 | rm ${D}${prefix}/${TARGET_SYS}/bin/* | ||
16 | for l in ${D}${bindir}/*; do | ||
17 | ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`" | ||
18 | done | ||
19 | |||
20 | # Install the libiberty header | ||
21 | install -d ${D}${includedir} | ||
22 | install -m 644 ${S}/include/ansidecl.h ${D}${includedir} | ||
23 | install -m 644 ${S}/include/libiberty.h ${D}${includedir} | ||
24 | } | ||
diff --git a/meta/packages/binutils/binutils-cross-canadian_2.18.bb b/meta/packages/binutils/binutils-cross-canadian_2.18.bb new file mode 100644 index 0000000000..13fc22aa64 --- /dev/null +++ b/meta/packages/binutils/binutils-cross-canadian_2.18.bb | |||
@@ -0,0 +1,3 @@ | |||
1 | require binutils_${PV}.bb | ||
2 | require binutils-cross-canadian.inc | ||
3 | PR = "r3" | ||
diff --git a/meta/packages/binutils/binutils-cross-canadian_2.19.bb b/meta/packages/binutils/binutils-cross-canadian_2.19.bb new file mode 100644 index 0000000000..7dad2a620b --- /dev/null +++ b/meta/packages/binutils/binutils-cross-canadian_2.19.bb | |||
@@ -0,0 +1,3 @@ | |||
1 | require binutils_${PV}.bb | ||
2 | require binutils-cross-canadian.inc | ||
3 | PR = "r0" | ||
diff --git a/meta/packages/gcc/gcc-cross-canadian.inc b/meta/packages/gcc/gcc-cross-canadian.inc new file mode 100644 index 0000000000..1f2b5e833a --- /dev/null +++ b/meta/packages/gcc/gcc-cross-canadian.inc | |||
@@ -0,0 +1,4 @@ | |||
1 | inherit cross-canadian | ||
2 | |||
3 | DEPENDS = "virtual/${HOST_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}libc-for-gcc" | ||
4 | |||
diff --git a/meta/packages/gcc/gcc-cross-canadian_4.3.3.bb b/meta/packages/gcc/gcc-cross-canadian_4.3.3.bb new file mode 100644 index 0000000000..f6e60ebf2d --- /dev/null +++ b/meta/packages/gcc/gcc-cross-canadian_4.3.3.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | inherit cross-canadian | ||
2 | |||
3 | require gcc-${PV}.inc | ||
4 | require gcc-cross-canadian.inc | ||
5 | require gcc-configure-sdk.inc | ||
6 | require gcc-package-sdk.inc | ||
7 | |||
8 | PR = "r7" | ||
9 | |||
10 | DEPENDS += "gmp-nativesdk mpfr-nativesdk" | ||
11 | RDEPENDS_${PN} += "mpfr-nativesdk" | ||
12 | |||
13 | SYSTEMHEADERS = "/usr/include" | ||
14 | SYSTEMLIBS1 = "/usr/lib/" | ||
15 | |||
16 | EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \ | ||
17 | --disable-libgomp --disable-libmudflap \ | ||
18 | --with-mpfr=${STAGING_DIR_HOST}${layout_exec_prefix}" | ||
19 | |||
20 | # to find libmpfr | ||
21 | # export LD_LIBRARY_PATH = "{STAGING_DIR_HOST}${layout_exec_prefix}" | ||
22 | |||
23 | PARALLEL_MAKE = "" | ||