9cd6a39c3e
Mozilla Firefox is a free, open-source and cross-platform web browser for Windows, Linux, MacOS X and many other operating systems. It is fast and easy to use, and offers many advantages over other web browsers, such as tabbed browsing and the ability to block pop-up windows. Firefox also offers excellent bookmark and history management, and it can be extended by developers using industry standards such as XML, CSS, JavaScript, C++, etc. Many extensions are available. This package tracks 38 ESR.
243 lines
8.5 KiB
Makefile
243 lines
8.5 KiB
Makefile
# $NetBSD: mozilla-common.mk,v 1.1 2015/07/09 14:13:51 ryoon Exp $
|
|
#
|
|
# common Makefile fragment for mozilla packages based on gecko 2.0.
|
|
#
|
|
# used by www/firefox38/Makefile
|
|
# used by www/seamonkey/Makefile
|
|
|
|
GNU_CONFIGURE= yes
|
|
USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip
|
|
USE_LANGUAGES+= c99 c++
|
|
UNLIMIT_RESOURCES+= datasize
|
|
|
|
test:
|
|
cd ${WRKSRC}/${OBJDIR}/dist/bin && \
|
|
./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
# tar(1) of OpenBSD 5.5 has no --exclude command line option.
|
|
.if ${OPSYS} == "OpenBSD"
|
|
TOOLS_PLATFORM.tar= ${TOOLS_PREFIX.bsdtar}/bin/bsdtar
|
|
USE_TOOLS+= bsdtar
|
|
.endif
|
|
# GCC 4.6 is required to support nullptr.
|
|
GCC_REQD+= 4.8
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
# Fix for PR pkg/48152.
|
|
CPPFLAGS+= -march=i486
|
|
# This is required for SSE2 code under i386.
|
|
CPPFLAGS+= -mstackrealign
|
|
.endif
|
|
|
|
CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh
|
|
CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh
|
|
CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}js/src/tests/update-test262.sh
|
|
CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}intl/icu/source/configure
|
|
|
|
CONFIGURE_ARGS+= --disable-tests
|
|
CONFIGURE_ARGS+= --disable-pedantic
|
|
CONFIGURE_ARGS+= --enable-crypto
|
|
CONFIGURE_ARGS+= --with-pthreads
|
|
CONFIGURE_ARGS+= --disable-javaxpcom
|
|
CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk2
|
|
CONFIGURE_ARGS+= --enable-gstreamer=1.0
|
|
#CONFIGURE_ARGS+= --disable-gstreamer
|
|
CONFIGURE_ARGS+= --enable-svg
|
|
CONFIGURE_ARGS+= --enable-mathml
|
|
CONFIGURE_ARGS+= --enable-pango
|
|
CONFIGURE_ARGS+= --enable-system-cairo
|
|
CONFIGURE_ARGS+= --enable-system-pixman
|
|
CONFIGURE_ARGS+= --with-system-libvpx
|
|
CONFIGURE_ARGS+= --enable-system-hunspell
|
|
CONFIGURE_ARGS+= --enable-system-ffi
|
|
CONFIGURE_ARGS+= --with-system-icu
|
|
CONFIGURE_ARGS+= --with-system-nss
|
|
CONFIGURE_ARGS+= --with-system-nspr
|
|
CONFIGURE_ARGS+= --with-system-jpeg
|
|
CONFIGURE_ARGS+= --with-system-zlib
|
|
CONFIGURE_ARGS+= --with-system-bz2
|
|
# 1.2 or later is required.
|
|
#CONFIGURE_ARGS+= --with-system-theora
|
|
#CONFIGURE_ARGS+= --with-system-ogg
|
|
#CONFIGURE_ARGS+= --with-system-tremor
|
|
#CONFIGURE_ARGS+= --with-system-vorbis
|
|
# opus support requires Ogg Theora support
|
|
#CONFIGURE_ARGS+= --with-system-opus
|
|
CONFIGURE_ARGS+= --with-system-graphite2
|
|
CONFIGURE_ARGS+= --with-system-harfbuzz
|
|
CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
|
|
CONFIGURE_ARGS+= --enable-system-sqlite
|
|
CONFIGURE_ARGS+= --disable-crashreporter
|
|
CONFIGURE_ARGS+= --disable-libnotify
|
|
CONFIGURE_ARGS+= --disable-necko-wifi
|
|
CONFIGURE_ARGS+= --enable-chrome-format=flat
|
|
CONFIGURE_ARGS+= --disable-libjpeg-turbo
|
|
|
|
CONFIGURE_ARGS+= --disable-elf-hack
|
|
CONFIGURE_ARGS+= --disable-elf-dynstr-gc
|
|
CONFIGURE_ARGS+= --disable-gconf
|
|
CONFIGURE_ARGS+= --enable-gio
|
|
CONFIGURE_ARGS+= --enable-extensions=gio
|
|
CONFIGURE_ARGS+= --disable-mochitest
|
|
CONFIGURE_ARGS+= --enable-canvas
|
|
#CONFIGURE_ARGS+= --enable-readline
|
|
CONFIGURE_ARGS+= --disable-installer
|
|
CONFIGURE_ARGS+= --enable-url-classifier
|
|
#CONFIGURE_ARGS+= --enable-startup-notification
|
|
# Disabled from https://bugzilla.mozilla.org/show_bug.cgi?id=977400
|
|
CONFIGURE_ARGS+= --enable-shared-js
|
|
CONFIGURE_ARGS+= --with-system-ply
|
|
CONFIGURE_ARGS+= --disable-icf
|
|
CONFIGURE_ARGS+= --disable-updater
|
|
|
|
SUBST_CLASSES+= fix-paths
|
|
SUBST_STAGE.fix-paths= pre-configure
|
|
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
|
|
SUBST_FILES.fix-paths= ${MOZILLA_DIR}xpcom/build/nsXPCOMPrivate.h
|
|
SUBST_FILES.fix-paths+= ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp
|
|
SUBST_SED.fix-paths+= -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g'
|
|
|
|
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.guess
|
|
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.guess
|
|
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess
|
|
CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.guess
|
|
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.sub
|
|
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.sub
|
|
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub
|
|
CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.sub
|
|
|
|
PYTHON_VERSIONS_ACCEPTED= 27
|
|
PYTHON_FOR_BUILD_ONLY= yes
|
|
PYTHON_VERSIONS_INCOMPATIBLE= 33 34 # py-sqlite2
|
|
.include "../../lang/python/application.mk"
|
|
CONFIGURE_ENV+= PYTHON=${PYTHONBIN:Q}
|
|
|
|
#BUILD_MAKE_FLAGS+= MOZ_WEBRTC_IN_LIBXUL=1
|
|
|
|
SUBST_CLASSES+= python
|
|
SUBST_STAGE.python= pre-configure
|
|
SUBST_MESSAGE.python= Fixing path to python.
|
|
SUBST_FILES.python+= media/webrtc/trunk/build/common.gypi
|
|
SUBST_SED.python+= -e 's,<!(python,<!(${PYTHONBIN},'
|
|
|
|
# Build outside ${WRKSRC}
|
|
# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
|
|
OBJDIR= ../build
|
|
CONFIGURE_DIRS= ${OBJDIR}
|
|
CONFIGURE_SCRIPT= ${WRKSRC}/configure
|
|
|
|
PLIST_VARS+= sps vorbis tremor glskia throwwrapper mozglue
|
|
|
|
.include "../../mk/endian.mk"
|
|
.if ${MACHINE_ENDIAN} == "little"
|
|
PLIST.glskia= yes
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} != "sparc64"
|
|
# For some reasons the configure test for GCC bug 26905 still triggers on
|
|
# sparc64, which makes mozilla skip the installation of a few wrapper headers.
|
|
# Other archs end up with one additional file in the SDK headers
|
|
PLIST.throwwrapper= yes
|
|
.endif
|
|
|
|
.if !empty(MACHINE_PLATFORM:S/i386/x86/:MLinux-*-x86*)
|
|
PLIST.sps= yes
|
|
.endif
|
|
|
|
.if !empty(MACHINE_PLATFORM:MLinux-*-arm*)
|
|
PLIST.tremor= yes
|
|
.else
|
|
PLIST.vorbis= yes
|
|
.endif
|
|
|
|
# See ${WRKSRC}/mozglue/build/moz.build: libmozglue is built and
|
|
# installed as a shared library on these platforms.
|
|
.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin" # or Android
|
|
PLIST.mozglue= yes
|
|
.endif
|
|
|
|
# See ${WRKSRC}/security/sandbox/mac/Sandbox.mm: On Darwin, sandboxing
|
|
# support is only available when the toolkit is cairo-cocoa.
|
|
.if ${OPSYS} == "Darwin"
|
|
CONFIGURE_ARGS+= --disable-sandbox
|
|
.endif
|
|
|
|
# See ${WRKSRC}/configure.in: It tries to use MacOS X 10.6 SDK by
|
|
# default, which is not always possible.
|
|
.if !empty(MACHINE_PLATFORM:MDarwin-8.*-*)
|
|
CONFIGURE_ARGS+= --enable-macos-target=10.4
|
|
.elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*)
|
|
CONFIGURE_ARGS+= --enable-macos-target=10.5
|
|
.endif
|
|
|
|
#
|
|
# pysqlite2 is used by xulrunner's Python virtualenv. If pysqlite2 isn't
|
|
# installed at build time it will attempt to download it instead, so the
|
|
# problem is stealthy in a networked environment, and obvious in an
|
|
# offline environment.
|
|
#
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-sqlite2-[0-9]*:../../databases/py-sqlite2
|
|
|
|
# Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
|
|
.PHONY: create-rm-wrapper
|
|
pre-configure: create-rm-wrapper
|
|
create-rm-wrapper:
|
|
printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
|
|
${WRAPPER_DIR}/bin/rm
|
|
chmod +x ${WRAPPER_DIR}/bin/rm
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if ${OPSYS} == "NetBSD"
|
|
# The configure test for __thread succeeds, but later we end up with:
|
|
# dist/bin/libxul.so: undefined reference to `__tls_get_addr'
|
|
CONFIGURE_ENV+= ac_cv_thread_keyword=no
|
|
.endif
|
|
|
|
.if ${OPSYS} == "SunOS"
|
|
# native libbz2.so hides BZ2_crc32Table
|
|
PREFER.bzip2?= pkgsrc
|
|
.endif
|
|
|
|
.if ${OPSYS} == "OpenBSD"
|
|
PLIST_SUBST+= DLL_SUFFIX=".so.1.0"
|
|
.elif ${OPSYS} == "Darwin"
|
|
PLIST_SUBST+= DLL_SUFFIX=".dylib"
|
|
.else
|
|
PLIST_SUBST+= DLL_SUFFIX=".so"
|
|
.endif
|
|
|
|
.include "../../archivers/bzip2/buildlink3.mk"
|
|
#.include "../../audio/libopus/buildlink3.mk"
|
|
#.include "../../audio/tremor/buildlink3.mk"
|
|
#.include "../../audio/libvorbis/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=3.8.9
|
|
CONFIGURE_ENV+= ac_cv_sqlite_secure_delete=yes # c.f. patches/patch-al
|
|
.include "../../databases/sqlite3/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
|
|
.include "../../devel/libevent/buildlink3.mk"
|
|
.include "../../devel/libffi/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.8
|
|
.include "../../devel/nspr/buildlink3.mk"
|
|
.include "../../textproc/icu/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.nss+= nss>=3.18.1
|
|
.include "../../devel/nss/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../mk/jpeg.buildlink3.mk"
|
|
.include "../../graphics/MesaLib/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
|
|
.include "../../graphics/cairo/buildlink3.mk"
|
|
.include "../../graphics/graphite2/buildlink3.mk"
|
|
#.include "../../multimedia/libogg/buildlink3.mk"
|
|
#.include "../../multimedia/libtheora/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0
|
|
.include "../../multimedia/libvpx/buildlink3.mk"
|
|
.include "../../net/libIDL/buildlink3.mk"
|
|
.include "../../textproc/hunspell/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.gtk2+= gtk2+>=2.18.3nb1
|
|
.include "../../x11/gtk2/buildlink3.mk"
|
|
.include "../../multimedia/gstreamer1/buildlink3.mk"
|
|
.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
|
|
.include "../../x11/libXt/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
|
|
.include "../../x11/pixman/buildlink3.mk"
|