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