228 lines
7.2 KiB
Text
228 lines
7.2 KiB
Text
# $NetBSD: Makefile.common,v 1.24 2008/02/08 10:34:19 tnn Exp $
|
|
|
|
MOZ_DIST_VER?= ${MOZ_VER}
|
|
DISTNAME?= mozilla-${MOZ_DIST_VER}-source
|
|
PKGNAME= ${MOZILLA}-${MOZ_VER}
|
|
MASTER_SITES?= ${MASTER_SITE_MOZILLA:=mozilla${MOZ_DIST_VER}/source/}
|
|
CATEGORIES= www
|
|
|
|
MAINTAINER= taya@NetBSD.org
|
|
HOMEPAGE?= http://www.mozilla.org/
|
|
|
|
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
|
|
|
|
# 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
|
|
PKGCONFIG_OVERRIDE= build/unix/*.pc
|
|
|
|
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
|
|
|
|
SHAREMODE?= 644
|
|
BUILD_TARGET= # empty
|
|
|
|
UNLIMIT_RESOURCES= datasize memorysize stacksize
|
|
|
|
.include "../../x11/xextproto/buildlink3.mk"
|
|
.include "../../x11/libXt/buildlink3.mk"
|
|
.include "../../x11/libXinerama/buildlink3.mk"
|
|
.include "../../x11/libXi/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"
|
|
.include "../../x11/libXext/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --enable-default-toolkit=gtk2 --disable-gnomevfs
|
|
.else
|
|
.include "../../graphics/freetype2/buildlink3.mk"
|
|
.include "../../graphics/gdk-pixbuf/buildlink3.mk"
|
|
.include "../../net/ORBit/buildlink3.mk"
|
|
.include "../../x11/libXp/buildlink3.mk"
|
|
.include "../../x11/gtk/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)
|
|
CONFIGURE_ARGS+= --enable-svg
|
|
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 (exists(${X11BASE}/include/X11/extensions/Xinerama.h) && \
|
|
exists(${X11BASE}/lib/libXinerama.so)) || ${X11_TYPE} != "native"
|
|
CONFIGURE_ARGS+= --enable-xinerama
|
|
.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:
|
|
cd ${FILESDIR:Q} \
|
|
&& ${CP} ${XPTCFILES} ${WRKSRC:Q}/xpcom/reflect/xptcall/src/md/unix/
|
|
|
|
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} DESTDIR=${DESTDIR} ${SH} ${FILESDIR:Q}/moz-install
|
|
|
|
post-install:
|
|
${FIND} ${DESTDIR:Q}${PREFIX:Q}/lib/${MOZILLA}/defaults -type f -exec ${CHMOD} u+w {} \;
|
|
|
|
.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"
|