--- /dev/null
+def chicken_arch(bb, d):
+ import re
+ arch_pattern = re.compile('^i.*86$')
+ target_arch = d.getVar("TARGET_ARCH", 1)
+ if arch_pattern.match(target_arch):
+ return 'x86'
+ else:
+ return target_arch
+
+CHICKEN_ARCH = "${@chicken_arch(bb, d)}"
+
--- /dev/null
+require chicken.inc
+
+DEPENDS = "gcc-cross-sdk chicken"
+RDEPENDS = "gcc-cross-sdk chicken"
+
+inherit cross
+
+do_compile() {
+ make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar
+}
+
+do_install() {
+ make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar install
+}
+
+do_stage() {
+ make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar install
+}
+
+PACKAGES += "chicken-bin libchicken libuchicken"
+
+FILES_${PN} = ""
+FILES_libchicken = "${libdir}/libchicken.so.*"
+FILES_libuchicken = "${libdir}/libuchicken.so.*"
+FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/*/*.so"
+FILES_${PN}-doc += "${datadir}/chicken/doc"
+FILES_${PN}-dbg += "${libdir}/chicken/*/.debug"
LICENSE = "BSD"
INC_PR = "r1"
-SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz"
+SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz \
+ file://soname.patch;patch=1"
# Parallel building is not supported
PARALLEL_MAKE = ""
-# Required environment values
-export PLATFORM="linux"
-export PREFIX="${prefix}"
-export LIBRARIAN="${TARGET_PREFIX}"
-export TARGETSYSTEM="${TARGET_SYS}"
-
-do_compile() {
- case ${TARGET_ARCH} in
- i*86)
- ARCH=x86
- ;;
- *)
- echo "Check ARCH value for ${TARGET_ARCH}"
- exit 1
- ;;
- esac
-
- make ARCH=${ARCH} TARGET_C_COMPILER=gcc
-}
-
-do_install() {
- case ${TARGET_ARCH} in
- i*86)
- ARCH=x86
- ;;
- *)
- echo "Check ARCH value for ${TARGET_ARCH}"
- exit 1
- ;;
- esac
-
- make ARCH=${ARCH} DESTDIR=${D} install
-}
-
-PACKAGES += "chicken-bin libchicken libuchicken"
-
-FILES_${PN} = ""
-FILES_libchicken = "${libdir}/libchicken.so.*"
-FILES_libuchicken = "${libdir}/libuchicken.so.*"
-FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/*/*.so"
-FILES_${PN}-doc += "${datadir}/chicken/doc"
-FILES_${PN}-dbg += "${libdir}/chicken/*/.debug"
+inherit chicken
require chicken.inc
-SRC_URI += "file://soname.patch;patch=1"
+DEPENDS = "gcc-cross-sdk"
+RDEPENDS = "gcc-cross-sdk"
-PR = "${INC_PR}.1"
+do_compile() {
+ make PLATFORM="linux" PREFIX="${STAGING_DIR}/${TARGET_SYS}${layout_prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH}
+}
+
+do_install() {
+ make PLATFORM="linux" PREFIX="${STAGING_DIR}/${TARGET_SYS}${layout_prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install
+}
+
+do_stage() {
+ make PLATFORM="linux" PREFIX="${STAGING_DIR}/${TARGET_SYS}${layout_prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install
+}
+
+PACKAGES += "chicken-bin libchicken libuchicken"
+
+FILES_${PN} = ""
+FILES_libchicken = "${libdir}/libchicken.so.*"
+FILES_libuchicken = "${libdir}/libuchicken.so.*"
+FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/*/*.so"
+FILES_${PN}-doc += "${datadir}/chicken/doc"
+FILES_${PN}-dbg += "${libdir}/chicken/*/.debug"