1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/devel/apr1/Makefile

265 lines
6.8 KiB
Makefile
Raw Normal View History

# New ports collection makefile for: apr
# Date created: 19 February 2002
# Whom: Garrett Rooney <rooneg@electricjellyfish.net>
#
# $FreeBSD$
PORTNAME= apr
PORTVERSION= ${APR_VERSION}.${APU_VERSION}
PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_APACHE}
MASTER_SITE_SUBDIR= apr
DISTFILES= apr-${APR_VERSION}.tar.gz apr-util-${APU_VERSION}.tar.gz
MAINTAINER= apache@FreeBSD.org
COMMENT= Apache Portability Library
2010-05-27 03:32:06 +00:00
LIB_DEPENDS= expat.6:${PORTSDIR}/textproc/expat2
MAKE_JOBS_SAFE= yes
OPTIONS= THREADS "Enable Threads in apr" on \
IPV6 "Enable IPV6 Support in apr" on \
BDB "Enable Berkley BDB support in apr-util" on \
GDBM "Enable GNU dbm support in apr-util" on \
LDAP "Enable LDAP support in apr-util" off \
MYSQL "Enable MySQL suport in apr-util" off \
NDBM "Enable NDBM support in apr-util" off \
PGSQL "Enable Postgresql suport in apr-util" off \
SQLITE "Enable SQLite3 support in apr-util" off \
DEVRANDOM "Use /dev/random or compatible in apr" on
- update apr1 to version 1.4.4 (security update CVE-2011-0419) Changes: (trimmed non FreeBSD related to keep the list shorter) http://www.apache.org/dist/apr/CHANGES-APR-1.4 Changes for APR 1.4.4 Changes for APR 1.4.3 *) Security: CVE-2011-0419 Reimplement apr_fnmatch() from scratch using a non-recursive algorithm; now has improved compliance with the fnmatch() spec. [William Rowe] *) poll, pollset, pollcb on Windows: Handle calls with no file/socket descriptors. PR 49882. [Stefan Ruppert <sr myarm.com>, Jeff Trawick] *) Fix address handling when accepting an AF_INET socket from a socket bound as AF_INET6. PR 49678. [Joe Orton] *) Add new experimental configure option --enable-allocator-uses-mmap to use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces memory fragmentation with malloc implementations (e.g. glibc) that don't handle allocationss of a page-size-multiples in an efficient way. It also makes apr_allocator_max_free_set() actually have some effect on such platforms. [Stefan Fritsch] *) configure: Make definition of apr_ino_t independent of _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'. [Stefan Fritsch] *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to miscompile some brigade related code. PR 50190. [Stefan Fritsch] *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch] *) apr_pollset_create_ex(): Trap errors from pollset providers. PR 49094. [Sami Tolvanen <sami.tolvanen mywot.com>] *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup pipe when the pollset was created with APR_POLLSET_NOCOPY. [Neil Conway <nrc cs.berkeley.edu>] *) Fix detection of some Linux variants when configure is built with recent GNU tools. [Eric Covener] *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC is supported. PR 46297. [Joe Orton] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] commit with apache@ hat PR: 156997 Submitted by: Tsurutani Naoki <turutani _at_ scphys.kyoto-u.ac.jp>
2011-05-13 23:00:17 +00:00
APR_VERSION= 1.4.4
APU_VERSION= 1.3.11
2004-06-04 17:29:38 +00:00
USE_ICONV= yes
2010-12-04 07:34:27 +00:00
USE_AUTOTOOLS= automake autoconf libtool:env
USE_PERL5_BUILD= yes
2010-09-11 13:28:57 +00:00
USE_PYTHON_BUILD= -2.7
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= CC="${CC}"
NO_WRKSUBDIR= yes
APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION}
APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION}
PLIST_SUB= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}"
SHLIB_APR_MAJOR= 4
SHLIB_APU_MAJOR= 3
2009-06-11 23:57:09 +00:00
APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1
APU_CONF_ARGS= --with-apr=${APR_WRKDIR} \
--with-expat=${LOCALBASE} \
--with-iconv=${LOCALBASE}
.include <bsd.port.options.mk>
########## APR Options
.if defined(WITHOUT_THREADS)
APR_CONF_ARGS+= --disable-threads
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-nothr
.else
PKGNAMESUFFIX= -nothr
.endif
.else
APR_CONF_ARGS+= --enable-threads
.endif
.if defined(WITHOUT_IPV6)
APR_CONF_ARGS+= --disable-ipv6
.else
APR_CONF_ARGS+= --enable-ipv6
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-ipv6
.else
PKGNAMESUFFIX= -ipv6
.endif
.endif
.if defined(WITHOUT_DEVRANDOM)
APR_CONF_ARGS+= --without-devrandom
.else
APR_CONF_ARGS+= --with-devrandom
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-devrandom
.else
PKGNAMESUFFIX= -devrandom
.endif
.endif
######### APR-Util Options
.if defined(WITHOUT_GDBM)
PLIST_SUB+= GDBM="@comment "
APU_CONF_ARGS+= --without-gdbm
.else
PLIST_SUB+= GDBM=""
APU_EXTRAS= yes
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
APU_CONF_ARGS+= --with-gdbm=${LOCALBASE}
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-gdbm
.else
PKGNAMESUFFIX= -gdbm
.endif
.endif
.if defined(WITHOUT_BDB)
PLIST_SUB+= BDB="@comment "
APU_CONF_ARGS+= --without-berkeley-db
.else
APU_EXTRAS= yes
PLIST_SUB+= BDB=""
USE_BDB= 42+
APU_CONF_ARGS+= --with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR}
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-${BDB_INCLUDE_DIR:S,^${LOCALBASE}/include/,,}
.else
PKGNAMESUFFIX= -${BDB_INCLUDE_DIR:S,^${LOCALBASE}/include/,,}
.endif
.endif
.if defined(WITH_NDBM)
APU_EXTRAS= yes
PLIST_SUB+= NDBM=""
APU_CONF_ARGS+= --with-ndbm=/usr
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-ndbm
.else
PKGNAMESUFFIX= -ndbm
.endif
.else
PLIST_SUB+= NDBM="@comment "
APU_CONF_ARGS+= --without-ndbm
.endif
.if defined(WITH_LDAP)
APU_EXTRAS= yes
PLIST_SUB+= LDAP=""
USE_OPENLDAP= yes
APU_CONF_ARGS+= --with-ldap-include=${LOCALBASE}/include \
--with-ldap-lib=${LOCALBASE}/lib --with-ldap=ldap
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-ldap${OPENLDAP_VER}
.else
PKGNAMESUFFIX= -ldap
.endif
.else
PLIST_SUB+= LDAP="@comment "
APU_CONF_ARGS+= --without-ldap
.endif
.if defined(WITH_MYSQL)
APU_EXTRAS= yes
PLIST_SUB+= MYSQL=""
USE_MYSQL= YES
APU_CONF_ARGS+= --with-mysql=${LOCALBASE}
CONFIGURE_ENV+= LIBS="${LIBS}"
CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MYSQL_H
LDFLAGS+= -L${LOCALBASE}/lib/mysql
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-mysql${MYSQL_VER}
.else
PKGNAMESUFFIX= -mysql
.endif
.else
PLIST_SUB+= MYSQL="@comment "
APU_CONF_ARGS+= --without-mysql
.endif
.if defined(WITH_PGSQL)
APU_EXTRAS= yes
PLIST_SUB+= PGSQL=""
USE_PGSQL= YES
APU_CONF_ARGS+= --with-pgsql=${LOCALBASE}
CONFIGURE_ENV+= ac_cv_path_PGSQL_CONFIG=""
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-pgsql${PGSQL_VER}
.else
PKGNAMESUFFIX= -pgsql
.endif
.else
PLIST_SUB+= PGSQL="@comment "
APU_CONF_ARGS+= --without-pgsql
.endif
.if defined(WITH_SQLITE)
APU_EXTRAS= yes
PLIST_SUB+= SQLITE3=""
USE_SQLITE= YES
APU_CONF_ARGS+= --with-sqlite3=${LOCALBASE}
.if defined(PKGNAMESUFFIX)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-sqlite3
.else
PKGNAMESUFFIX= -sqlite3
.endif
.else
APU_CONF_ARGS+= --without-sqlite3
PLIST_SUB+= SQLITE3="@comment "
.endif
.if defined(APU_EXTRAS)
PLIST_SUB+= APU_EXTRAS=""
.else
PLIST_SUB+= APU_EXTRAS="@comment "
.endif
post-patch:
${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
${APR_WRKDIR}/build/apr_hints.m4
${FIND} ${APR_WRKDIR} ${APU_WRKDIR} -name "Makefile.in*" | ${XARGS} ${REINPLACE_CMD} -e \
's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g'
${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS},g' \
${APR_WRKDIR}/build/apr_threads.m4 ${APR_WRKDIR}/build/apr_hints.m4 \
${APU_WRKDIR}/build/apu-conf.m4
${REINPLACE_CMD} -e '1 s/python/${PYTHON_VERSION}/' \
${APR_WRKDIR}/build/gen-build.py
run-autotools::
cd ${APR_WRKDIR} ; \
${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf
cd ${APU_WRKDIR} ; \
${RM} -fr xml/expat
cd ${APU_WRKDIR} ; \
${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf \
--with-apr=${APR_WRKDIR}
${REINPLACE_CMD} -e 's/ gsed//g' \
${APR_WRKDIR}/build/libtool.m4 \
${APR_WRKDIR}/configure
cd ${APR_WRKDIR}; \
${SETENV} ${CONFIGURE_ENV} ${SH} \
./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}
cd ${APU_WRKDIR}; \
${SETENV} ${CONFIGURE_ENV} CFLAGS="${CFLAGS}" ${SH} \
./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS}
do-configure:
${DO_NADA}
do-build:
cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
do-install:
cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
debug_autoconf:
@${ECHO} "LIBTOOL: ${LIBTOOL_VERSION}"
@${ECHO} "AUTOCONF: dev ${dev_acver} cur ${cur_acver} use ${use_acver}"
@${ECHO} "AUTOMAKE: dev ${dev_amver} cur ${cur_amver} use ${use_amver}"
@${ECHO} "AUTOCONF_DIR: ${AUTOCONF_DIR}"
@${ECHO} "BUILD_DEPENDS: ${BUILD_DEPENDS}"
@${ECHO} "ACLOCAL_DIR: ${ACLOCAL_DIR}"
@${ECHO} "LIBTOOLFILES: ${LIBTOOLFILES}"
@${ECHO} "LIBTOOL_SHAREDIR: ${LIBTOOL_SHAREDIR}"
@${ECHO} "LIBTOOL_LIBEXECDIR: ${LIBTOOL_LIBEXECDIR}"
@${ECHO} "LIBTOOL_M4: ${LIBTOOL_M4}"
@${ECHO} "${SETENV} ${CONFIGURE_ENV} ${SH} ./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}"
@${ECHO} "${SETENV} ${CONFIGURE_ENV} CFLAGS="${CFLAGS}" ${SH} ./configure ${CONFIGURE_ARGS} ${APR_UTIL_CONF_ARGS}"
.include <bsd.port.mk>