xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-support/apr/apr-util_1.6.3.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "Apache Portable Runtime (APR) companion library"
2HOMEPAGE = "http://apr.apache.org/"
3SECTION = "libs"
4DEPENDS = "apr expat"
5
6BBCLASSEXTEND = "native nativesdk"
7
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=158aa0b1efe0c12f23d4b007ddb9a5db \
10                    file://include/apu_version.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
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[sha256sum] = "2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983"
19
20EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
21		--without-odbc \
22		--without-pgsql \
23		--without-sqlite2 \
24		--with-expat=${STAGING_DIR_HOST}${prefix}"
25
26
27inherit autotools lib_package binconfig multilib_script
28
29MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config"
30
31OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
32
33do_configure:append() {
34	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
35		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk
36		sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${B}/build/rules.mk
37	fi
38}
39do_configure:prepend:class-native() {
40	mkdir ${B}/build
41	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk
42}
43do_configure:append:class-native() {
44	sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
45	# sometimes there isn't SHELL
46	sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
47}
48
49do_configure:prepend:class-nativesdk() {
50	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
51	sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${S}/build/rules.mk
52}
53
54do_configure:append:class-nativesdk() {
55	sed -i "s#\(apr_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
56	sed -i "s#\(apr_builders\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
57	sed -i "s#\(top_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
58	sed -i "s#\(LIBTOOL=\$(apr_builddir)\).*#\1/libtool#" ${B}/build/rules.mk
59}
60
61do_install:append:class-target() {
62	sed -i -e 's,${STAGING_DIR_HOST},,g' \
63	       -e 's,APU_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
64	       -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config
65}
66
67PACKAGECONFIG ??= "crypto gdbm"
68PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
69PACKAGECONFIG[crypto] = "--with-openssl=${STAGING_DIR_HOST}${prefix} --with-crypto,--without-crypto,openssl"
70PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without-sqlite3,sqlite3"
71PACKAGECONFIG[gdbm] = "--with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${prefix},--without-gdbm,gdbm"
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"
79
80inherit ptest
81
82RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
83RDEPENDS:${PN}-ptest += "libgcc"
84
85do_compile_ptest() {
86	cd ${B}/test
87	oe_runmake
88}
89
90do_install_ptest() {
91	t=${D}${PTEST_PATH}/test
92	mkdir $t
93	for i in testall data; do \
94	  cp -r ${B}/test/$i $t; \
95	done
96}
97