Files
poky/meta/recipes-devtools/swig/swig.inc
Luca Boccassi c3acb677fa swig: fix build with musl
Building with musl currently fails. The fix has been committed
upstream, so backport it.
Note that it requires running yacc again to regenerate the parser file,
so a bison-native dependency is needed. Also the upstream's configure
step creates the directory where the parser file is generated at
make-dist time, and for some reason running through bitbake does not
create it, so do it manually. All of this can be reverted once a new
swig version that includes the fix is released and rebased onto.

(From OE-Core rev: 92d23674587fb9c6634b9ba88b8399b0ec40bd1c)

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-04 22:57:05 +00:00

63 lines
1.7 KiB
PHP

SUMMARY = "SWIG - Simplified Wrapper and Interface Generator"
HOMEPAGE = "http://swig.sourceforge.net/"
LICENSE = "BSD & GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08"
SECTION = "devel"
DEPENDS = "libpcre bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
inherit autotools python3native pkgconfig
EXTRA_OECONF = " \
--with-python3=${PYTHON} \
--without-allegrocl \
--without-android \
--without-boost \
--without-chicken \
--without-clisp \
--without-csharp \
--without-d \
--without-gcj \
--without-go \
--without-guile \
--without-java \
--without-lua \
--without-mzscheme \
--without-ocaml \
--without-octave \
--without-perl5 \
--without-pike \
--without-php \
--without-r \
--without-ruby \
--without-tcl \
"
EXTRA_AUTORECONF += "-I Tools/config"
BBCLASSEXTEND = "native nativesdk"
# necessary together with bison dependency until a new upstream version after
# 3.0.12 includes 0001-Fix-generated-code-for-constant-expressions-containi.patch
do_configure_append() {
mkdir -p ${B}/Source/CParse
}
do_install_append_class-nativesdk() {
cd ${D}${bindir}
ln -s swig swig2.0
}
def swiglib_relpath(d):
swiglib = d.getVar('datadir') + "/" + d.getVar('BPN') + "/" + d.getVar('PV')
return os.path.relpath(swiglib, d.getVar('bindir'))
do_install_append_class-native() {
create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)}
}