summaryrefslogtreecommitdiff
path: root/recipes/chicken/chicken.inc
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2009-10-07 19:29:36 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2009-10-29 20:43:50 -0200
commit7afc325ab1fac79e1eaba65383bfed12d705d7bc (patch)
tree9a238963ef0aa1001d4832ad261850e827d3e9d4 /recipes/chicken/chicken.inc
parentbbe9ae502bf711a30197ddf26dd91bc91f4cf421 (diff)
chicken: revamp recipes
To allow easy usage of chicken, in embedded environments, we have done some refactoring in the packages: - split it up to chicken, libchicken and libuchickenl - drop 2.6 version since no distro depends on that and is not commonly used anymore; - generalize .inc file to be usable for 3.x and 4.x versions; - add new 4.2.0 release, - use INC_PR. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes/chicken/chicken.inc')
-rw-r--r--recipes/chicken/chicken.inc71
1 files changed, 71 insertions, 0 deletions
diff --git a/recipes/chicken/chicken.inc b/recipes/chicken/chicken.inc
new file mode 100644
index 0000000000..ff8da65683
--- /dev/null
+++ b/recipes/chicken/chicken.inc
@@ -0,0 +1,71 @@
+ESCRIPTION = "A compiler that translates Scheme source files to C, and an interpreter"
+HOMEPAGE = "http://www.call-with-current-continuation.org/"
+SECTION = "interpreters"
+PRIORITY = "optional"
+LICENSE = "BSD"
+INC_PR = "r1"
+
+SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz"
+
+inherit autotools
+
+# Parallel building is not supported
+PARALLEL_MAKE = ""
+
+# Required environment values
+export PLATFORM="linux"
+export PREFIX="${prefix}"
+export C_COMPILER="${TARGET_PREFIX}gcc ${LDFLAGS} "
+export LIBRARIAN="${TARGET_PREIX}ar "
+export TARGETSYSTEM="${TARGET_SYS}"
+
+SONAME = "${@bb.data.getVar("PV", d, 1)[0]}"
+ASSUME_SHLIBS += "libchicken.so.${SONAME}:libchicken libuchicken.so.${SONAME}:libuchicken"
+
+do_compile() {
+ case ${TARGET_ARCH} in
+ i*86)
+ ARCH=x86
+ ;;
+ *)
+ echo "Check ARCH value for ${TARGET_ARCH}"
+ exit 1
+ ;;
+ esac
+
+ make ARCH=${ARCH}
+}
+
+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
+}
+
+do_install_append() {
+ # Handle lacking of soname is some versions
+ if [ ! -e ${D}${libdir}/libchicken.so.${SONAME} ]; then
+ (cd ${D}${libdir}
+ mv libchicken.so libchicken.so.${SONAME}
+ ln -s libchicken.so.${SONAME} libchicken.so
+ mv libuchicken.so libuchicken.so.${SONAME}
+ ln -s libuchicken.so.${SONAME} libuchicken.so)
+ fi
+}
+
+PACKAGES += "chicken-bin libchicken libuchicken"
+
+FILES_${PN} = ""
+FILES_libchicken = "${libdir}/libchicken.so.${SONAME}"
+FILES_libuchicken = "${libdir}/libuchicken.so.${SONAME}*"
+FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/${SONAME}/*.so"
+FILES_${PN}-doc += "${datadir}/chicken/doc"
+FILES_${PN}-dbg += "${libdir}/chicken/*/.debug"