blob: 7a6c4d7359cfbecb82a1c788c8f5f273c1ed6fe9 [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001SUMMARY = "SWIG - Simplified Wrapper and Interface Generator"
Brad Bishopf3f93bb2019-10-16 14:33:32 -04002DESCRIPTION = "SWIG is a compiler that makes it easy to integrate C and C++ \
3code with other languages including Perl, Tcl, Ruby, Python, Java, Guile, \
4Mzscheme, Chicken, OCaml, Pike, and C#."
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005HOMEPAGE = "http://swig.sourceforge.net/"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00006LICENSE = "BSD-3-Clause & GPL-3.0-only"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
8 file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \
9 file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08"
10
11SECTION = "devel"
12
Andrew Geissler517393d2023-01-13 08:55:19 -060013DEPENDS = "libpcre2 bison-native"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050014
15SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
William A. Kennington IIIac69b482021-06-02 12:28:27 -070016UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/swig/files/swig/"
17UPSTREAM_CHECK_REGEX = "swig-(?P<pver>\d+(\.\d+)+)"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018
Brad Bishop316dfdd2018-06-25 12:45:53 -040019inherit autotools python3native pkgconfig
Patrick Williamsc124f4f2015-09-15 14:41:29 -050020
21EXTRA_OECONF = " \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060022 --with-python3=${PYTHON} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050023 --without-allegrocl \
24 --without-android \
25 --without-boost \
26 --without-chicken \
27 --without-clisp \
28 --without-csharp \
29 --without-d \
30 --without-gcj \
31 --without-go \
32 --without-guile \
33 --without-java \
34 --without-lua \
35 --without-mzscheme \
36 --without-ocaml \
37 --without-octave \
38 --without-perl5 \
39 --without-pike \
40 --without-php \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050041 --without-r \
42 --without-ruby \
43 --without-tcl \
44"
45
Brad Bishop19323692019-04-05 15:28:33 -040046EXTRA_AUTORECONF += "-I Tools/config"
47
Patrick Williamsc124f4f2015-09-15 14:41:29 -050048BBCLASSEXTEND = "native nativesdk"
49
Brad Bishop19323692019-04-05 15:28:33 -040050# necessary together with bison dependency until a new upstream version after
51# 3.0.12 includes 0001-Fix-generated-code-for-constant-expressions-containi.patch
Patrick Williams213cb262021-08-07 19:21:33 -050052do_configure:append() {
Brad Bishop19323692019-04-05 15:28:33 -040053 mkdir -p ${B}/Source/CParse
Patrick Williamsc124f4f2015-09-15 14:41:29 -050054}
55
Patrick Williams213cb262021-08-07 19:21:33 -050056do_install:append:class-nativesdk() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050057 cd ${D}${bindir}
58 ln -s swig swig2.0
59}
60
61def swiglib_relpath(d):
Brad Bishop6e60e8b2018-02-01 10:27:11 -050062 swiglib = d.getVar('datadir') + "/" + d.getVar('BPN') + "/" + d.getVar('PV')
63 return os.path.relpath(swiglib, d.getVar('bindir'))
Patrick Williamsc124f4f2015-09-15 14:41:29 -050064
Patrick Williams213cb262021-08-07 19:21:33 -050065do_install:append:class-native() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050066 create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)}
67}