aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/libffi/libffi_2.0+gcc3.4.1.bb
blob: 41ad8726e3b41add016fc91e05f5adf24d9cbce1 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
SECTION = "libs"
DESCRIPTION = "Foreign Function Interface library"
LICENSE = "libffi"
PRIORITY = "optional"
PR = "r1"

inherit autotools gettext

PACKAGES = "${PN}-dbg ${PN} ${PN}-dev"

FILES_${PN} = "${libdir}/libffi.so.*"

FILES_${PN}-dev = "${includedir}/ffi* \
		   ${libdir}/libffi.a \
		   ${libdir}/libffi.la \
		   ${libdir}/libffi.so"

GCC_VER = "${@bb.data.getVar('PV',d,1).split('gcc')[1]}"

SRC_URI = "${GNU_MIRROR}/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2 \
	   file://soname.patch;patch=1"

MIRRORS_prepend () {
${GNU_MIRROR}/gcc/	http://gcc.get-software.com/releases/
${GNU_MIRROR}/gcc/	http://mirrors.rcn.net/pub/sourceware/gcc/releases/
}

S = "${WORKDIR}/gcc-${GCC_VER}/libffi"
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"

EXTRA_OECONF = "--with-gnu-ld \
                --enable-shared \
                --enable-target-optspace \
                --enable-languages=c,c++,f77 \
                --enable-threads=posix \
                --enable-multilib \
                --enable-c99 \
                --enable-long-long \
                --enable-symvers=gnu \
                --program-prefix=${TARGET_PREFIX} \
                ${EXTRA_OECONF_PATHS}"

EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
                      --with-gxx-include-dir=${includedir}/c++/${PV}"

do_configure () {
	(cd ${S}/.. && gnu-configize) || die "failure running gnu-configize"
	oe_runconf
}

do_install_append() {
	# follow debian and move this to $includedir
	mv ${D}${libdir}/gcc/${TARGET_SYS}/${GCC_VER}/include/libffi/ffitarget.h ${D}${includedir}/
}

ffi_include = "ffi.h ffitarget.h"

do_stage () {
	oe_libinstall -so -C .libs libffi ${STAGING_LIBDIR}

	mkdir -p ${STAGING_INCDIR}/
	for i in ${ffi_include}; do
		install -m 0644 include/$i ${STAGING_INCDIR}/
	done
}

SRC_URI[md5sum] = "31b459062499f9f68d451db9cbf3205c"
SRC_URI[sha256sum] = "5f3685533f8dc4b42b926fe70bb371b31e1368223a0ad7398ba27ea3a20e8e7a"