# $NetBSD: Makefile.common,v 1.28 2007/09/21 22:07:54 ghen Exp $ 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" && ${PKGSRC_COMPILER} == "gcc" 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"