* [PATCH 02/13] gcc-package.inc: add ${HOST_EXEEXT} support (for canadian sdk support)
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 03/13] package_ipk.bbclass: add support for for canadian sdk ipkg eha
` (10 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
packages/gcc/gcc-package-sdk.inc | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/packages/gcc/gcc-package-sdk.inc b/packages/gcc/gcc-package-sdk.inc
index a36e632..6a494c7 100644
--- a/packages/gcc/gcc-package-sdk.inc
+++ b/packages/gcc/gcc-package-sdk.inc
@@ -9,10 +9,10 @@ PACKAGES = "${PN} ${PN}-doc"
FILES_${PN} = "\
${bindir}/* \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1${HOST_EXEEXT} \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2${HOST_EXEEXT} \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771${HOST_EXEEXT} \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus${HOST_EXEEXT} \
${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
@@ -35,10 +35,10 @@ do_install () {
rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
# We care about g++ not c++
- rm -f ${D}${bindir}/*c++
+ rm -f ${D}${bindir}/*c++${HOST_EXEEXT}
# We don't care about the gcc-<version> copies
- rm -f ${D}${bindir}/*gcc-?.?*
+ rm -f ${D}${bindir}/*gcc-?.?*${HOST_EXEEXT}
# We use libiberty from binutils
rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
@@ -49,7 +49,7 @@ do_install () {
for l in ${D}${bindir}/*; do
ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`"
done
- ln -sf "${bindir}/${TARGET_PREFIX}gcc" "${D}${prefix}/${TARGET_SYS}/bin/cc"
+ ln -sf "${bindir}/${TARGET_PREFIX}gcc${HOST_EXEEXT}" "${D}${prefix}/${TARGET_SYS}/bin/cc${HOST_EXEEXT}"
# Manually run the target stripper since we won't get it run by
# the packaging.
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 03/13] package_ipk.bbclass: add support for for canadian sdk ipkg
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
2008-10-07 12:51 ` [PATCH 02/13] gcc-package.inc: add ${HOST_EXEEXT} support (for canadian sdk support) eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 04/13] siteinfo.bbclass: add cygwin and mingw32 support eha
` (9 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
classes/package_ipk.bbclass | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index f05b744..ad06475 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -5,6 +5,7 @@ IMAGE_PKGTYPE ?= "ipk"
IPKGCONF_TARGET = "${STAGING_ETCDIR_NATIVE}/opkg.conf"
IPKGCONF_SDK = "${STAGING_ETCDIR_NATIVE}/opkg-sdk.conf"
+IPKGCONF_CANSDK = "${STAGING_ETCDIR_NATIVE}/opkg-canadian-sdk.conf"
python package_ipk_fn () {
from bb import data
@@ -90,6 +91,10 @@ package_update_index_ipk () {
touch ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages
ipkg-make-index -r ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -p ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -l ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages.filelist -m ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/
fi
+ if [ -e ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/ ] ; then
+ touch ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages
+ ipkg-make-index -r ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages -p ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages -l ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages.filelist -m ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/
+ fi
done
}
@@ -102,11 +107,13 @@ package_generate_ipkg_conf () {
mkdir -p ${STAGING_ETCDIR_NATIVE}/
echo "src oe file:${DEPLOY_DIR_IPK}" > ${IPKGCONF_TARGET}
echo "src oe file:${DEPLOY_DIR_IPK}" > ${IPKGCONF_SDK}
+ echo "src oe file:${DEPLOY_DIR_IPK}" > ${IPKGCONF_CANSDK}
ipkgarchs="${PACKAGE_ARCHS}"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> ${IPKGCONF_TARGET}
echo "arch ${BUILD_ARCH}-$arch-sdk $priority" >> ${IPKGCONF_SDK}
+ echo "arch ${SDK_SYS}-sdk-$arch $priority" >> ${IPKGCONF_CANSDK}
priority=$(expr $priority + 5)
if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_TARGET}
@@ -114,6 +121,9 @@ package_generate_ipkg_conf () {
if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages ] ; then
echo "src oe-${BUILD_ARCH}-$arch-sdk file:${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk" >> ${IPKGCONF_SDK}
fi
+ if [ -e ${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch/Packages ] ; then
+ echo "src oe-${SDK_SYS}-sdk-$arch file:${DEPLOY_DIR_IPK}/${SDK_SYS}-sdk-$arch" >> ${IPKGCONF_CANSDK}
+ fi
done
}
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 04/13] siteinfo.bbclass: add cygwin and mingw32 support
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
2008-10-07 12:51 ` [PATCH 02/13] gcc-package.inc: add ${HOST_EXEEXT} support (for canadian sdk support) eha
2008-10-07 12:51 ` [PATCH 03/13] package_ipk.bbclass: add support for for canadian sdk ipkg eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 05/13] bitbake.conf: prepare for canadian sdk support eha
` (8 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
classes/siteinfo.bbclass | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/classes/siteinfo.bbclass b/classes/siteinfo.bbclass
index 039afbb..85dcf72 100644
--- a/classes/siteinfo.bbclass
+++ b/classes/siteinfo.bbclass
@@ -40,6 +40,14 @@ def get_siteinfo_list(d):
"i486-linux-uclibc": "endian-little bit-32 common-linux common-uclibc ix86-common",\
"i586-linux-uclibc": "endian-little bit-32 common-linux common-uclibc ix86-common",\
"i686-linux-uclibc": "endian-little bit-32 common-linux common-uclibc ix86-common",\
+ "i386-cygwin": "endian-little bit-32 common-cygwin ix86-common",\
+ "i486-cygwin": "endian-little bit-32 common-cygwin ix86-common",\
+ "i586-cygwin": "endian-little bit-32 common-cygwin ix86-common",\
+ "i686-cygwin": "endian-little bit-32 common-cygwin ix86-common",\
+ "i386-mingw32": "endian-little bit-32 common-mingw ix86-common",\
+ "i486-mingw32": "endian-little bit-32 common-mingw ix86-common",\
+ "i586-mingw32": "endian-little bit-32 common-mingw ix86-common",\
+ "i686-mingw32": "endian-little bit-32 common-mingw ix86-common",\
"mipsel-linux": "endian-little bit-32 common-linux common-glibc",\
"mipsel-linux-uclibc": "endian-little bit-32 common-linux common-uclibc",\
"mips-linux": "endian-big bit-32 common-linux common-glibc",\
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 05/13] bitbake.conf: prepare for canadian sdk support
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (2 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 04/13] siteinfo.bbclass: add cygwin and mingw32 support eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 06/13] canadian-cross.bbclass, canadian-native.bbclass, canadian-sdk.bbclass added eha
` (7 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
* rename SDK_PREFIX to SDK_PATH
* add various SDK_* variables
* add sdk-${SDK_OS} to OVERRIDES
* sdk.bbclass fixed for change from SDK_PREFIX to SDK_PATH
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
classes/sdk.bbclass | 2 +-
conf/bitbake.conf | 20 ++++++++++++++++++--
packages/meta/external-toolchain.bb | 2 +-
packages/meta/meta-toolchain.bb | 4 ++--
4 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass
index b746426..3897349 100644
--- a/classes/sdk.bbclass
+++ b/classes/sdk.bbclass
@@ -19,7 +19,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 51a18fd..3a8a12c 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -89,6 +89,14 @@ TARGET_PREFIX = "${TARGET_SYS}-"
TARGET_CC_ARCH = ""
TARGET_EXEEXT = ""
+SDK_ARCH ?= "${BUILD_ARCH}"
+SDK_OS ?= "${BUILD_OS}"
+SDK_VENDOR ?= "${BUILD_VENDOR}"
+SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + bb.data.getVar('SDK_OS', d, 1), ''][bb.data.getVar('SDK_OS', d, 1) == ('' or 'custom')]}"
+SDK_PREFIX = "${SDK_SYS}-"
+SDK_CC_ARCH ?= "${BUILD_CC_ARCH}"
+SDK_EXEEXT = ""
+
BASE_PACKAGE_ARCH = "${HOST_ARCH}"
PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}"
MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
@@ -255,6 +263,8 @@ STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
+STAGING_DIR_SDK = "${STAGING_DIR}/${SDK_SYS}"
+
STAGING_DIR_TARGET = "${STAGING_DIR}/${TARGET_SYS}"
DEPLOY_DIR = "${TMPDIR}/deploy"
@@ -268,7 +278,7 @@ DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
PKGDATA_DIR = "${STAGING_DIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
-SDK_PREFIX = "/usr/local/${SDK_NAME}"
+SDK_PATH = "/usr/local/${SDK_NAME}"
##################################################################
# Kernel info.
@@ -377,14 +387,17 @@ PATCHRESOLVE = 'noop'
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
export CPPFLAGS = "${TARGET_CPPFLAGS}"
export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
+export SDK_CPPFLAGS = "-isystem${STAGING_DIR_SDK}${layout_includedir}"
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+export SDK_CFLAGS = "${SDK_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
export CXXFLAGS = "${TARGET_CXXFLAGS}"
export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
+export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
@@ -394,6 +407,9 @@ export LDFLAGS = "${TARGET_LDFLAGS}"
export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1"
+export SDK_LDFLAGS = "-L${STAGING_DIR_SDK}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_SDK}${layout_libdir} \
+ -Wl,-O1"
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
ALLOWED_FLAGS = "-O -mcpu -march -pipe"
@@ -547,7 +563,7 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}"
#
# This works for functions as well, they are really just environment variables.
# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
-OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:sdk-${SDK_OS}:build-${BUILD_OS}:fail-fast:pn-${PN}"
# Alternative OVERRIDES definition without "fail fast", usually only for native building and Scratchbox toolchains.
#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}"
diff --git a/packages/meta/external-toolchain.bb b/packages/meta/external-toolchain.bb
index e1dae5a..4c70054 100644
--- a/packages/meta/external-toolchain.bb
+++ b/packages/meta/external-toolchain.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "This package allows OE to work with an external toolchain generated \
by meta-toolchain instead of building its own. It expects that toolchain \
- to be located in SDK_PREFIX/prefix."
+ to be located in SDK_PATH/prefix."
PROVIDES = "\
linux-libc-headers \
diff --git a/packages/meta/meta-toolchain.bb b/packages/meta/meta-toolchain.bb
index 1fa4cdb..9b91f0d 100644
--- a/packages/meta/meta-toolchain.bb
+++ b/packages/meta/meta-toolchain.bb
@@ -10,7 +10,7 @@ SDK_OUTPUT2 = "${SDK_DIR}/image-extras"
SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
-IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDK_PREFIX}/${TARGET_SYS}"
+IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDK_PATH}/${TARGET_SYS}"
TOOLCHAIN_HOST_TASK ?= "task-sdk-host"
TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
@@ -35,7 +35,7 @@ do_populate_sdk() {
${IPKG_HOST} update
${IPKG_HOST} -force-depends install ${TOOLCHAIN_HOST_TASK}
- mkdir -p ${SDK_OUTPUT}/${SDK_PREFIX}/${TARGET_SYS}/usr/lib/opkg
+ mkdir -p ${SDK_OUTPUT}/${SDK_PATH}/${TARGET_SYS}/usr/lib/opkg
${IPKG_TARGET} update
${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 06/13] canadian-cross.bbclass, canadian-native.bbclass, canadian-sdk.bbclass added
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (3 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 05/13] bitbake.conf: prepare for canadian sdk support eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 07/13] insane.bbclass: add exceptions for canadian-* classes eha
` (6 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
classes/canadian-cross.bbclass | 68 +++++++++++++++++++++++++++
classes/canadian-native.bbclass | 90 ++++++++++++++++++++++++++++++++++++
classes/canadian-sdk.bbclass | 97 +++++++++++++++++++++++++++++++++++++++
3 files changed, 255 insertions(+), 0 deletions(-)
create mode 100644 classes/canadian-cross.bbclass
create mode 100644 classes/canadian-native.bbclass
create mode 100644 classes/canadian-sdk.bbclass
diff --git a/classes/canadian-cross.bbclass b/classes/canadian-cross.bbclass
new file mode 100644
index 0000000..9091ed8
--- /dev/null
+++ b/classes/canadian-cross.bbclass
@@ -0,0 +1,68 @@
+# SDK Cross packages are built indirectly via dependency,
+# no need for them to be a direct target of 'world'
+EXCLUDE_FROM_WORLD = "1"
+
+# Save PACKAGE_ARCH before changing HOST_ARCH
+OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
+PACKAGE_ARCH = ${SDK_ARCH}
+
+PACKAGES = ""
+
+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 = ""
+
+# Overrides for paths
+
+# Path prefixes
+base_prefix = "${exec_prefix}"
+prefix = "${CROSS_DIR}"
+exec_prefix = "${prefix}"
+
+# Base paths
+base_bindir = "${base_prefix}/bin"
+base_sbindir = "${base_prefix}/bin"
+base_libdir = "${base_prefix}/lib"
+
+# Architecture independent paths
+datadir = "${prefix}/share"
+sysconfdir = "${prefix}/etc"
+sharedstatedir = "${prefix}/com"
+localstatedir = "${prefix}/var"
+infodir = "${datadir}/info"
+mandir = "${datadir}/man"
+docdir = "${datadir}/doc"
+servicedir = "${prefix}/srv"
+
+# Architecture dependent paths
+bindir = "${exec_prefix}/bin"
+sbindir = "${exec_prefix}/bin"
+libexecdir = "${exec_prefix}/libexec"
+libdir = "${exec_prefix}/lib"
+includedir = "${STAGING_DIR_TARGET}${layout_includedir}"
+oldincludedir = "${STAGING_DIR_TARGET}${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 0000000..6a3cd45
--- /dev/null
+++ b/classes/canadian-native.bbclass
@@ -0,0 +1,90 @@
+inherit base
+
+# SDK packages are built either explicitly by the user,
+# or indirectly via dependency. No need to be in 'world'.
+EXCLUDE_FROM_WORLD = "1"
+
+# Save PACKAGE_ARCH before changing HOST_ARCH
+OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
+PACKAGE_ARCH = "${SDK_ARCH}"
+
+PACKAGES = ""
+
+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}"
+
+# FIXME: looks broken, but seemed to work... TBD if they can be deleted.
+#STAGING_BINDIR = "${STAGING_BINDIR_SDK}"
+#STAGING_BINDIR_CROSS = "${STAGING_BINDIR_SDK}"
+
+# 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 () {
+ true
+}
diff --git a/classes/canadian-sdk.bbclass b/classes/canadian-sdk.bbclass
new file mode 100644
index 0000000..09ddde1
--- /dev/null
+++ b/classes/canadian-sdk.bbclass
@@ -0,0 +1,97 @@
+# SDK packages are built either explicitly by the user,
+# or indirectly via dependency. No need to be in 'world'.
+EXCLUDE_FROM_WORLD = "1"
+
+OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
+PACKAGE_ARCH = "${SDK_SYS}-sdk-${OLD_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 \
+ "
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 07/13] insane.bbclass: add exceptions for canadian-* classes
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (4 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 06/13] canadian-cross.bbclass, canadian-native.bbclass, canadian-sdk.bbclass added eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 08/13] mingw-runtime, mingw-w32api, mingw-runtime-headers, mingw-w32api-headers eha
` (5 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
classes/insane.bbclass | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index a599689..21ece16 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -280,7 +280,7 @@ def package_qa_check_arch(path,name,d):
target_arch = bb.data.getVar('TARGET_ARCH', d, True)
# FIXME: Cross package confuse this check, so just skip them
- if bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d):
+ if bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('canadian-cross', d) or bb.data.inherits_class('canadian-sdk', d):
return True
# avoid following links to /usr/bin (e.g. on udev builds)
@@ -339,7 +339,7 @@ def package_qa_check_staged(path,d):
workdir = os.path.join(tmpdir, "work")
installed = "installed=yes"
- if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
+ if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d) or bb.data.inherits_class("canadian-native", d) or bb.data.inherits_class("canadian-cross", d):
pkgconfigcheck = workdir
else:
pkgconfigcheck = tmpdir
@@ -353,7 +353,7 @@ def package_qa_check_staged(path,d):
if file[-2:] == "la":
file_content = open(path).read()
# Don't check installed status for native/cross packages
- if not bb.data.inherits_class("native", d) and not bb.data.inherits_class("cross", d):
+ if not bb.data.inherits_class("native", d) and not bb.data.inherits_class("cross", d) and not bb.data.inherits_class("canadian-native", d) and not bb.data.inherits_class("canadian-cross", d):
if installed in file_content:
error_msg = "%s failed sanity test (installed) in path %s" % (file,root)
sane = package_qa_handle_error(5, error_msg, "staging", path, d)
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 08/13] mingw-runtime, mingw-w32api, mingw-runtime-headers, mingw-w32api-headers
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (5 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 07/13] insane.bbclass: add exceptions for canadian-* classes eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 09/13] mingw-binutils-canadian-cross eha
` (4 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
* mingw-runtime and mingw-w32api requires mingw-gcc-canadian-cross-initial
before they can be built
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
| 20 ++++++++++++++++++++
packages/mingw/mingw-runtime_3.14.bb | 21 +++++++++++++++++++++
| 20 ++++++++++++++++++++
packages/mingw/mingw-w32api_3.11.bb | 17 +++++++++++++++++
4 files changed, 78 insertions(+), 0 deletions(-)
create mode 100644 packages/mingw/mingw-runtime-headers_3.14.bb
create mode 100644 packages/mingw/mingw-runtime_3.14.bb
create mode 100644 packages/mingw/mingw-w32api-headers_3.11.bb
create mode 100644 packages/mingw/mingw-w32api_3.11.bb
--git a/packages/mingw/mingw-runtime-headers_3.14.bb b/packages/mingw/mingw-runtime-headers_3.14.bb
new file mode 100644
index 0000000..88ee998
--- /dev/null
+++ b/packages/mingw/mingw-runtime-headers_3.14.bb
@@ -0,0 +1,20 @@
+require mingw-runtime_${PV}.bb
+
+DEPENDS = "mingw-w32api-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+
+do_configure() {
+ :
+}
+
+do_compile() {
+ :
+}
+
+do_install() {
+ :
+}
+
+do_stage() {
+ cp -r ${S}/include/* ${STAGING_INCDIR}/
+}
diff --git a/packages/mingw/mingw-runtime_3.14.bb b/packages/mingw/mingw-runtime_3.14.bb
new file mode 100644
index 0000000..f8f2e8e
--- /dev/null
+++ b/packages/mingw/mingw-runtime_3.14.bb
@@ -0,0 +1,21 @@
+PR = "r1"
+
+inherit canadian-native autotools
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial mingw-w32api"
+
+PROVIDES = "virtual/${TARGET_PREFIX}libc virtual/${TARGET_PREFIX}libc-for-gcc"
+
+DEFAULT_PREFERENCE = "0"
+DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+
+PACKAGES = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/mingw-runtime-${PV}-src.tar.gz"
+S = "${WORKDIR}/mingw-runtime-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+do_configure() {
+ oe_runconf
+}
\ No newline at end of file
--git a/packages/mingw/mingw-w32api-headers_3.11.bb b/packages/mingw/mingw-w32api-headers_3.11.bb
new file mode 100644
index 0000000..25ef810
--- /dev/null
+++ b/packages/mingw/mingw-w32api-headers_3.11.bb
@@ -0,0 +1,20 @@
+require mingw-w32api_${PV}.bb
+
+DEPENDS = ""
+PROVIDES = "mingw-w32api-headers"
+
+do_configure() {
+ :
+}
+
+do_compile() {
+ :
+}
+
+do_install() {
+ :
+}
+
+do_stage() {
+ cp -r ${S}/include/* ${STAGING_INCDIR}/
+}
diff --git a/packages/mingw/mingw-w32api_3.11.bb b/packages/mingw/mingw-w32api_3.11.bb
new file mode 100644
index 0000000..c0a4462
--- /dev/null
+++ b/packages/mingw/mingw-w32api_3.11.bb
@@ -0,0 +1,17 @@
+PR = "r1"
+
+inherit canadian-native autotools
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
+
+PROVIDES = "mingw-w32api"
+
+DEFAULT_PREFERENCE = "0"
+DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+
+PACKAGES = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/w32api-${PV}-src.tar.gz"
+S = "${WORKDIR}/w32api-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 09/13] mingw-binutils-canadian-cross
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (6 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 08/13] mingw-runtime, mingw-w32api, mingw-runtime-headers, mingw-w32api-headers eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 10/13] mingw-gcc-canadian-cross, mingw-gcc-canadian-cross-initial eha
` (3 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
packages/binutils/binutils-canadian-cross.inc | 28 ++++++++++++++++++++
...w-binutils-canadian-cross_2.17.50-20060824-1.bb | 11 ++++++++
.../binutils/mingw-binutils_2.17.50-20060824-1.bb | 12 ++++++++
3 files changed, 51 insertions(+), 0 deletions(-)
create mode 100644 packages/binutils/binutils-canadian-cross.inc
create mode 100644 packages/binutils/mingw-binutils-canadian-cross_2.17.50-20060824-1.bb
create mode 100644 packages/binutils/mingw-binutils_2.17.50-20060824-1.bb
diff --git a/packages/binutils/binutils-canadian-cross.inc b/packages/binutils/binutils-canadian-cross.inc
new file mode 100644
index 0000000..1f2c21e
--- /dev/null
+++ b/packages/binutils/binutils-canadian-cross.inc
@@ -0,0 +1,28 @@
+SECTION = "devel"
+inherit canadian-cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX} \
+ --enable-install-libbfd \
+ --disable-werror"
+
+do_stage () {
+ # ugly hack introduce to link cross with staging area
+ install -d ${CROSS_DIR}/${SDK_SYS}
+ ln -sf ${STAGING_DIR_SDK}${layout_includedir} \
+ ${CROSS_DIR}/${SDK_SYS}/include
+ # FIXME: libdir should not be linked like this anymore
+ ln -sf ${STAGING_DIR_SDK}${layout_libdir} \
+ ${CROSS_DIR}/${SDK_SYS}/lib
+
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/${SDK_SYS}/lib/ldscripts
+}
+
+do_install () {
+ :
+}
diff --git a/packages/binutils/mingw-binutils-canadian-cross_2.17.50-20060824-1.bb b/packages/binutils/mingw-binutils-canadian-cross_2.17.50-20060824-1.bb
new file mode 100644
index 0000000..385aa1d
--- /dev/null
+++ b/packages/binutils/mingw-binutils-canadian-cross_2.17.50-20060824-1.bb
@@ -0,0 +1,11 @@
+require mingw-binutils_${PV}.bb
+require binutils-canadian-cross.inc
+
+DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+DEFAULT_PREFERENCE_sdk-mingw64 = "1"
+
+require binutils-canadian-cross.inc
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/binutils-${PV}-src.tar.gz"
+
+S = "${WORKDIR}/binutils-${PV}-src"
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 0000000..9d17873
--- /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"
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 10/13] mingw-gcc-canadian-cross, mingw-gcc-canadian-cross-initial
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (7 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 09/13] mingw-binutils-canadian-cross eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 11/13] binutils-canadian-sdk eha
` (2 subsequent siblings)
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
packages/gcc/gcc-canadian-cross-initial.inc | 4 ++
.../mingw-gcc-3.4.5-20060117-2/includedir.patch | 12 +++++++
packages/gcc/mingw-gcc-build.inc | 35 ++++++++++++++++++++
...-gcc-canadian-cross-initial_3.4.5-20060117-2.bb | 7 ++++
.../mingw-gcc-canadian-cross_3.4.5-20060117-2.bb | 26 ++++++++++++++
packages/gcc/mingw-gcc_3.4.5-20060117-2.bb | 25 ++++++++++++++
6 files changed, 109 insertions(+), 0 deletions(-)
create mode 100644 packages/gcc/gcc-canadian-cross-initial.inc
create mode 100644 packages/gcc/mingw-gcc-3.4.5-20060117-2/includedir.patch
create mode 100644 packages/gcc/mingw-gcc-build.inc
create mode 100644 packages/gcc/mingw-gcc-canadian-cross-initial_3.4.5-20060117-2.bb
create mode 100644 packages/gcc/mingw-gcc-canadian-cross_3.4.5-20060117-2.bb
create mode 100644 packages/gcc/mingw-gcc_3.4.5-20060117-2.bb
diff --git a/packages/gcc/gcc-canadian-cross-initial.inc b/packages/gcc/gcc-canadian-cross-initial.inc
new file mode 100644
index 0000000..99c7a47
--- /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/mingw-gcc-3.4.5-20060117-2/includedir.patch b/packages/gcc/mingw-gcc-3.4.5-20060117-2/includedir.patch
new file mode 100644
index 0000000..8836560
--- /dev/null
+++ b/packages/gcc/mingw-gcc-3.4.5-20060117-2/includedir.patch
@@ -0,0 +1,12 @@
+diff -urN gcc-3.4.5-20060117-2-orig/gcc/Makefile.in gcc-3.4.5-20060117-2/gcc/Makefile.in
+--- gcc-3.4.5-20060117-2-orig/gcc/Makefile.in 2005-12-12 02:24:01.000000000 +0100
++++ gcc-3.4.5-20060117-2/gcc/Makefile.in 2008-10-02 16:07:17.000000000 +0200
+@@ -442,7 +442,7 @@
+ # Directory to search for site-specific includes.
+ local_includedir = $(local_prefix)/include
+ # local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include
+-includedir = $(prefix)/include
++includedir = @includedir@
+ # where the info files go
+ infodir = @infodir@
+ # Where cpp should go besides $prefix/bin if necessary
diff --git a/packages/gcc/mingw-gcc-build.inc b/packages/gcc/mingw-gcc-build.inc
new file mode 100644
index 0000000..274f50a
--- /dev/null
+++ b/packages/gcc/mingw-gcc-build.inc
@@ -0,0 +1,35 @@
+gcclibdir ?= "${libdir}/gcc"
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+BINV ?= "${PV}"
+
+LANGUAGES ?= "c,c++"
+
+EXTRA_OECONF_DEP ?= ""
+
+EXTRA_OECONF = "\
+ ${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
+ --disable-shared \
+ --enable-languages=${LANGUAGES} \
+ --enable-threads=win32 \
+ --enable-c99 \
+ --enable-long-long \
+ --disable-maintainer-mode \
+ --disable-bootstrap \
+ --enable-target-optspace \
+ --disable-win32-registry \
+ --without-x \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF_PATHS = " \
+ --with-local-prefix=${prefix}/local \
+ --with-gxx-include-dir=${includedir}/c++/${BINV}"
+
+CPP = ""
+CPPFLAGS = ""
+
+do_configure () {
+ oe_runconf
+}
diff --git a/packages/gcc/mingw-gcc-canadian-cross-initial_3.4.5-20060117-2.bb b/packages/gcc/mingw-gcc-canadian-cross-initial_3.4.5-20060117-2.bb
new file mode 100644
index 0000000..f5ff761
--- /dev/null
+++ b/packages/gcc/mingw-gcc-canadian-cross-initial_3.4.5-20060117-2.bb
@@ -0,0 +1,7 @@
+require mingw-gcc-canadian-cross_${PV}.bb
+require gcc-canadian-cross-initial.inc
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-core-${PV}-src.tar.gz \
+ file://includedir.patch;patch=1 \
+"
diff --git a/packages/gcc/mingw-gcc-canadian-cross_3.4.5-20060117-2.bb b/packages/gcc/mingw-gcc-canadian-cross_3.4.5-20060117-2.bb
new file mode 100644
index 0000000..479ff8b
--- /dev/null
+++ b/packages/gcc/mingw-gcc-canadian-cross_3.4.5-20060117-2.bb
@@ -0,0 +1,26 @@
+PR = "r1"
+
+require gcc-configure-cross.inc
+require mingw-gcc_${PV}.bb
+
+inherit canadian-cross
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/mingw-gcc-${PV}"
+
+DEPENDS = "\
+ virtual/${TARGET_PREFIX}binutils \
+ virtual/${TARGET_PREFIX}libc-for-gcc \
+"
+
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+do_configure_prepend() {
+ # ugly hack to come around the hardcoding of
+ # -isystem ${build_tooldir}/include which ends up pointing at
+ # $CROSS_DIR/$SDK_SYS/include
+ install -d ${CROSS_DIR}/${SDK_SYS}
+ ln -sf ${STAGING_DIR_SDK}${layout_includedir} \
+ ${CROSS_DIR}/${SDK_SYS}/include
+ ln -sf ${STAGING_DIR_SDK}${layout_libdir} \
+ ${CROSS_DIR}/${SDK_SYS}/lib
+}
diff --git a/packages/gcc/mingw-gcc_3.4.5-20060117-2.bb b/packages/gcc/mingw-gcc_3.4.5-20060117-2.bb
new file mode 100644
index 0000000..22f9170
--- /dev/null
+++ b/packages/gcc/mingw-gcc_3.4.5-20060117-2.bb
@@ -0,0 +1,25 @@
+PR = "r1"
+DESCRIPTION = "The GNU Compiler Collection - MinGW port"
+HOMEPAGE = "http://www.mingw.org/"
+SECTION = "devel"
+LICENSE = "GPL"
+
+DEFAULT_PREFERENCE = "0"
+DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+
+inherit autotools gettext
+
+require gcc-common.inc
+require gcc-package-sdk.inc
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/gcc-core-${PV}-src.tar.gz \
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-g++-${PV}-src.tar.gz \
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-g77-${PV}-src.tar.gz \
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-java-${PV}-src.tar.gz \
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-objc-${PV}-src.tar.gz \
+ ${SOURCEFORGE_MIRROR}/mingw/gcc-ada-${PV}-src.tar.gz \
+ file://includedir.patch;patch=1 \
+"
+
+
+require mingw-gcc-build.inc
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 11/13] binutils-canadian-sdk
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (8 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 10/13] mingw-gcc-canadian-cross, mingw-gcc-canadian-cross-initial eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 12/13] gcc-canadian-sdk_4.2.2.bb eha
2008-10-07 12:51 ` [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb eha
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
packages/binutils/binutils-canadian-sdk_2.18.bb | 29 +++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
create mode 100644 packages/binutils/binutils-canadian-sdk_2.18.bb
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 0000000..cf27cd0
--- /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}
+}
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 12/13] gcc-canadian-sdk_4.2.2.bb
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (9 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 11/13] binutils-canadian-sdk eha
@ 2008-10-07 12:51 ` eha
2008-10-07 12:51 ` [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb eha
11 siblings, 0 replies; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
.../canadian-build-modules-configure.patch | 22 +++++
packages/gcc/gcc-canadian-sdk-build.inc | 81 ++++++++++++++++++++
packages/gcc/gcc-canadian-sdk-package.inc | 36 +++++++++
packages/gcc/gcc-canadian-sdk_4.2.2.bb | 27 +++++++
4 files changed, 166 insertions(+), 0 deletions(-)
create mode 100644 packages/gcc/gcc-4.2.2/canadian-build-modules-configure.patch
create mode 100644 packages/gcc/gcc-canadian-sdk-build.inc
create mode 100644 packages/gcc/gcc-canadian-sdk-package.inc
create mode 100644 packages/gcc/gcc-canadian-sdk_4.2.2.bb
diff --git a/packages/gcc/gcc-4.2.2/canadian-build-modules-configure.patch b/packages/gcc/gcc-4.2.2/canadian-build-modules-configure.patch
new file mode 100644
index 0000000..8aede10
--- /dev/null
+++ b/packages/gcc/gcc-4.2.2/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/gcc-canadian-sdk-build.inc b/packages/gcc/gcc-canadian-sdk-build.inc
new file mode 100644
index 0000000..aba2067
--- /dev/null
+++ b/packages/gcc/gcc-canadian-sdk-build.inc
@@ -0,0 +1,81 @@
+USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
+USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}'
+
+ARCH_FLAGS_FOR_TARGET=""
+
+# Tools for build
+export CC_FOR_BUILD="${BUILD_CC}"
+export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
+export CPP_FOR_BUILD="${BUILD_CPP}"
+export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
+export CXX_FOR_BUILD="${BUILD_CXX}"
+export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
+export LD_FOR_BUILD="${BUILD_LD}"
+export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
+export AS_FOR_BUILD="${BUILD_PREFIX}as"
+export AR_FOR_BUILD="${BUILD_PREFIX}ar"
+export NM_FOR_BUILD="${BUILD_PREFIX}nm"
+export RANLIB_FOR_BUILD="${BUILD_PREFIX}ranlib"
+export GCJ_FOR_BUILD="${BUILD_PREFIX}gcj"
+export GFORTRAN_FOR_BUILD="${BUILD_PREFIX}gfortran"
+export DLLTOOL_FOR_BUILD="${BUILD_PREFIX}dlltool"
+export WINDRES_FOR_BUILD="${BUILD_PREFIX}windres"
+
+# Tools for host
+#CC
+#CFLAGS
+#CXX
+#CXXFLAGS
+#LD
+LDFLAGS=""
+#AS
+#AR
+#NM
+#RANLIB
+#GCJ
+#GFORTRAN
+export DLLTOOL="${HOST_PREFIX}dlltool"
+export WINDRES="${HOST_PREFIX}windres"
+
+# Tools for target
+export CC_FOR_TARGET="${TARGET_CC}"
+export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}"
+export CXX_FOR_TARGET="${TARGET_CXX}"
+export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
+export LD_FOR_TARGET="${TARGET_LD}"
+export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
+export AS_FOR_TARGET="${TARGET_PREFIX}as"
+export AR_FOR_TARGET="${TARGET_PREFIX}ar"
+export NM_FOR_TARGET="${TARGET_PREFIX}nm"
+export RANLIB_FOR_TARGET="${TARGET_PREFIX}ranlib"
+export GCJ_FOR_TARGET="${TARGET_PREFIX}gcj"
+export GFORTRAN_FOR_TARGET="${TARGET_PREFIX}gfortran"
+export DLLTOOL_FOR_TARGET="${TARGET_PREFIX}dlltool"
+export WINDRES_FOR_TARGET="${TARGET_PREFIX}windres"
+
+EXTRA_OECONF_DEP ?= ""
+
+SYSROOT = "${WORKDIR}/sysroot"
+EXTRA_OECONF += ""
+EXTRA_OECONF_PATHS = " \
+ --with-local-prefix=$dollar{prefix}/local \
+ --with-gxx-include-dir=$dollar{prefix}/${TARGET_SYS}/usr/include/c++/${BINV} \
+ --with-build-sysroot=${SYSROOT} \
+ --with-sysroot=${SDK_REALPATH}/${TARGET_SYS} \
+"
+
+do_configure () {
+ # Work around Hardcoded path assumptions in gcc
+ mkdir -p ${SYSROOT}/usr
+ ln -sf ${STAGING_DIR_SDK}${layout_includedir} \
+ ${SYSROOT}/usr/include
+ ln -sf ${STAGING_DIR_SDK}${layout_libdir} \
+ ${SYSROOT}/usr/lib
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ (cd ${S}/libstdc++-v3 && autoreconf)
+ canadian_sdk_runconf
+}
+
+do_compile () {
+ oe_runmake
+}
diff --git a/packages/gcc/gcc-canadian-sdk-package.inc b/packages/gcc/gcc-canadian-sdk-package.inc
new file mode 100644
index 0000000..5889821
--- /dev/null
+++ b/packages/gcc/gcc-canadian-sdk-package.inc
@@ -0,0 +1,36 @@
+# Packages emitted by our gcc-cross builds.
+#
+INHIBIT_PACKAGE_STRIP ?= ""
+OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
+INHIBIT_PACKAGE_STRIP = "1"
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' 'prefix=${SDK_PATH}' install
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
+ ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libg2c.so.* || true
+ ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libgcc_s.so.*
+ fi
+}
+
+FILES_libgcc = "${prefix}/${TARGET_SYS}/lib/libgcc*.so.*"
+FILES_libgcc-dev = "${prefix}/${TARGET_SYS}/lib/libgcc*.so"
+
+FILES_libstdc++ = "${prefix}/${TARGET_SYS}/lib/libstdc++.so.*"
+FILES_libstdc++-dev = "${prefix}/${TARGET_SYS}/usr/include/c++/${BINV} \
+ ${prefix}/${TARGET_SYS}/lib/libstdc++.so \
+ ${prefix}/${TARGET_SYS}/lib/libstdc++.a \
+ ${prefix}/${TARGET_SYS}/lib/libsupc++.a"
+
+FILES_libmudflap = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so.*"
+FILES_libmudflap-dev = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so \
+ ${prefix}/${TARGET_SYS}/lib/libmudflap*.a"
diff --git a/packages/gcc/gcc-canadian-sdk_4.2.2.bb b/packages/gcc/gcc-canadian-sdk_4.2.2.bb
new file mode 100644
index 0000000..f94863f
--- /dev/null
+++ b/packages/gcc/gcc-canadian-sdk_4.2.2.bb
@@ -0,0 +1,27 @@
+inherit canadian-sdk
+
+DEPENDS="\
+ virtual/${HOST_PREFIX}binutils \
+ virtual/${HOST_PREFIX}gcc \
+ virtual/${TARGET_PREFIX}binutils \
+ virtual/${TARGET_PREFIX}gcc \
+ virtual/${TARGET_PREFIX}libc-for-gcc \
+ gmp-native mpfr-native \
+"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+PACKAGES = "${PN}"
+
+require gcc_${PV}.bb
+
+SRC_URI_append =+ "\
+ file://canadian-build-modules-configure.patch;patch=1 \
+"
+
+require gcc-canadian-sdk-build.inc
+require gcc-canadian-sdk-package.inc
+
+EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \
+ --disable-libgomp --disable-libmudflap \
+ --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb
2008-10-07 12:51 ` [PATCH 01/13] Add BUILD/HOST/TARGET _EXEEXT variables for (ab)use by canadian sdk eha
` (10 preceding siblings ...)
2008-10-07 12:51 ` [PATCH 12/13] gcc-canadian-sdk_4.2.2.bb eha
@ 2008-10-07 12:51 ` eha
2008-10-07 13:35 ` Henning Heinold
11 siblings, 1 reply; 35+ messages in thread
From: eha @ 2008-10-07 12:51 UTC (permalink / raw)
To: openembedded-devel; +Cc: Esben Haabendal
From: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Esben Haabendal <eha@doredevelopment.dk>
---
packages/meta/canadian-sdk.bb | 143 ++++++++++++++++++++++++++++++
packages/tasks/task-sdk-canadian-host.bb | 24 +++++
2 files changed, 167 insertions(+), 0 deletions(-)
create mode 100644 packages/meta/canadian-sdk.bb
create mode 100644 packages/tasks/task-sdk-canadian-host.bb
diff --git a/packages/meta/canadian-sdk.bb b/packages/meta/canadian-sdk.bb
new file mode 100644
index 0000000..119b4b0
--- /dev/null
+++ b/packages/meta/canadian-sdk.bb
@@ -0,0 +1,143 @@
+DESCRIPTION = "Meta package for building a installable toolchain"
+LICENSE = "MIT"
+DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
+PR = "r2"
+
+inherit canadian-sdk meta
+
+SDK_DIR = "${WORKDIR}/sdk"
+SDK_OUTPUT = "${SDK_DIR}/image"
+SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
+SDK_SUFFIX = "toolchain"
+
+FEED_ARCH ?= "${TARGET_ARCH}"
+
+IPKG_HOST = "ipkg-cl -f ${IPKGCONF_CANSDK} -o ${SDK_OUTPUT}"
+IPKG_TARGET = "ipkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}${prefix}"
+
+TOOLCHAIN_CANADIAN_HOST_TASK ?= "task-sdk-canadian-host"
+TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
+
+RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_CANADIAN_HOST_TASK}"
+
+do_populate_sdk() {
+ rm -rf ${SDK_OUTPUT}
+ mkdir -p ${SDK_OUTPUT}
+
+ package_update_index_ipk
+ package_generate_ipkg_conf
+
+ for arch in ${PACKAGE_ARCHS}; do
+ revipkgarchs="$arch $revipkgarchs"
+ done
+
+ ${IPKG_HOST} update
+ ${IPKG_HOST} -force-depends install ${TOOLCHAIN_CANADIAN_HOST_TASK}
+
+ ${IPKG_TARGET} update
+ ${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
+
+ mkdir -p ${SDK_OUTPUT}${prefix}/${TARGET_SYS}
+ cp -pPR ${SDK_OUTPUT}${prefix}/usr ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/
+ rm -rf ${SDK_OUTPUT}${prefix}/usr
+
+ cp -pPR ${SDK_OUTPUT}${prefix}/lib/* ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/
+ rm -rf ${SDK_OUTPUT}${prefix}/lib/*
+
+ cp -pPR ${SDK_OUTPUT}/usr/lib/ipkg ${SDK_OUTPUT}${prefix}/lib/
+ rm -rf ${SDK_OUTPUT}/usr/lib/ipkg/*
+ rmdir -p --ignore-fail-on-non-empty ${SDK_OUTPUT}/usr/lib/ipkg
+
+ for fn in `ls ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/`; do
+ if [ -h ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn ]; then
+ link=`readlink ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn`
+ bname=`basename $link`
+ if [ ! -e $link -a -e ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$bame ]; then
+ rm ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn
+ ln -s $bname ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn
+ fi
+ fi
+ done
+
+ mv ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/gcc ${SDK_OUTPUT}${prefix}/lib
+
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/libc.so
+
+ # extract and store ipks, pkgdata and shlibs data
+ target_pkgs=`cat ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/usr/lib/ipkg/status | grep Package: | cut -f 2 -d ' '`
+ mkdir -p ${SDK_OUTPUT}${prefix}/ipk/
+ mkdir -p ${SDK_OUTPUT}${prefix}/pkgdata/runtime/
+ mkdir -p ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/shlibs/
+ for pkg in $target_pkgs ; do
+ for arch in $revipkgarchs; do
+ pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
+ if [ -e $pkgnames ]; then
+ oenote "Found $pkgnames"
+ cp $pkgnames ${SDK_OUTPUT}${prefix}/ipk/
+ orig_pkg=`ipkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
+ pkg_subdir_postfix=${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
+ for aarch in $revipkgarchs; do
+ if [ -e "${STAGING_DIR}/pkgdata/${aarch}${pkg_subdir_postfix}/${orig_pkg}" ]; then
+ pkg_subdir="${aarch}${pkg_subdir_postfix}"
+ break
+ fi
+ done
+ oenote "Original package in ${pkg_subdir}"
+ mkdir -p ${SDK_OUTPUT}${prefix}/pkgdata/$pkg_subdir/runtime
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}${prefix}/pkgdata/$pkg_subdir/
+ subpkgs=`cat ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
+ for subpkg in $subpkgs; do
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT}${prefix}/pkgdata/$pkg_subdir/runtime/
+ if [ -e ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT}${prefix}/pkgdata/$pkg_subdir/runtime/
+ fi
+ if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
+ cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/shlibs/
+ fi
+ done
+ break
+ fi
+ done
+ done
+
+ # add missing link to libgcc_s.so.1
+ # libgcc-dev should be responsible for that, but it's not getting built
+ # RP: it gets smashed up depending on the order that gcc, gcc-cross and
+ # gcc-cross-sdk get built :( (30/11/07)
+ ln -sf libgcc_s.so.1 ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/libgcc_s.so
+
+ # remove unwanted executables
+ rm -rf ${SDK_OUTPUT}${prefix}/sbin ${SDK_OUTPUT}${prefix}/etc
+
+ # remove broken .la files
+ rm -f ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/*.la
+
+ # fix pkgconfig data files
+ if [ -e ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/pkgconfig ]; then
+ cd ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/pkgconfig
+ for f in *.pc ; do
+ sed -i 's%=/usr%=${prefix}/${TARGET_SYS}%g' "$f"
+ done
+ for f in *.pc ; do
+ sed -i 's%${STAGING_DIR}%${prefix}%g' "$f"
+ done
+ fi
+}
+
+do_package_sdk() {
+ # package it up
+ mkdir -p ${SDK_DEPLOY}
+ cd ${SDK_OUTPUT}
+ fakeroot tar cfj ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.tar.bz2 .${prefix}
+ rm -f ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip
+ zip -r -D ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip .${prefix}
+}
+
+do_populate_sdk[nostamp] = "1"
+do_populate_sdk[recrdeptask] = "do_package_write"
+addtask populate_sdk before do_build after do_install
+
+do_package_sdk[nostamp] = "1"
+do_package_sdk[recrdeptask] = "do_populate_sdk"
+addtask package_sdk before do_build after do_populate_sdk
diff --git a/packages/tasks/task-sdk-canadian-host.bb b/packages/tasks/task-sdk-canadian-host.bb
new file mode 100644
index 0000000..2f8c1e3
--- /dev/null
+++ b/packages/tasks/task-sdk-canadian-host.bb
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd
+#
+
+DESCRIPTION = "Host packages for the standalone SDK or external toolchain"
+PR = "r1"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+inherit canadian-sdk
+
+PACKAGES = "${PN}"
+
+RDEPENDS_${PN} = "\
+ binutils-canadian-sdk \
+ gcc-canadian-sdk \
+ g++ \
+ cpp \
+ libgcc \
+ libgcc-dev \
+ libstdc++ \
+ libstdc++-dev \
+ "
+# gdb-canadian-sdk \
--
1.5.4.3
^ permalink raw reply related [flat|nested] 35+ messages in thread* Re: [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb
2008-10-07 12:51 ` [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb eha
@ 2008-10-07 13:35 ` Henning Heinold
2008-10-07 13:44 ` Esben Haabendal
2008-10-07 14:45 ` Otavio Salvador
0 siblings, 2 replies; 35+ messages in thread
From: Henning Heinold @ 2008-10-07 13:35 UTC (permalink / raw)
To: openembedded-devel
Hi,
thanks for the patches, but normaly we prefer to put the patches into the
bugtracker and mentioned here the bug id.
Bye Henning
PS: If no one is doing something on this bug ping the list from time to time.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb
2008-10-07 13:35 ` Henning Heinold
@ 2008-10-07 13:44 ` Esben Haabendal
2008-10-07 14:45 ` Otavio Salvador
1 sibling, 0 replies; 35+ messages in thread
From: Esben Haabendal @ 2008-10-07 13:44 UTC (permalink / raw)
To: openembedded-devel
On Tue, Oct 7, 2008 at 3:35 PM, Henning Heinold
<heinold@inf.fu-berlin.de> wrote:
>
> thanks for the patches, but normaly we prefer to put the patches into the
> bugtracker and mentioned here the bug id.
Well, I would like to have a discussion on this patch series, and were
not suggesting to commit it as-is.
Also, as you might have noticed it, I am sending the patches as git
diff's, and not mtn diffs, so I assume
I would be ill fated If I were to put them in bugzilla.
Anyway, I just hope that someone will take a look at this work, so I
that I have a chance to move
canadian sdk in the right direction for putting it into .dev some day.
/Esben
--
Esben Haabendal, Senior Software Consultant
DoréDevelopment ApS, Ved Stranden 1, 9560 Hadsund, DK-Denmark
Phone: +45 51 92 53 93, E-mail: eha@doredevelopment.dk
WWW: http://www.doredevelopment.dk
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 13/13] canadian-sdk.bb, task-sdk-canadian-host.bb
2008-10-07 13:35 ` Henning Heinold
2008-10-07 13:44 ` Esben Haabendal
@ 2008-10-07 14:45 ` Otavio Salvador
2008-10-07 16:48 ` Esben Haabendal
1 sibling, 1 reply; 35+ messages in thread
From: Otavio Salvador @ 2008-10-07 14:45 UTC (permalink / raw)
To: openembedded-devel
Henning Heinold <heinold@inf.fu-berlin.de> writes:
> Hi,
>
> thanks for the patches, but normaly we prefer to put the patches into the
> bugtracker and mentioned here the bug id.
>
> Bye Henning
>
> PS: If no one is doing something on this bug ping the list from time to time.
It would be much better to open a bug just to point to the git
tree. Otherwise it is really boring to submit a lot of patches to
bugzilla.
Besides that, reviewing the patches here are much easier and easy to
others to spot mistakes too.
My 2c.
--
O T A V I O S A L V A D O R
---------------------------------------------
E-mail: otavio@debian.org UIN: 5906116
GNU/Linux User: 239058 GPG ID: 49A5F855
Home Page: http://otavio.ossystems.com.br
---------------------------------------------
"Microsoft sells you Windows ... Linux gives
you the whole house."
^ permalink raw reply [flat|nested] 35+ messages in thread