aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/guile/guile.inc
blob: f0159659020e4c18df5fdc02a67fbb8fede1b2bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
DESCRIPTION = "Guile is an interpreter for the Scheme programming language, \
packaged as a library which can be incorporated into your programs."
HOMEPAGE = "http://www.gnu.org/software/guile/guile.html"
SECTION = "devel/scheme"
DEPENDS = "guile-native gmp libtool"
LICENSE = "GPL"
PACKAGES =+ "${PN}-el"
FILES_${PN}-el = "${datadir}/emacs"
DESCRIPTION_${PN}-el = "Emacs lisp files for Guile"

inherit autotools

acpaths = "-I ${S}/guile-config"

EXTRA_OECONF = " \
		--without-threads \
		--without-included-ltdl \
               "		

do_compile() {
	for i in $(find ${S} -name "Makefile") ; do
		sed -i -e s:-Werror::g $i
	done

	(cd libguile; oe_runmake CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}" guile_filter_doc_snarfage)
	oe_runmake preinstguile="`which guile`"
        
        sed -i -e s:${STAGING_DIR_TARGET}::g \
               -e s:/${TARGET_SYS}::g \
               -e s:-L/usr/lib::g \
               -e s:-isystem/usr/include::g \
               -e s:,/usr/lib:,\$\{libdir\}:g \
                  guile-1.8.pc
}

SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"

guile_cross_config() {
	# Create guile-config returning target values instead of native values
	install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
	echo '#!'`which guile`$' \\\n-e main -s\n!#\n(define %guile-build-info '\'\( >guile-config.cross
	sed -n $'s:-isystem[^ ]* ::;s:-Wl,-rpath-link,[^ ]* ::;s:^[ \t]*{[ \t]*":  (:;s:",[ \t]*": . ":;s:" *}, *\\\\:"):;/^  (/p' <libguile/libpath.h >>guile-config.cross
	echo '))' >>guile-config.cross
	cat guile-config/guile-config >>guile-config.cross
	install guile-config.cross ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/guile-config
}