blob: 2b8676fef33b7cfa104af6a169c1654c2ef95baf [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Apache Portable Runtime (APR) companion library"
2HOMEPAGE = "http://apr.apache.org/"
3SECTION = "libs"
4DEPENDS = "apr expat gdbm"
5
6BBCLASSEXTEND = "native nativesdk"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=519e0a18e03f7c023070568c14b077bb \
10 file://include/apu_version.h;endline=17;md5=806685a84e71f10c80144c48eb35df42"
11
12SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.gz \
13 file://configfix.patch \
14 file://configure_fixes.patch \
15 file://run-ptest \
16"
17
18SRC_URI[md5sum] = "866825c04da827c6e5f53daff5569f42"
19SRC_URI[sha256sum] = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19"
20
21EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
22 --without-odbc \
23 --without-pgsql \
24 --with-dbm=gdbm \
25 --with-gdbm=${STAGING_DIR_HOST}${prefix} \
26 --without-sqlite2 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027 --with-expat=${STAGING_DIR_HOST}${prefix}"
28
29
30inherit autotools lib_package binconfig
31
32PR = "r1"
33
34OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
35
36do_configure_append() {
37 if [ "${CLASSOVERRIDE}" = "class-target" ]; then
38 cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk
39 fi
40}
41do_configure_prepend_class-native() {
42 mkdir ${B}/build
43 cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk
44}
45do_configure_append_class-native() {
46 sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
47 # sometimes there isn't SHELL
48 sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
49}
50
51do_configure_prepend_class-nativesdk() {
52 cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
53}
54
55do_configure_append_class-nativesdk() {
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050056 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
Patrick Williamsc124f4f2015-09-15 14:41:29 -050060}
61
Patrick Williamsf1e5d692016-03-30 15:21:19 -050062do_install_append_class-target() {
63 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
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050068PACKAGECONFIG ??= "crypto"
69PACKAGECONFIG[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"
72
73#files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN}
74FILES_${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}"
75FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la"
76FILES_${PN}-staticdev += "${libdir}/apr-util-1/*.a"
77
78INSANE_SKIP_${PN} += "dev-so"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050079
80inherit ptest
81
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050082RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
83
Patrick Williamsc124f4f2015-09-15 14:41:29 -050084do_compile_ptest() {
85 cd ${B}/test
86 oe_runmake
87}
88
89do_install_ptest() {
90 t=${D}${PTEST_PATH}/test
91 mkdir $t
92 for i in testall data; do \
93 cp -r ${B}/test/$i $t; \
94 done
95}