freebsd-ports/databases/firebird20-server/Makefile
Mark Linimon a8693b8dee Force numerous ports that fail to build with clang over to instead always
rely on gcc.  The patch uses the new USE_GCC=any code in Mk/bsd.gcc.mk to
accomplish this.

The ports chosen were ports that blocked 2 or more ports from building with
clang.  (There are several hundred other ports that still fail to build with
clang, even with this patch.  This is merely one step along the way.)

Those interested in fixing these ports with clang, and have clang as their
default compiler, can simply set FORCE_BASE_CC_FOR_TESTING=yes.

For those who have gcc as their default compiler, this change is believed
to cause no change.

Hat:		portmgr
Tested with:	multiple runs on amd64-8-exp-bcm and 9-exp-clang, with various
		combinations of patch/no-patch and flag settings.
2012-10-09 22:12:13 +00:00

229 lines
7.3 KiB
Makefile

# New ports collection makefile for: firebird2-server
# Date created: 15 August 2006
# Whom: Sergey Skvortsov <skv@protey.ru>
#
# $FreeBSD$
#
PORTNAME?= firebird
PORTVERSION= 2.0.6
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}-Release/
PKGNAMESUFFIX?= -server
DISTNAME= ${PORTNAME:S/f/F/}-${PORTVERSION}.13266-0
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= acm@FreeBSD.org
COMMENT?= Firebird-2 relational database (server)
LIB_DEPENDS= icuuc:${PORTSDIR}/devel/icu
LATEST_LINK= ${PORTNAME}20${PKGNAMESUFFIX}
USE_BISON= build
USE_BZIP2= yes
USE_GCC= any
USE_GMAKE= yes
GNU_CONFIGURE= yes
USE_AUTOTOOLS= autoconf aclocal libtool
ACLOCAL_ARGS= --acdir=${ACLOCAL_DIR} -I ${LOCALBASE}/share/aclocal \
-I ${WRKSRC}/m4
MAKE_JOBS_UNSAFE= yes
LOCALSTATEDIR= /var/db/firebird
CONFDIR= ${PREFIX}/etc/firebird
LIBEXECDIR= ${PREFIX}/libexec/firebird
PLIST_SUB= FIREBIRD_VERSION=${PORTVERSION} \
LOCALSTATEDIR="var/db/firebird" CONFDIR="etc/firebird"
# Don't use ld for linking, use gcc
LD= ${CC}
# Don't strip binary files
STRIP=
ONLY_FOR_ARCHS= i386 amd64
CONFLICTS+= firebird-client-2.1* firebird-server-2.1* \
firebird-client-2.5* firebird-server-2.5*
INSTALL_FB= ${INSTALL} ${COPY} -g firebird
IPCCHECK!= ipcrm -q 0 2>&1 || true
.if ${IPCCHECK:Mimplemented}
IGNORE= your system does not support sysvipc
.endif
.if !defined(CLIENT_ONLY)
# Server part stuff
LIB_DEPENDS+= fbembed.2:${PORTSDIR}/databases/firebird20-client
AUTOGENARGS= --with-lock-manager
ALL_TARGET= firebird_boot ref_databases msgs libfbembed intl otherfiles \
inet_server extlib embed_gfix embed_gbak embed_gdef embed_util \
embed_fbudf
SUB_FILES= pkg-install pkg-message aliases.conf
UTIL_BIN= fb_inet_server fb_lock_print fbstat gbak gdef gfix gsec nbackup
UDF_SO= ib_udf.so fbudf.so
UDF_SQL= src/extlib/ib_udf2.sql src/extlib/fbudf/fbudf.sql
.else
# Client part stuff
AUTOGENARGS= --with-editline
ALL_TARGET= firebird_basic libfbembed embed_isql embed_gpre \
embed_gdef embed_qli libfbclient extlib
USE_LDCONFIG= yes
CLIENT_BIN= gpre isql-fb qli
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"
.if !defined(NOPORTDOCS)
PORTDOCS= *
FB_DOCS_FILES= WhatsNew README.* Firebird* ReleaseNotes.pdf ambiguity.txt \
ods11-index-structure.html
FB_DOCS_DIRS= sql.extensions license upgrade
.endif
.endif
MAKE_ENV+= FIREBIRD_TMP="${WRKDIR}" FIREBIRD_LOCK="${WRKDIR}"
post-extract:
@${RM} -rf ${WRKSRC}/extern/icu
post-patch:
@${MKDIR} ${WRKSRC}/m4
${CP} ${FILESDIR}/*.m4 ${WRKSRC}/m4
${FIND} ${WRKSRC} -name "*.sh" -exec ${CHMOD} +x {} \+
${REINPLACE_CMD} -e \
's|/isql|/isql-fb|g' -e \
's|/gstat|/fbstat|g' ${WRKSRC}/builds/posix/make.defaults
.include <bsd.port.pre.mk>
.if !defined(CLIENT_ONLY)
pre-su-install:
@${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
post-install:
@${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.endif
.ifndef WITHOUT_IPC_CLEANUP
pre-build:
.ifndef PACKAGE_BUILDING
@if [ `${ID} -u` -eq 0 ]; then \
${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' because this may cause conflicts with SysV semaphores of running services."; exit 1; fi
.endif
[ -f ${WRKDIR}/ipcs.pre.build ] || /usr/bin/ipcs -s | ${TAIL} -n +3 | \
${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.pre.build
post-build:
/usr/bin/ipcs -s | ${TAIL} -n +3 | ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.post.build
/usr/bin/diff -n ${WRKDIR}/ipcs.pre.build ${WRKDIR}/ipcs.post.build | \
${TAIL} -n +2 | ${SED} -E 's/^s +([0-9]+).*$$/\/usr\/bin\/ipcrm -s \1/' > ${WRKDIR}/ipcrm.sh
${SH} ${WRKDIR}/ipcrm.sh
.endif
do-configure:
@(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} MAKE=${GMAKE} \
${AUTOTOOLS_VARS} ./autogen.sh --localstatedir=${LOCALSTATEDIR} \
--prefix=${LOCALSTATEDIR} --exec-prefix=${PREFIX} \
--libexecdir=${LIBEXECDIR} \
--sysconfdir=${CONFDIR} --datadir=${DATADIR} \
--with-icu-config=${LOCALBASE}/bin/icu-config \
${AUTOGENARGS})
post-configure:
@${REINPLACE_CMD} -e 's|__attribute__ ((__unused__));||' \
${WRKSRC}/src/dsql/parse.cpp
do-install:
.if !defined(CLIENT_ONLY)
${INSTALL_PROGRAM} ${UTIL_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin
${INSTALL_PROGRAM} -o root -g firebird -m 4550 \
${WRKSRC}/gen/firebird/bin/fb_lock_mgr ${PREFIX}/bin
${INSTALL_PROGRAM} -m 500 \
${WRKSRC}/gen/firebird/bin/gds_drop ${PREFIX}/bin
@${MKDIR} ${CONFDIR}
${INSTALL_DATA} ${WRKDIR}/aliases.conf ${CONFDIR}/aliases.conf.sample
.if !exists(${CONFDIR}/aliases.conf)
${INSTALL_DATA} ${WRKDIR}/aliases.conf ${CONFDIR}/aliases.conf
.endif
${MKDIR} ${LIBEXECDIR}/udf ${LOCALSTATEDIR}/help ${LIBEXECDIR}/intl
${CHOWN} -R firebird:firebird ${LOCALSTATEDIR}
${INSTALL_FB} -m 0555 ${UDF_SO:S!^!${WRKSRC}/gen/firebird/UDF/!} ${LIBEXECDIR}/udf
${INSTALL_FB} -m 0444 ${UDF_SQL:S!^!${WRKSRC}/!} ${LIBEXECDIR}/udf
.if !exists(${LOCALSTATEDIR}/security2.fdb)
${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb \
${LOCALSTATEDIR}/security2.fdb
.endif
${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb \
${LOCALSTATEDIR}/security2.fdb.sample
${INSTALL_FB} -m 0440 ${WRKSRC}/gen/firebird/help/help.fdb \
${LOCALSTATEDIR}/help
${INSTALL_FB} -m 0555 ${WRKSRC}/gen/firebird/intl/libfbintl.so ${LIBEXECDIR}/intl/fbintl
${INSTALL_FB} -m 0444 ${WRKSRC}/gen/firebird/misc/fbintl.conf ${LIBEXECDIR}/intl/
.else
# defined CLIENT_ONLY
${INSTALL_PROGRAM} ${CLIENT_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} \
${PREFIX}/bin
${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${WRKSRC}/gen/firebird/misc/firebird.conf > ${WRKDIR}/firebird.conf
@${MKDIR} ${CONFDIR}
.if !exists(${CONFDIR}/firebird.conf)
${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR}
.endif
${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR}/firebird.conf.sample
${INSTALL_DATA} ${WRKSRC}/gen/firebird/lib/libib_util.so \
${WRKSRC}/gen/firebird/lib/libfbclient.so.${PORTVERSION} \
${WRKSRC}/gen/firebird/lib/libfbembed.so.${PORTVERSION} \
${PREFIX}/lib
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.2.0
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.2
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2.0
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2.0
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so
@${MKDIR} ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/gen/firebird/include/*.h ${PREFIX}/include
@${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/gen/firebird/*.msg ${DATADIR}
.if !defined(NOPORTDOCS)
@${ECHO_MSG} "===> Installing documentation for ${PKGNAME}"
@${MKDIR} ${FB_DOCS_DIRS:S!^!${DOCSDIR}/!}
@${INSTALL_DATA} ${FB_DOCS_FILES:S!^!${WRKSRC}/doc/!} ${DOCSDIR}
@${LN} -sf ${DOCSDIR}/README.user ${DOCSDIR}/README
@${INSTALL_DATA} ${WRKSRC}/doc/sql.extensions/* ${DOCSDIR}/sql.extensions
@${INSTALL_DATA} ${WRKSRC}/doc/license/* ${DOCSDIR}/license
@${INSTALL_DATA} ${WRKSRC}/src/misc/upgrade/v2/* ${DOCSDIR}/upgrade
.endif
.endif
.include <bsd.port.post.mk>