blob: 1371e262ddb5afce09bce010f030fd2f472de3b0 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001SUMMARY = "Apache Portable Runtime (APR) companion library"
2HOMEPAGE = "http://apr.apache.org/"
3SECTION = "libs"
Andrew Geisslerd25ed322020-06-27 00:28:28 -05004DEPENDS = "apr expat"
Brad Bishop316dfdd2018-06-25 12:45:53 -04005
6BBCLASSEXTEND = "native nativesdk"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=158aa0b1efe0c12f23d4b007ddb9a5db \
Brad Bishopc4ea0752018-11-15 14:30:15 -080010 file://include/apu_version.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
Brad Bishop316dfdd2018-06-25 12:45:53 -040011
12SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.gz \
13 file://configfix.patch \
14 file://configure_fixes.patch \
Patrick Williams8e7b46e2023-05-01 14:19:06 -050015 file://0001-test_transformation-Check-if-transform-is-supported-.patch \
Brad Bishop316dfdd2018-06-25 12:45:53 -040016 file://run-ptest \
Patrick Williams864cc432023-02-09 14:54:44 -060017 "
Brad Bishop316dfdd2018-06-25 12:45:53 -040018
Patrick Williams864cc432023-02-09 14:54:44 -060019SRC_URI[sha256sum] = "2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983"
Brad Bishop316dfdd2018-06-25 12:45:53 -040020
Andrew Geisslerd1e89492021-02-12 15:35:20 -060021EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
Brad Bishop316dfdd2018-06-25 12:45:53 -040022 --without-odbc \
23 --without-pgsql \
Brad Bishop316dfdd2018-06-25 12:45:53 -040024 --without-sqlite2 \
25 --with-expat=${STAGING_DIR_HOST}${prefix}"
26
27
Andrew Geissler82c905d2020-04-13 13:39:40 -050028inherit autotools lib_package binconfig multilib_script
29
30MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config"
Brad Bishop316dfdd2018-06-25 12:45:53 -040031
32OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
33
Patrick Williams213cb262021-08-07 19:21:33 -050034do_configure:append() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040035 if [ "${CLASSOVERRIDE}" = "class-target" ]; then
36 cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk
Andrew Geissler90fd73c2021-03-05 15:25:55 -060037 sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${B}/build/rules.mk
Brad Bishop316dfdd2018-06-25 12:45:53 -040038 fi
39}
Patrick Williams213cb262021-08-07 19:21:33 -050040do_configure:prepend:class-native() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040041 mkdir ${B}/build
42 cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk
43}
Patrick Williams213cb262021-08-07 19:21:33 -050044do_configure:append:class-native() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040045 sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
46 # sometimes there isn't SHELL
47 sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
48}
49
Patrick Williams213cb262021-08-07 19:21:33 -050050do_configure:prepend:class-nativesdk() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040051 cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
Andrew Geissler90fd73c2021-03-05 15:25:55 -060052 sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${S}/build/rules.mk
Brad Bishop316dfdd2018-06-25 12:45:53 -040053}
54
Patrick Williams213cb262021-08-07 19:21:33 -050055do_configure:append:class-nativesdk() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040056 sed -i "s#\(apr_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
57 sed -i "s#\(apr_builders\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
58 sed -i "s#\(top_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
59 sed -i "s#\(LIBTOOL=\$(apr_builddir)\).*#\1/libtool#" ${B}/build/rules.mk
60}
61
Patrick Williams213cb262021-08-07 19:21:33 -050062do_install:append:class-target() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040063 sed -i -e 's,${STAGING_DIR_HOST},,g' \
64 -e 's,APU_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
65 -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config
66}
67
Andrew Geisslerd25ed322020-06-27 00:28:28 -050068PACKAGECONFIG ??= "crypto gdbm"
Brad Bishop316dfdd2018-06-25 12:45:53 -040069PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
70PACKAGECONFIG[crypto] = "--with-openssl=${STAGING_DIR_HOST}${prefix} --with-crypto,--without-crypto,openssl"
71PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without-sqlite3,sqlite3"
Andrew Geisslerd1e89492021-02-12 15:35:20 -060072PACKAGECONFIG[gdbm] = "--with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${prefix},--without-gdbm,gdbm"
Brad Bishop316dfdd2018-06-25 12:45:53 -040073
74#files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN}
Patrick Williams213cb262021-08-07 19:21:33 -050075FILES:${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}"
76FILES:${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la"
77FILES:${PN}-staticdev += "${libdir}/apr-util-1/*.a"
Brad Bishop316dfdd2018-06-25 12:45:53 -040078
Patrick Williams213cb262021-08-07 19:21:33 -050079INSANE_SKIP:${PN} += "dev-so"
Brad Bishop316dfdd2018-06-25 12:45:53 -040080
81inherit ptest
82
Patrick Williams213cb262021-08-07 19:21:33 -050083RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
84RDEPENDS:${PN}-ptest += "libgcc"
Brad Bishop316dfdd2018-06-25 12:45:53 -040085
86do_compile_ptest() {
87 cd ${B}/test
88 oe_runmake
89}
90
91do_install_ptest() {
92 t=${D}${PTEST_PATH}/test
93 mkdir $t
94 for i in testall data; do \
95 cp -r ${B}/test/$i $t; \
96 done
97}