pkgsrc/www/seamonkey/Makefile.common

242 lines
7.8 KiB
Makefile

# $NetBSD: Makefile.common,v 1.30 2008/05/19 10:43:02 tnn Exp $
# used by mail/thunderbird/Makefile-thunderbird.common
# used by www/seamonkey/Makefile-seamonkey.common
MOZ_DIST_VER?= ${MOZ_VER}
DISTNAME?= seamonkey-${MOZ_DIST_VER}.source
PKGNAME= ${MOZILLA}-${MOZ_VER}
MASTER_SITES?= ${MASTER_SITE_MOZILLA:=seamonkey/releases/${MOZ_DIST_VER}/}
CATEGORIES?= www
MAINTAINER?= ghen@NetBSD.org
HOMEPAGE?= http://www.mozilla.org/projects/seamonkey/
FILESDIR= ${.CURDIR}/../../www/seamonkey/files
BUILD_DEPENDS+= zip>=2.3:../../archivers/zip
WRKSRC= ${WRKDIR}/mozilla
USE_LANGUAGES= c c++
USE_TOOLS+= autoconf213 gmake perl pkg-config
GNU_CONFIGURE= yes
INSTALL_TEMPLATES+= ${.CURDIR}/../../www/seamonkey/INSTALL
CONFIG_GUESS_OVERRIDE= build/autoconf/config.guess
CONFIG_GUESS_OVERRIDE+= nsprpub/build/autoconf/config.guess
CONFIG_GUESS_OVERRIDE+= directory/c-sdk/config/autoconf/config.guess
CONFIG_SUB_OVERRIDE= build/autoconf/config.sub
CONFIG_SUB_OVERRIDE+= nsprpub/build/autoconf/config.sub
CONFIG_SUB_OVERRIDE+= directory/c-sdk/config/autoconf/config.sub
CONFIG_STATUS_OVERRIDE= build/config.status
CONFIG_STATUS_OVERRIDE+= nsprpub/config.status
CONFIG_STATUS_OVERRIDE+= directory/c-sdk/config.status
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-gtkmozembed.pc
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-js.pc
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-nspr.pc
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-nss.pc
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-plugin.pc
PKGCONFIG_OVERRIDE+= build/unix/${MOZILLA}-xpcom.pc
# Some .pc files are filled in by the build process, so we can't fix the
# rpaths until this has happened.
PKGCONFIG_OVERRIDE_STAGE= post-build
CONFIGURE_ARGS+= --disable-tests
CONFIGURE_ARGS+= --disable-pedantic
CONFIGURE_ARGS+= --with-system-jpeg=${BUILDLINK_PREFIX.jpeg:Q}
CONFIGURE_ARGS+= --with-system-png=${BUILDLINK_PREFIX.png:Q}
CONFIGURE_ARGS+= --enable-crypto
CONFIGURE_ENV+= ac_cv_visibility_pragma=no ac_cv_visibility_hidden=no
SHAREMODE?= 644
BUILD_TARGET= # empty
UNLIMIT_RESOURCES= datasize memorysize stacksize
.include "../../x11/libXt/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
.include "../../graphics/jpeg/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.if defined(MOZILLA_USE_GTK2)
.include "../../net/libIDL/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"
CONFIGURE_ARGS+= --enable-default-toolkit=gtk2 --disable-gnomevfs
.else
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/gdk-pixbuf/buildlink3.mk"
.include "../../net/ORBit/buildlink3.mk"
.include "../../x11/gtk/buildlink3.mk"
.include "../../x11/libXp/buildlink3.mk"
.include "../../x11/libXrender/buildlink3.mk"
CONFIGURE_ARGS+= --enable-default-toolkit=gtk
.endif
# NetBSD-*-m68k builds, but "regchrome" dumps core.
NOT_FOR_PLATFORM= NetBSD-1.4.*-* NetBSD-*-m68k
MAKE_ENV+= MOZILLA_PKG_NAME=${MOZILLA:Q}
MOZ_LIBDIR= ${PREFIX}/lib/${MOZILLA}
MAKE_ENV+= LIBRUNPATH=${MOZ_LIBDIR:Q}
CONFIGURE_ENV+= LIBRUNPATH=${MOZ_LIBDIR:Q}
LDFLAGS+= ${COMPILER_RPATH_FLAG}${MOZ_LIBDIR}
.if defined(BUILD_SVG)
MAKE_ENV+= MOZ_INTERNAL_LIBART_LGPL=1
CONFIGURE_ENV+= MOZ_INTERNAL_LIBART_LGPL=1
CONFIGURE_ARGS+= --enable-svg
CONFIGURE_ARGS+= --enable-svg-renderer-libart
CONFIGURE_ARGS+= --enable-svg-renderer=cairo
.include "../../graphics/cairo/buildlink3.mk"
CONFIGURE_ARGS+= --enable-system-cairo
.endif
.if defined(BUILD_CALENDAR)
CONFIGURE_ARGS+= --enable-calendar
.endif
.if defined(BUILD_MATHML)
CONFIGURE_ARGS+= --enable-mathml
.endif
.if ${X11_TYPE} != "native" || \
(exists(${X11BASE}/include/X11/extensions/Xinerama.h) && \
exists(${X11BASE}/lib/libXinerama.so))
CONFIGURE_ARGS+= --enable-xinerama
.include "../../x11/libXinerama/buildlink3.mk"
.endif
# avoid creating a .mozilla directory in the users home
# directory
SCRIPTS_ENV+= HOME=${WRKDIR:Q}
PLIST_SUBST+= MOZILLA=${MOZILLA:Q}
PLIST_SUBST+= MOZILLA_BIN=${MOZILLA_BIN:Q}
FILES_SUBST+= MOZILLA=${MOZILLA:Q}
FILES_SUBST+= MOZILLA_BIN=${MOZILLA_BIN:Q}
.if ${OBJECT_FMT} == "ELF"
SO_SUFFIX= so
SCRIPTS_ENV+= MOZ_INSTALL_LIB=${INSTALL_PROGRAM:Q}
.elif ${OBJECT_FMT} == "Mach-O"
SO_SUFFIX= dylib
SCRIPTS_ENV+= MOZ_INSTALL_LIB=${INSTALL_LIB:Q}
.else
SO_SUFFIX= so.1.0
SCRIPTS_ENV+= MOZ_INSTALL_LIB=${INSTALL_PROGRAM:Q}
.endif
PLIST_SUBST+= SO_SUFFIX=${SO_SUFFIX:Q}
.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
MAKEFLAGS+= NS_USE_GCC=YES
.endif
SCRIPTS_ENV+= OBJECT_FMT=${OBJECT_FMT:Q}
SCRIPTS_ENV+= PLIST_SRC=${PLIST_SRC:Q}
SCRIPTS_ENV+= SED=${SED:Q}
SCRIPTS_ENV+= RM=${RM:Q}
SCRIPTS_ENV+= EGREP=${EGREP:Q}
SCRIPTS_ENV+= CHOWN=${CHOWN:Q}
SCRIPTS_ENV+= CHGRP=${CHGRP:Q}
SCRIPTS_ENV+= CHMOD=${CHMOD:Q}
SCRIPTS_ENV+= BINOWN=${BINOWN:Q}
SCRIPTS_ENV+= BINGRP=${BINGRP:Q}
SCRIPTS_ENV+= BINMODE=${BINMODE:Q}
SCRIPTS_ENV+= SETENV=${SETENV:Q}
SCRIPTS_ENV+= MOZILLA=${MOZILLA:Q}
SCRIPTS_ENV+= MOZILLA_BIN=${MOZILLA_BIN:Q}
SCRIPTS_ENV+= SO_SUFFIX=${SO_SUFFIX:Q}
PTHREAD_OPTS+= native optional
.if (${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "x86_64")
GCC_REQD+= 3.4
.endif
.include "../../mk/compiler.mk"
.if !empty(CC_VERSION:Mgcc*)
COPTS?= -O2
.endif
CONFIGURE_ARGS+= --enable-optimize=${COPTS:Q}
XPTCFILES+= xptcinvoke_asm_sparc64_netbsd.s xptcstubs_asm_sparc64_netbsd.s
XPTCFILES+= xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_netbsd.cpp
.if ${OPSYS} == "Darwin"
BUILDLINK_PASSTHRU_DIRS+=/Developer
.endif
post-extract:
.for f in ${XPTCFILES}
${CP} ${FILESDIR:Q}/${f:Q} ${WRKSRC:Q}/xpcom/reflect/xptcall/src/md/unix/${f:Q}
.endfor
pre-configure:
cd ${WRKSRC:Q} && autoconf
cd ${WRKSRC:Q}/nsprpub && autoconf
cd ${WRKSRC:Q}/directory/c-sdk && autoconf
post-build:
${ECHO} skin,install,select,classic/1.0 >> \
${WRKSRC:Q}/dist/bin/chrome/installed-chrome.txt
${ECHO} locale,install,select,en-US >> \
${WRKSRC:Q}/dist/bin/chrome/installed-chrome.txt
# The exact set of libfreebl* libs built and installed depends on the
# operating system and platform. For example, on solaris/sparc you might
# get
# libfreebl_32fpu_3.so
# libfreebl_32int_3.so
# libfreebl_32int64_3.so
# and on others
# libfreebl3.so
# Since this has been a continual problem in many mozilla packages, just
# do that part dynamically rather than trying to always keep our conditionals
# up to date. Note that the exact set of libfreebl libs has had a history
# of changing even on minor releases.
PLIST_SRC= ${WRKDIR}/PLIST
pre-install:
cd ${WRKSRC:Q}/dist/bin && ls libfreebl*.${SO_SUFFIX} | ${SORT} | \
${AWK} '{print "lib/$${MOZILLA}/" $$0}' > ${WRKSRC}/PLIST.libfreebl
cd ${WRKSRC:Q}/dist/bin && ls libfreebl*.chk | ${SORT} | \
${AWK} '{print "lib/$${MOZILLA}/" $$0}' > ${WRKSRC}/PLIST.libfreebl.chk
${AWK} '/@comment libfreebl$$/ {exit} {print}' ${.CURDIR}/PLIST > ${PLIST_SRC}
${CAT} ${WRKSRC}/PLIST.libfreebl >> ${PLIST_SRC}
${AWK} '/@comment libfreebl.chk/ {exit} ok == 1 {print} /@comment libfreebl$$/ {ok=1}' \
${.CURDIR}/PLIST >> ${PLIST_SRC}
${CAT} ${WRKSRC}/PLIST.libfreebl.chk >> ${PLIST_SRC}
${AWK} 'ok == 1 {print} /@comment libfreebl.chk/ {ok=1}' \
${.CURDIR}/PLIST >> ${PLIST_SRC}
do-install:
${SETENV} ${SCRIPTS_ENV} ${SH} ${FILESDIR:Q}/moz-install
.if !target(do-install)
post-install:
${FIND} ${PREFIX}/lib/${MOZILLA}/defaults -type f -print | \
${XARGS} ${CHMOD} u+w
.endif
.include "../../mk/pthread.buildlink3.mk"
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "none")
CONFIGURE_ARGS+= --without-pthreads
.else
CONFIGURE_ARGS+= --with-pthreads
.endif
.if ${MOZILLA_USE_XFT} == "YES"
CONFIGURE_ARGS+= --enable-xft
# pkgconfig defaults to a "build" dependency, which is what we want.
.include "../../x11/libXft/buildlink3.mk"
.endif
# Fix for firefox* packages.
SUBST_CLASSES+= pc
SUBST_STAGE.pc= post-extract
SUBST_FILES.pc= build/unix/*.pc.in
SUBST_SED.pc= -e 's|%includedir%|${PREFIX}/include/${MOZILLA}|g'
SUBST_SED.pc+= -e 's|%libdir%|${PREFIX}/lib/${MOZILLA}|g'
SUBST_MESSAGE.pc= Fixing pkgconfig files.
.include "../../www/seamonkey/options.mk"