xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-support/apr/apr-util_1.6.3.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Apache Portable Runtime (APR) companion library"
2*4882a593SmuzhiyunHOMEPAGE = "http://apr.apache.org/"
3*4882a593SmuzhiyunSECTION = "libs"
4*4882a593SmuzhiyunDEPENDS = "apr expat"
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunLICENSE = "Apache-2.0"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=158aa0b1efe0c12f23d4b007ddb9a5db \
10*4882a593Smuzhiyun                    file://include/apu_version.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.gz \
13*4882a593Smuzhiyun           file://configfix.patch \
14*4882a593Smuzhiyun           file://configure_fixes.patch \
15*4882a593Smuzhiyun           file://run-ptest \
16*4882a593Smuzhiyun           "
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunSRC_URI[sha256sum] = "2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983"
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunEXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
21*4882a593Smuzhiyun		--without-odbc \
22*4882a593Smuzhiyun		--without-pgsql \
23*4882a593Smuzhiyun		--without-sqlite2 \
24*4882a593Smuzhiyun		--with-expat=${STAGING_DIR_HOST}${prefix}"
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun
27*4882a593Smuzhiyuninherit autotools lib_package binconfig multilib_script
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunMULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apu-1-config"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunOE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyundo_configure:append() {
34*4882a593Smuzhiyun	if [ "${CLASSOVERRIDE}" = "class-target" ]; then
35*4882a593Smuzhiyun		cp ${STAGING_DATADIR}/apr/apr_rules.mk ${B}/build/rules.mk
36*4882a593Smuzhiyun		sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${B}/build/rules.mk
37*4882a593Smuzhiyun	fi
38*4882a593Smuzhiyun}
39*4882a593Smuzhiyundo_configure:prepend:class-native() {
40*4882a593Smuzhiyun	mkdir ${B}/build
41*4882a593Smuzhiyun	cp ${STAGING_DATADIR_NATIVE}/apr/apr_rules.mk ${B}/build/rules.mk
42*4882a593Smuzhiyun}
43*4882a593Smuzhiyundo_configure:append:class-native() {
44*4882a593Smuzhiyun	sed -i "s#LIBTOOL=\$(SHELL) \$(apr_builddir)#LIBTOOL=\$(SHELL) ${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
45*4882a593Smuzhiyun	# sometimes there isn't SHELL
46*4882a593Smuzhiyun	sed -i "s#LIBTOOL=\$(apr_builddir)#LIBTOOL=${STAGING_BINDIR_NATIVE}#" ${B}/build/rules.mk
47*4882a593Smuzhiyun}
48*4882a593Smuzhiyun
49*4882a593Smuzhiyundo_configure:prepend:class-nativesdk() {
50*4882a593Smuzhiyun	cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
51*4882a593Smuzhiyun	sed -i -e 's#^CFLAGS=.*#CFLAGS=${TARGET_CFLAGS}#g' ${S}/build/rules.mk
52*4882a593Smuzhiyun}
53*4882a593Smuzhiyun
54*4882a593Smuzhiyundo_configure:append:class-nativesdk() {
55*4882a593Smuzhiyun	sed -i "s#\(apr_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
56*4882a593Smuzhiyun	sed -i "s#\(apr_builders\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
57*4882a593Smuzhiyun	sed -i "s#\(top_builddir\)=.*#\1=${STAGING_DATADIR}/build-1#" ${B}/build/rules.mk
58*4882a593Smuzhiyun	sed -i "s#\(LIBTOOL=\$(apr_builddir)\).*#\1/libtool#" ${B}/build/rules.mk
59*4882a593Smuzhiyun}
60*4882a593Smuzhiyun
61*4882a593Smuzhiyundo_install:append:class-target() {
62*4882a593Smuzhiyun	sed -i -e 's,${STAGING_DIR_HOST},,g' \
63*4882a593Smuzhiyun	       -e 's,APU_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
64*4882a593Smuzhiyun	       -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config
65*4882a593Smuzhiyun}
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunPACKAGECONFIG ??= "crypto gdbm"
68*4882a593SmuzhiyunPACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
69*4882a593SmuzhiyunPACKAGECONFIG[crypto] = "--with-openssl=${STAGING_DIR_HOST}${prefix} --with-crypto,--without-crypto,openssl"
70*4882a593SmuzhiyunPACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without-sqlite3,sqlite3"
71*4882a593SmuzhiyunPACKAGECONFIG[gdbm] = "--with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${prefix},--without-gdbm,gdbm"
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun#files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN}
74*4882a593SmuzhiyunFILES:${PN}     += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}"
75*4882a593SmuzhiyunFILES:${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la"
76*4882a593SmuzhiyunFILES:${PN}-staticdev += "${libdir}/apr-util-1/*.a"
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunINSANE_SKIP:${PN} += "dev-so"
79*4882a593Smuzhiyun
80*4882a593Smuzhiyuninherit ptest
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunRDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7"
83*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "libgcc"
84*4882a593Smuzhiyun
85*4882a593Smuzhiyundo_compile_ptest() {
86*4882a593Smuzhiyun	cd ${B}/test
87*4882a593Smuzhiyun	oe_runmake
88*4882a593Smuzhiyun}
89*4882a593Smuzhiyun
90*4882a593Smuzhiyundo_install_ptest() {
91*4882a593Smuzhiyun	t=${D}${PTEST_PATH}/test
92*4882a593Smuzhiyun	mkdir $t
93*4882a593Smuzhiyun	for i in testall data; do \
94*4882a593Smuzhiyun	  cp -r ${B}/test/$i $t; \
95*4882a593Smuzhiyun	done
96*4882a593Smuzhiyun}
97