diff options
| author | Tom Rini <trini@embeddedalley.com> | 2009-01-27 18:03:07 -0500 |
|---|---|---|
| committer | Tom Rini <trini@embeddedalley.com> | 2009-01-27 18:03:07 -0500 |
| commit | 2ae4d66192f2db96bbd79ddcc33e6aac7c1bd960 (patch) | |
| tree | 11a2c7c90703d8034d755297e156b420c075c8e7 | |
| parent | ffee230ed0b6c49ef4a0b23bc850b843c429f19a (diff) | |
| parent | 04c9615b938eaabfbadc99c1707eb44657c95a61 (diff) | |
Merge trini/canadian-merge branch into org.openembedded.dev, fixup a
conflict on checksums.ini
40 files changed, 1533 insertions, 5 deletions
diff --git a/classes/canadian-cross.bbclass b/classes/canadian-cross.bbclass new file mode 100644 index 0000000000..474fb1d2ba --- /dev/null +++ b/classes/canadian-cross.bbclass @@ -0,0 +1,76 @@ +# Canadian cross packages are built indirectly via dependency, +# no need for them to be a direct target of 'world' +EXCLUDE_FROM_WORLD = "1" + +inherit canadian + +PACKAGES = "" + +BASE_PACKAGE_ARCH = "${SDK_ARCH}" +BASEPKG_HOST_SYS = "${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}" +BASEPKG_TARGET_SYS = "${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}" + +HOST_ARCH = "${BUILD_ARCH}" +HOST_VENDOR = "${BUILD_VENDOR}" +HOST_OS = "${BUILD_OS}" +HOST_PREFIX = "${BUILD_PREFIX}" +HOST_CC_ARCH = "${BUILD_CC_ARCH}" +HOST_EXEEXT = "${BUILD_EXEEXT}" + +TARGET_ARCH = "${SDK_ARCH}" +TARGET_VENDOR = "${SDK_VENDOR}" +TARGET_OS = "${SDK_OS}" +TARGET_PREFIX = "${SDK_PREFIX}" +TARGET_CC_ARCH = "${SDK_CC_ARCH}" +TARGET_EXEEXT = "${SDK_EXEEXT}" + +CPPFLAGS = "${BUILD_CPPFLAGS}" +CFLAGS = "${BUILD_CFLAGS}" +CXXFLAGS = "${BUILD_CFLAGS}" +LDFLAGS = "${BUILD_LDFLAGS}" + +TOOLCHAIN_OPTIONS = "" + +# Architecture dependent paths +bindir = "${exec_prefix}/bin" +sbindir = "${exec_prefix}/bin" +libexecdir = "${exec_prefix}/libexec" +libdir = "${exec_prefix}/lib" +includedir = "${exec_prefix}/include" +oldincludedir = "${exec_prefix}/include" + +# Path prefixes +export base_prefix = "${STAGING_DIR_HOST}" +export prefix = "${STAGING_DIR_HOST}${layout_prefix}" +export exec_prefix = "${STAGING_DIR_HOST}${layout_exec_prefix}" + +# Base paths +export base_bindir = "${STAGING_DIR_HOST}${layout_base_bindir}" +export base_sbindir = "${STAGING_DIR_HOST}${layout_base_sbindir}" +export base_libdir = "${STAGING_DIR_HOST}${layout_base_libdir}" + +# Architecture independent paths +export datadir = "${STAGING_DIR_HOST}${layout_datadir}" +export sysconfdir = "${STAGING_DIR_HOST}${layout_sysconfdir}" +export sharedstatedir = "${STAGING_DIR_HOST}${layout_sharedstatedir}" +export localstatedir = "${STAGING_DIR_HOST}${layout_localstatedir}" +export infodir = "${STAGING_DIR_HOST}${layout_infodir}" +export mandir = "${STAGING_DIR_HOST}${layout_mandir}" +export docdir = "${STAGING_DIR_HOST}${layout_docdir}" +export servicedir = "${STAGING_DIR_HOST}${layout_servicedir}" + +# Architecture dependent paths +export bindir = "${STAGING_DIR_HOST}${layout_bindir}" +export sbindir = "${STAGING_DIR_HOST}${layout_sbindir}" +export libexecdir = "${STAGING_DIR_HOST}${layout_libexecdir}" +export libdir = "${STAGING_DIR_HOST}${layout_libdir}" +export includedir = "${STAGING_DIR_HOST}${layout_includedir}" +export oldincludedir = "${STAGING_DIR_HOST}${layout_includedir}" + +do_stage () { + oe_runmake install +} + +do_install () { + : +} diff --git a/classes/canadian-native.bbclass b/classes/canadian-native.bbclass new file mode 100644 index 0000000000..d572ab5990 --- /dev/null +++ b/classes/canadian-native.bbclass @@ -0,0 +1,88 @@ +inherit base + +# Canadian native packages are built indirectly via dependency, +# no need for them to be a direct target of 'world' +EXCLUDE_FROM_WORLD = "1" + +inherit canadian + +PACKAGES = "" + +BASE_PACKAGE_ARCH = "${SDK_ARCH}" +BASEPKG_HOST_SYS = "${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}" +BASEPKG_TARGET_SYS = "${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}" + +HOST_ARCH = "${SDK_ARCH}" +HOST_VENDOR = "${SDK_VENDOR}" +HOST_OS = "${SDK_OS}" +HOST_PREFIX = "${SDK_PREFIX}" +HOST_CC_ARCH = "${SDK_CC_ARCH}" +HOST_EXEEXT = "${SDK_EXEEXT}" + +TARGET_ARCH = "${SDK_ARCH}" +TARGET_VENDOR = "${SDK_VENDOR}" +TARGET_OS = "${SDK_OS}" +TARGET_PREFIX = "${SDK_PREFIX}" +TARGET_CC_ARCH = "${SDK_CC_ARCH}" +TARGET_EXEEXT = "${SDK_EXEEXT}" + +CPPFLAGS = "${SDK_CPPFLAGS}" +CFLAGS = "${SDK_CFLAGS}" +CXXFLAGS = "${SDK_CFLAGS}" +LDFLAGS = "${SDK_LDFLAGS}" + +# set the compiler as well. It could have been set to something else +export CC = "${CCACHE}${SDK_PREFIX}gcc ${HOST_CC_ARCH}" +export CXX = "${CCACHE}${SDK_PREFIX}g++ ${HOST_CC_ARCH}" +export F77 = "${CCACHE}${SDK_PREFIX}g77 ${HOST_CC_ARCH}" +export CPP = "${SDK_PREFIX}gcc -E" +export LD = "${SDK_PREFIX}ld" +#export CCLD = "${CC}" +export AR = "${SDK_PREFIX}ar" +export AS = "${SDK_PREFIX}as" +export RANLIB = "${SDK_PREFIX}ranlib" +export STRIP = "${SDK_PREFIX}strip" + +# Path prefixes +export base_prefix = "${STAGING_DIR_HOST}" +export prefix = "${STAGING_DIR_HOST}${layout_prefix}" +export exec_prefix = "${STAGING_DIR_HOST}${layout_exec_prefix}" + +# Base paths +export base_bindir = "${STAGING_DIR_HOST}${layout_base_bindir}" +export base_sbindir = "${STAGING_DIR_HOST}${layout_base_sbindir}" +export base_libdir = "${STAGING_DIR_HOST}${layout_base_libdir}" + +# Architecture independent paths +export datadir = "${STAGING_DIR_HOST}${layout_datadir}" +export sysconfdir = "${STAGING_DIR_HOST}${layout_sysconfdir}" +export sharedstatedir = "${STAGING_DIR_HOST}${layout_sharedstatedir}" +export localstatedir = "${STAGING_DIR_HOST}${layout_localstatedir}" +export infodir = "${STAGING_DIR_HOST}${layout_infodir}" +export mandir = "${STAGING_DIR_HOST}${layout_mandir}" +export docdir = "${STAGING_DIR_HOST}${layout_docdir}" +export servicedir = "${STAGING_DIR_HOST}${layout_servicedir}" + +# Architecture dependent paths +export bindir = "${STAGING_DIR_HOST}${layout_bindir}" +export sbindir = "${STAGING_DIR_HOST}${layout_sbindir}" +export libexecdir = "${STAGING_DIR_HOST}${layout_libexecdir}" +export libdir = "${STAGING_DIR_HOST}${layout_libdir}" +export includedir = "${STAGING_DIR_HOST}${layout_includedir}" +export oldincludedir = "${STAGING_DIR_HOST}${layout_includedir}" + +do_stage () { + if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ] + then + if [ "${AUTOTOOLS_NATIVE_STAGE_INSTALL}" != "1" ] + then + oe_runmake install + else + autotools_stage_all + fi + fi +} + +do_install () { + : +} diff --git a/classes/canadian-sdk.bbclass b/classes/canadian-sdk.bbclass new file mode 100644 index 0000000000..d73b62f485 --- /dev/null +++ b/classes/canadian-sdk.bbclass @@ -0,0 +1,99 @@ +# Canadian SDK packages are built either explicitly by the user, +# or indirectly via dependency. No need to be in 'world'. +EXCLUDE_FROM_WORLD = "1" + +inherit canadian + +PACKAGE_ARCH = "${SDK_SYS}-sdk-${OLD_PACKAGE_ARCH}" +BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}" + +HOST_ARCH = "${SDK_ARCH}" +HOST_VENDOR = "${SDK_VENDOR}" +HOST_OS = "${SDK_OS}" +HOST_PREFIX = "${SDK_PREFIX}" +HOST_CC_ARCH = "${SDK_CC_ARCH}" +HOST_EXEEXT = "${SDK_EXEEXT}" + +CPPFLAGS = "${SDK_CPPFLAGS}" +CFLAGS = "${SDK_CFLAGS}" +CXXFLAGS = "${SDK_CFLAGS}" +LDFLAGS = "${SDK_LDFLAGS}" + +# TODO: add logic to add the following unless PN ~= gcc* +#DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc " +# and otherwise just +DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils " + +SDK_PATH_sdk-mingw32 = "/OpenEmbedded/${SDK_NAME}" +SDK_REALPATH = "${SDK_PATH}" +SDK_REALPATH_sdk-mingw32 = "C:/OpenEmbedded/${SDK_NAME}" + +# Path prefixes +prefix = "${SDK_PATH}" +exec_prefix = "${prefix}" +base_prefix = "${prefix}" + +# Base paths +export base_bindir = "${prefix}/bin" +export base_sbindir = "${prefix}/bin" +export base_libdir = "${prefix}/lib" + +# Architecture independent paths +export datadir = "${prefix}/share" +export sysconfdir = "${prefix}/etc" +export sharedstatedir = "${datadir}/com" +export localstatedir = "${prefix}/var" +export infodir = "${datadir}/info" +export mandir = "${datadir}/man" +export docdir = "${datadir}/doc" +export servicedir = "${prefix}/srv" + +# Architecture dependent paths +export bindir = "${prefix}/bin" +export sbindir = "${prefix}/bin" +export libexecdir = "${prefix}/libexec" +export libdir = "${prefix}/lib" +export includedir = "${prefix}/include" +export oldincludedir = "${prefix}/include" + +export dollar = "$" + +canadian_sdk_runconf() { + # modified oe_runconf() + # 1. Override prefix with SDK_REALPATH + # 2. Pass '${prefix}' to configure, to allow for prefix override + # 3. But don't do that for infodir and mandir, as they will + # break gcc makefiles for windows/dos SDK_REALPATH + if [ -x ${S}/configure ] ; then + cfgcmd="${S}/configure \ + --build=${BUILD_SYS} \ + --host=${HOST_SYS} \ + --target=${TARGET_SYS} \ + --prefix=${SDK_REALPATH} \ + --exec-prefix=$dollar{prefix} \ + --bindir=$dollar{prefix}/bin \ + --sbindir=$dollar{prefix}/bin \ + --libexecdir=$dollar{prefix}/libexec \ + --datadir=$dollar{prefix}/share \ + --sysconfdir=$dollar{prefix}/etc \ + --sharedstatedir=$dollar{prefix}/com \ + --localstatedir=$dollar{prefix}/var \ + --libdir=$dollar{prefix}/lib \ + --includedir=$dollar{prefix}/include \ + --oldincludedir=$dollar{prefix}/include \ + --infodir=${prefix}/share/info \ + --mandir=${prefix}/share/man \ + --enable-mainainer-mode \ + ${EXTRA_OECONF} \ + $@" + oenote "Running $cfgcmd..." + $cfgcmd || oefatal "oe_runconf failed" + else + oefatal "no configure script found" + fi +} + +FILES_${PN} = "${prefix}" +FILES_${PN}-dbg += "${prefix}/.debug \ + ${prefix}/bin/.debug \ + " diff --git a/classes/canadian.bbclass b/classes/canadian.bbclass new file mode 100644 index 0000000000..f359a8df7f --- /dev/null +++ b/classes/canadian.bbclass @@ -0,0 +1,24 @@ +# For Canadian SDKs we need to know what these values start out as, and use +# them as well as the updated ones. +OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}" +OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}" +OLD_TARGET_VENDOR := "${TARGET_VENDOR}" +OLD_TARGET_OS := "${TARGET_OS}" +OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}" + +OLD_MULTIMACH_TARGET_SYS = "${OLD_MULTIMACH_ARCH}${OLD_TARGET_VENDOR}-${OLD_TARGET_OS}" +OLD_BASEPKG_TARGET_SYS = "${OLD_BASE_PACKAGE_ARCH}${OLD_TARGET_VENDOR}-${OLD_TARGET_OS}" + +# We want to allow for both machine-target_os-sdk_arch-sdk_os and for +# sdk_arch-sdk_os +MULTIMACH_SDK_SYS = "${OLD_MULTIMACH_TARGET_SYS}-${SDK_SYS}" +BASEPKG_SDK_SYS = "${OLD_BASEPKG_TARGET_SYS}-${SDK_SYS}" +STAGING_DIR_SDK = "${STAGING_DIR}/${MULTIMACH_SDK_SYS}" + +# Our host dir isn't the build system here, but the SDK system +STAGING_DIR_HOST = "${STAGING_DIR}/${SDK_SYS}" + +# Overrides for paths +STAGING_BINDIR_CROSS = "${STAGING_BINDIR}" + +PACKAGE_ARCH = "${SDK_ARCH}" diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass index da6cab9cd5..eb34bd04b5 100644 --- a/classes/sdk.bbclass +++ b/classes/sdk.bbclass @@ -28,7 +28,7 @@ CXXFLAGS = "${BUILD_CFLAGS}" LDFLAGS = "${BUILD_LDFLAGS}" # Path prefixes -prefix = "${SDK_PREFIX}" +prefix = "${SDK_PATH}" exec_prefix = "${prefix}" base_prefix = "${prefix}" diff --git a/conf/bitbake.conf b/conf/bitbake.conf index 1164411963..effa67003d 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -285,7 +285,7 @@ DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools" PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}" SDK_NAME = "${DISTRO}/${TARGET_ARCH}" -SDK_PREFIX = "/usr/local/${SDK_NAME}" +SDK_PATH = "/usr/local/${SDK_NAME}" ################################################################## # Kernel info. diff --git a/conf/checksums.ini b/conf/checksums.ini index d8355adbd3..d48903a818 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -2194,6 +2194,10 @@ sha256=5645c3371aac47cbbcc1354eab10ec32777837d7cb4ba47b94c9043612b12f36 md5=bcb9fabaf0eaf91bd38c4ee148658df8 sha256=5645c3371aac47cbbcc1354eab10ec32777837d7cb4ba47b94c9043612b12f36 +[http://downloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1-src.tar.gz] +md5=64905b00a89f4e7ba3b3991c89ba59a4 +sha256=1e041ad002aa2f7a06624afcb4a9832085c63abe0a9551cdbc40522aac18871a + [http://kernel.org/pub/linux/devel/binutils/binutils-2.17.50.0.1.tar.bz2] md5=cfecfb29e260225fa192654f3763c2f8 sha256=9a56b06e4f533745e9b7cde5b170f905f74d130b899f48498cbd6d376c664b7a @@ -6234,6 +6238,30 @@ sha256=bfbf487731ad5dca37efe480a837417de071bd67e685d5c1df6a290707575165 md5=cc3c5565fdb9ab87a05ddb106ba0bd1f sha256=309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de +[http://downloads.sourceforge.net/mingw/gcc-ada-3.4.5-20060117-2-src.tar.gz] +md5=30154205636c12c6abcc462ce07550cf +sha256=404358fe19326679f602de6f7d6a2db180e27af83813150f58ab28eec197b646 + +[http://downloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-2-src.tar.gz] +md5=d0dc9d57d493889bc1ca88b127290b9d +sha256=a21c2f48bb48d62935ee955ac8fa318658861f6316f30feb3cdec5337abf7f05 + +[http://downloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-2-src.tar.gz] +md5=ca81c8420ab9d1d05ff9c73a9d4f7d63 +sha256=d54078fdccaa3776927b3931c15b880c43e76cb6a0fb59594d1b85cfc89356e9 + +[http://downloads.sourceforge.net/mingw/gcc-g77-3.4.5-20060117-2-src.tar.gz] +md5=57d489658743f0d9048e440b312740c8 +sha256=3ea32832e07571be317cdb1f9b9dc678a51ad2c2f066f91e155c449d0cf7d796 + +[http://downloads.sourceforge.net/mingw/gcc-java-3.4.5-20060117-2-src.tar.gz] +md5=96b039f4e11bff4d3d8a4e7da6e3998d +sha256=ec7a963c0dfd986697350be26e53577b0a39c86970b4e9485d85ca99b0cb2197 + +[http://downloads.sourceforge.net/mingw/gcc-objc-3.4.5-20060117-2-src.tar.gz] +md5=2bffc1e314f2efb1034b3d3ea1ce2f7d +sha256=a8a3c0f0a38f819b87ff9282f1e40536f5050153f0f60db5c869509a70497c2c + [http://xorg.freedesktop.org/releases/individual/util/gccmakedep-1.0.2.tar.gz] md5=fc49f45251c1336fe1dad5dba1c83fcd sha256=fdd3963294e80b27416f902a5c029c033d321f03310d3cafa3afb62b50ddce92 @@ -14622,6 +14650,14 @@ sha256=8ee3e48da07e20899a11adb9f2dd4dfc4922b43bcb1dc7bd78c55aceeb5eccc1 md5=048aa29c31f067382cd669ee20934b9e sha256=4f65183200955540c097b82bfb18f5d21b636ca79f47cd018a4ea8b89cd2998c +[http://downloads.sourceforge.net/mingw/mingw-runtime-3.14-src.tar.gz] +md5=7d049a8331efcfe34600c0cda6934ac6 +sha256=a145a90d0824c65cfc11c3fc843ba484585983e1e8ee14b79f4d09cf1d38b98b + +[http://downloads.sourceforge.net/mingw/mingwrt-3.15.1-mingw32-src.tar.gz] +md5=0411b98fd5eeac0706e2abb7122526bb +sha256=4f4d19f3e15fdf00957932211be609b6bf4e689ad5938ce7bff666a638bde0e7 + [http://www.denx.de/twiki/pub/Know/MiniFOHome/mini_fo-0-6-1-pre1.tar.bz2] md5=7e192e01b08023c7f3e63bf1c796bc14 sha256=68c64a38f0b29347f86871248f0399e7e1b12645dc6263af7b2e4940f1392eaa @@ -21406,6 +21442,14 @@ sha256=d6863b3ad5ecb465d217714ad474f2a9fb6e7890b4565184e8d5962d46850a31 md5=a17be90788c4ccd6ee8253659b9321f8 sha256=56dfd5365848095793faa31ee1cf753c10891dd076944d3533b05c6547965134 +[http://downloads.sourceforge.net/mingw/w32api-3.11-src.tar.gz] +md5=bc37e4e6973f603c317a40602f7f35d9 +sha256=852fee2c0aa5cd9ff529c1ba1d28668796c7c3dc959376f6a207a0b178ac5225 + +[http://downloads.sourceforge.net/mingw/w32api-3.13-mingw32-src.tar.gz] +md5=8eae788a09a589414b83adc91bb0c069 +sha256=02cec615f8cfc94786ea9c1f41645cf43cc2414ca36b92fdd041304723bf2fc4 + [http://mpx.freeshell.net/w3cam-0.7.2.tar.gz] md5=eec0b301b32bc8e9f65a4e54248c9868 sha256=96d659d916fafe555311068c9bf8662b93f10d099b12b17ed04d8a8fffbc72e0 diff --git a/packages/binutils/binutils-canadian-cross.inc b/packages/binutils/binutils-canadian-cross.inc new file mode 100644 index 0000000000..244c69ff8b --- /dev/null +++ b/packages/binutils/binutils-canadian-cross.inc @@ -0,0 +1,25 @@ +SECTION = "devel" +inherit canadian-cross +DEPENDS += "flex-native bison-native" +PROVIDES = "virtual/${TARGET_PREFIX}binutils" +PACKAGES = "" +EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_HOST} \ + --program-prefix=${TARGET_PREFIX} \ + --enable-install-libbfd \ + --disable-werror" + +do_stage () { + # ugly hack introduce to link our staging area up + mkdir -p ${exec_prefix}/${SDK_SYS} + ln -s ${STAGING_INCDIR} ${exec_prefix}/${SDK_SYS}/include + ln -s ${STAGING_LIBDIR} ${exec_prefix}/${SDK_SYS}/lib + + oe_runmake install + + # We don't really need these, so we'll remove them... + rm -rf ${exec_prefix}/${SDK_SYS}/lib/ldscripts +} + +do_install () { + : +} diff --git a/packages/binutils/binutils-canadian-sdk_2.18.bb b/packages/binutils/binutils-canadian-sdk_2.18.bb new file mode 100644 index 0000000000..cf27cd06f8 --- /dev/null +++ b/packages/binutils/binutils-canadian-sdk_2.18.bb @@ -0,0 +1,29 @@ +SECTION = "devel" +require binutils_${PV}.bb +inherit canadian-sdk + +DEPENDS="\ + virtual/${HOST_PREFIX}binutils \ + virtual/${HOST_PREFIX}gcc \ + flex-native bison-native \ +" + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}" +EXTRA_OECONF = "--with-sysroot=${prefix}/${TARGET_SYS} \ + --program-prefix=${TARGET_PREFIX}" +PR = "r3" + +FILES_${PN}-dbg += "${prefix}/${TARGET_SYS}/bin/.debug" + +do_stage() { + : +} + +do_install () { + autotools_do_install + + # Install the libiberty header + install -d ${D}${includedir} + install -m 644 ${S}/include/ansidecl.h ${D}${includedir} + install -m 644 ${S}/include/libiberty.h ${D}${includedir} +} diff --git a/packages/binutils/mingw-binutils_2.17.50-20060824-1.bb b/packages/binutils/mingw-binutils_2.17.50-20060824-1.bb new file mode 100644 index 0000000000..9d17873270 --- /dev/null +++ b/packages/binutils/mingw-binutils_2.17.50-20060824-1.bb @@ -0,0 +1,12 @@ +PR = "r1" + +require binutils.inc + +DESCRIPTION = "A GNU collection of binary utilities - MinGW port" +HOMEPAGE = "http://www.mingw.org/" + +SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/binutils-${PV}-src.tar.gz" + +S = "${WORKDIR}/binutils-${PV}-src" + +DEFAULT_PREFERENCE = "0" diff --git a/packages/gcc/files/canadian-build-modules-configure.patch b/packages/gcc/files/canadian-build-modules-configure.patch new file mode 100644 index 0000000000..8aede105c5 --- /dev/null +++ b/packages/gcc/files/canadian-build-modules-configure.patch @@ -0,0 +1,22 @@ +diff -urN gcc-4.2.2-orig/gcc/configure gcc-4.2.2/gcc/configure +--- gcc-4.2.2-orig/gcc/configure 2008-08-31 23:10:56.000000000 +0200 ++++ gcc-4.2.2/gcc/configure 2008-08-31 23:03:02.000000000 +0200 +@@ -12716,6 +12716,7 @@ + esac + saved_CFLAGS="${CFLAGS}" + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ ++ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \ + CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \ + --enable-languages=${enable_languages-all} \ + --target=$target_alias --host=$build_alias --build=$build_alias +diff -urN gcc-4.2.2-orig/gcc/configure.ac gcc-4.2.2/gcc/configure.ac +--- gcc-4.2.2-orig/gcc/configure.ac 2008-08-31 23:10:53.000000000 +0200 ++++ gcc-4.2.2/gcc/configure.ac 2008-08-31 23:03:29.000000000 +0200 +@@ -1490,6 +1490,7 @@ + esac + saved_CFLAGS="${CFLAGS}" + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ ++ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \ + ${realsrcdir}/configure \ + --enable-languages=${enable_languages-all} \ + --target=$target_alias --host=$build_alias --build=$build_alias diff --git a/packages/gcc/files/pr22133-mingw-path-fixup.patch b/packages/gcc/files/pr22133-mingw-path-fixup.patch new file mode 100644 index 0000000000..429e9ffd0c --- /dev/null +++ b/packages/gcc/files/pr22133-mingw-path-fixup.patch @@ -0,0 +1,29 @@ +diff -rupN gcc-4.2.orig/gcc/c-incpath.c gcc-4.2/gcc/c-incpath.c +--- gcc-4.2.orig/gcc/c-incpath.c 2007-09-01 11:28:30.000000000 -0400 ++++ gcc-4.2/gcc/c-incpath.c 2008-08-17 16:56:01.000000000 -0400 +@@ -340,13 +340,18 @@ add_path (char *path, int chain, int cxx + cpp_dir *p; + + #if defined (HAVE_DOS_BASED_FILE_SYSTEM) +- /* Convert all backslashes to slashes. The native CRT stat() +- function does not recognize a directory that ends in a backslash +- (unless it is a drive root dir, such "c:\"). Forward slashes, +- trailing or otherwise, cause no problems for stat(). */ +- char* c; +- for (c = path; *c; c++) +- if (*c == '\\') *c = '/'; ++ /* Remove unnecessary trailing slashes. On some versions of MS ++ Windows, trailing _forward_ slashes cause no problems for stat(). ++ On newer versions, stat() does not recognise a directory that ends ++ in a '\\' or '/', unless it is a drive root dir, such as "c:/", ++ where it is obligatory. */ ++ int pathlen = strlen (path); ++ char* end = path + pathlen - 1; ++ /* Preserve the lead '/' or lead "c:/". */ ++ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1); ++ ++ for (; end > start && IS_DIR_SEPARATOR (*end); end--) ++ *end = 0; + #endif + + p = XNEW (cpp_dir); diff --git a/packages/gcc/files/pr33281-mingw-host-fragment.patch b/packages/gcc/files/pr33281-mingw-host-fragment.patch new file mode 100644 index 0000000000..e16fb4464a --- /dev/null +++ b/packages/gcc/files/pr33281-mingw-host-fragment.patch @@ -0,0 +1,38 @@ +--- + config/mh-mingw | 3 +++ + configure | 1 + + configure.in | 1 + + 3 files changed, 5 insertions(+) + +Index: gcc-4.2.3/config/mh-mingw +=================================================================== +--- /dev/null ++++ gcc-4.2.3/config/mh-mingw +@@ -0,0 +1,3 @@ ++# Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows ++# Vista (see PR33281 for details). ++BOOT_CFLAGS += -D__USE_MINGW_ACCESS +Index: gcc-4.2.3/configure.in +=================================================================== +--- gcc-4.2.3.orig/configure.in ++++ gcc-4.2.3/configure.in +@@ -929,6 +929,7 @@ case "${host}" in + host_makefile_frag="config/mh-cygwin" + ;; + *-mingw32*) ++ host_makefile_frag="config/mh-mingw" + ;; + *-interix*) + host_makefile_frag="config/mh-interix" +Index: gcc-4.2.3/configure +=================================================================== +--- gcc-4.2.3.orig/configure ++++ gcc-4.2.3/configure +@@ -1769,6 +1769,7 @@ case "${host}" in + host_makefile_frag="config/mh-cygwin" + ;; + *-mingw32*) ++ host_makefile_frag="config/mh-mingw" + ;; + *-interix*) + host_makefile_frag="config/mh-interix" diff --git a/packages/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch b/packages/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch new file mode 100644 index 0000000000..faf44c27f9 --- /dev/null +++ b/packages/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch @@ -0,0 +1,13 @@ +--- + config/mh-mingw | 1 + + 1 file changed, 1 insertion(+) + +Index: gcc-4.2.3/config/mh-mingw +=================================================================== +--- gcc-4.2.3.orig/config/mh-mingw ++++ gcc-4.2.3/config/mh-mingw +@@ -1,3 +1,4 @@ + # Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows + # Vista (see PR33281 for details). + BOOT_CFLAGS += -D__USE_MINGW_ACCESS ++CFLAGS += -D__USE_MINGW_ACCESS diff --git a/packages/gcc/gcc-canadian-cross-initial.inc b/packages/gcc/gcc-canadian-cross-initial.inc new file mode 100644 index 0000000000..99c7a476ef --- /dev/null +++ b/packages/gcc/gcc-canadian-cross-initial.inc @@ -0,0 +1,4 @@ +require gcc-cross-initial.inc + +DEPENDS = "virtual/${TARGET_PREFIX}binutils" +DEPENDS += "virtual/${TARGET_PREFIX}libc-initial" diff --git a/packages/gcc/gcc-canadian-sdk_4.2.4.bb b/packages/gcc/gcc-canadian-sdk_4.2.4.bb new file mode 100644 index 0000000000..03d9ae364a --- /dev/null +++ b/packages/gcc/gcc-canadian-sdk_4.2.4.bb @@ -0,0 +1,31 @@ +inherit canadian-sdk + +PR = "r1" + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" + +PACKAGES = "${PN}" + +require gcc-${PV}.inc + +# Correct gmp / mpfr +DEPENDS = "gmp-canadian mpfr-canadian" + +require gcc-configure-canadian-sdk.inc +require gcc-package-canadian-sdk.inc + +SRC_URI_append = "file://fortran-cross-compile-hack.patch;patch=1 \ + file://pr22133-mingw-path-fixup.patch;patch=1 \ + file://pr33281-mingw-host-fragment.patch;patch=1 \ + file://pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch;patch=1" + +ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" + + +SRC_URI_append =+ "\ + file://canadian-build-modules-configure.patch;patch=1 \ +" + +EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \ + --disable-libgomp --disable-libmudflap \ + --with-mpfr=${STAGING_LIBDIR}" |
