Makefile revision 6738
341N/A#
341N/A# CDDL HEADER START
1488N/A#
341N/A# The contents of this file are subject to the terms of the
341N/A# Common Development and Distribution License (the "License").
919N/A# You may not use this file except in compliance with the License.
919N/A#
919N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
919N/A# or http://www.opensolaris.org/os/licensing.
919N/A# See the License for the specific language governing permissions
919N/A# and limitations under the License.
919N/A#
919N/A# When distributing Covered Code, include this CDDL HEADER in each
919N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
919N/A# If applicable, add the following below this CDDL HEADER, with the
919N/A# fields enclosed by brackets "[]" replaced with your own identifying
919N/A# information: Portions Copyright [yyyy] [name of copyright owner]
919N/A#
919N/A# CDDL HEADER END
919N/A#
919N/A
919N/A#
341N/A# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
341N/A#
341N/A
341N/A# parfait is a bit unhappy (22527218)
493N/Aexport PARFAIT_BUILD=no
341N/A
341N/ACOMPILER = gcc
1408N/A
341N/Ainclude ../../../make-rules/shared-macros.mk
911N/A
1408N/A# gcc 5.3 can't compile this version of firefox yet, so keep using 4.8 for now.
1408N/AGCC_ROOT = /usr/gcc/4.8
1408N/A
911N/ACOMPONENT_NAME = firefox
341N/ACOMPONENT_VERSION = 38.5.0esr
341N/ACOMPONENT_PROJECT_URL = http://www.mozilla.com/firefox
1451N/ACOMPONENT_SRC = mozilla-esr38
1466N/ACOMPONENT_SRC_NAME = $(COMPONENT_NAME)-$(COMPONENT_VERSION)
1265N/ACOMPONENT_ARCHIVE = $(COMPONENT_SRC_NAME).source.tar.bz2
1408N/ACOMPONENT_ARCHIVE_HASH = \
1408N/A sha256:2a1f90cfe390ab20be88fed38cb9f61a18281cfbee47505c67e0254d339cdb20
1408N/AMOZILLA_FTP = http://ftp.mozilla.org/pub/mozilla.org/$(COMPONENT_NAME)/releases/$(COMPONENT_VERSION)
1179N/ACOMPONENT_ARCHIVE_URL = $(MOZILLA_FTP)/source/$(COMPONENT_ARCHIVE)
1233N/ACOMPONENT_BUGDB = firefox/browser
1265N/A
1179N/ATPNO= 26828
1408N/A
1408N/AIPS_COMPONENT_VERSION = 38.5.0
1408N/A
1408N/A# There are a set of .xpi files (as given in the LANG_LIST definition below)
1179N/A# that we need. These are available under:
1179N/A# http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.8.0esr/linux-i686/xpi/
1179N/A# We could download and unpack them individually, but instead I've created
1408N/A# a compressed tarball of them, and made that available locally for download.
1408N/A# Downloading them individually can be a problem because firefox/thunderbird
1408N/A# collide due to different files with identical .xpi names.
1408N/ACOMPONENT_ARCHIVE_1 = $(COMPONENT_SRC_NAME)-xpi.tar.gz
1408N/ACOMPONENT_ARCHIVE_HASH_1 = \
1265N/A sha256:1fe09d5540167cbda3029f4e02640498fbb98ad7b47cdb6b8872e6dcf522a3e1
1408N/ACOMPONENT_ARCHIVE_URL_1 = $(INTERNAL_ARCHIVE_MIRROR)/source-archives/$(COMPONENT_ARCHIVE_1)
1408N/A
1408N/ALANG_LIST = ar be bg ca cs da de el es-AR es-CL es-ES et fi \
1408N/A fr he hi-IN hr hu id is it ja kk ko lt lv mk nb-NO nl nn-NO \
1408N/A pl pt-BR pt-PT ro ru sk sl sq sr sv-SE th tr uk vi zh-CN zh-TW
1265N/A
1408N/Ainclude $(WS_MAKE_RULES)/prep.mk
1408N/Ainclude $(WS_MAKE_RULES)/configure.mk
1265N/A
1408N/A# Alignment issues on sparc: do not publish until resolved.
1408N/Aifeq ($(BUILD_TYPE), evaluation)
1408N/ABUILD_32=
1265N/AINSTALL_32=
1179N/APUBLISH_STAMP=
1408N/Aendif
1408N/A
1408N/Ainclude $(WS_MAKE_RULES)/ips.mk
1408N/A
1408N/A# /usr/gnu/bin needed to pick up the GNU version of tail and readelf.
1408N/A# /usr/sbin needed for dtrace.
1408N/APATH = $(dirname $(CC)):/usr/gnu/bin:/usr/bin:/usr/sbin
1408N/A
1408N/ACLEAN_PATHS += $(COMPONENT_SRC)
1408N/A
1408N/AMOZCONFIG = $(BUILD_DIR_32)/mozconfig
1408N/A
1408N/ACOMPONENT_PRE_CONFIGURE_ACTION += \
1408N/A echo "mk_add_options BUILD_OFFICIAL=1" > $(MOZCONFIG) ; \
1408N/A echo "mk_add_options MOZILLA_OFFICIAL=1" >> $(MOZCONFIG) ; \
1408N/A echo "ac_add_options --prefix=/usr" >> $(MOZCONFIG) ; \
1408N/A echo "ac_add_options --libdir=/usr/lib" >> $(MOZCONFIG) ; \
1408N/A echo "ac_add_options --mandir=/usr/share/man" >> $(MOZCONFIG) ; \
1377N/A echo "ac_add_options --enable-official-branding" >> $(MOZCONFIG) ; \
341N/A echo "ac_add_options --disable-updater" >> $(MOZCONFIG) ; \
341N/A echo "ac_add_options --enable-debug-symbols=no" >> $(MOZCONFIG) ; \
341N/A echo "ac_add_options --enable-update-packaging" >> $(MOZCONFIG) ; \
1356N/A echo "ac_add_options --enable-update-channel=esr" >> $(MOZCONFIG) ; \
1356N/A echo "ac_add_options --disable-tests" >> $(MOZCONFIG) ; \
1377N/A echo "ac_add_options --with-system-libevent" >> $(MOZCONFIG) ; \
1356N/A echo "ac_add_options --with-system-zlib" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --with-system-bz2" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-system-ffi" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-system-sqlite" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-jemalloc" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-xinerama" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --disable-crashreporter" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --disable-pulseaudio" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-gstreamer" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --without-intl-api" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-system-libffi" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-ipc" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-system-pixman" >> $(MOZCONFIG) ; \
970N/A echo "ac_add_options --enable-startup-notification" >> $(MOZCONFIG) ; \
1029N/A echo "ac_add_options --enable-dtrace" >> $(MOZCONFIG) ; \
1029N/A echo "ac_add_options --enable-replace-malloc" >> $(MOZCONFIG) ;
970N/A
341N/ACXXFLAGS += -Wno-invalid-offsetof -fpermissive
341N/ACC += $(CC_BITS)
493N/ACXX += $(CC_BITS)
969N/A
1451N/ACONFIGURE_ENV += PKG_CONFIG_PATH=$(CONFIGURE_LIBDIR.$(BITS))/pkgconfig
1451N/ACONFIGURE_ENV += OS_DEFINES="-D__USE_LEGACY_PROTOTYPES__"
341N/ACONFIGURE_ENV += CXXFLAGS='-xlibmil -xlibmopt -lCrun -lCstd -features=tmplrefstatic,no%except -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -template=no%extdef'
341N/A# -L.../dist/lib needs to be set otherwise it will report missing libnss3.so,
493N/A# libssl3.so, etc, while linking.
1064N/ACONFIGURE_ENV += LDFLAGS="$(LD_Z_IGNORE) -z interpose -B nodirect -L$(BUILD_DIR_32)/dist/lib"
1029N/A
341N/A
341N/ACONFIGURE_ENV += MOZCONFIG=$(MOZCONFIG)
341N/ACONFIGURE_ENV += "CC=$(CC)"
341N/ACONFIGURE_ENV += "CXX=$(CXX)"
493N/ACONFIGURE_ENV += "CFLAGS=$(CFLAGS)"
341N/ACONFIGURE_ENV += "CXXFLAGS=$(CXXFLAGS)"
1064N/A
341N/A# If the configure options are not explicitly set, then configure fails with:
341N/A# configure: warning: CC=/usr/gcc/4.8/bin/gcc: invalid host type
1029N/A# invalid host type
1029N/A# configure: warning: CXX=/usr/gcc/4.8/bin/g++: invalid host type
1029N/A# invalid host type
341N/A# configure: error: can only configure for one host and one target at a time
965N/ACONFIGURE_OPTIONS = --prefix=$(CONFIGURE_PREFIX)
965N/ACONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
1425N/A
1425N/ACOMPONENT_POST_BUILD_ACTION = \
1425N/A (cd $(@D)/browser/installer ; $(ENV) $(COMPONENT_BUILD_ENV) \
1196N/A $(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
851N/A
851N/ACOMPONENT_POST_INSTALL_ACTION += \
851N/A $(CP) $(BUILD_DIR_32)/dist/firefox/precomplete \
851N/A $(PROTOUSRLIBDIR)/firefox-$(IPS_COMPONENT_VERSION)/precomplete ;
851N/A
341N/ACOMPONENT_POST_INSTALL_ACTION += \
493N/A $(RM) -rf xpi ; \
341N/A /usr/bin/tar xvf $(COMPONENT_ARCHIVE_1) > /dev/null 2>&1 ; \
341N/A list1='$(LANG_LIST)' ; for f in $$list1 ; do \
341N/A $(CP) xpi/$$f.xpi \
341N/A $(PROTOUSRLIBDIR)/firefox-$(IPS_COMPONENT_VERSION)/browser/extensions/langpack-$$f@firefox.mozilla.org.xpi ; \
341N/A done ;
341N/A
341N/ASIGNED_LIST.i386 = libsoftokn3.so libnssdbm3.so libfreebl3.so
493N/ASIGNED_LIST.sparc = libsoftokn3.so libnssdbm3.so libfreebl_32int_3.so libfreebl_32int64_3.so
341N/ASIGNED_LIST = $(SIGNED_LIST.$(MACH))
1418N/A
1418N/ACOMPONENT_POST_INSTALL_ACTION += \
341N/A slist='$(SIGNED_LIST)' ; for f in $$slist ; do \
341N/A mcs -d $(PROTOUSRLIBDIR)/firefox-$(IPS_COMPONENT_VERSION)/$$f ; \
493N/A LD_LIBRARY_PATH=$(PROTOUSRLIBDIR)/firefox-$(IPS_COMPONENT_VERSION) $(BUILD_DIR_32)/dist/bin/shlibsign -v -i $(PROTOUSRLIBDIR)/firefox-$(IPS_COMPONENT_VERSION)/$$f ; \
493N/A done ;
493N/A
493N/ACOMPONENT_TEST_DIR = $(@D)/js/src
341N/ACOMPONENT_TEST_TARGETS=check-jit-test
341N/ACOMPONENT_TEST_TRANSFORMS += \
341N/A '-e "/\(^TEST-PASS\).*/d" '
922N/A
922N/Aconfigure: $(CONFIGURE_32)
910N/A
970N/Abuild: $(BUILD_32)
970N/A
963N/Ainstall: $(INSTALL_32)
963N/A
970N/Atest: $(TEST_32)
970N/A
970N/Asystem-test: $(NO_TESTS)
922N/A
922N/AREQUIRED_PACKAGES += codec/libogg
922N/AREQUIRED_PACKAGES += codec/libvorbis
851N/AREQUIRED_PACKAGES += codec/ogg-vorbis
851N/AREQUIRED_PACKAGES += database/sqlite-3
851N/AREQUIRED_PACKAGES += library/desktop/atk
341N/AREQUIRED_PACKAGES += library/desktop/cairo
851N/AREQUIRED_PACKAGES += library/desktop/gdk-pixbuf
922N/AREQUIRED_PACKAGES += library/desktop/gtk2
851N/AREQUIRED_PACKAGES += library/desktop/pango
1488N/AREQUIRED_PACKAGES += library/glib2
1488N/AREQUIRED_PACKAGES += library/gnome/gnome-libs
1488N/AREQUIRED_PACKAGES += library/graphics/pixman
963N/AREQUIRED_PACKAGES += library/libevent
970N/AREQUIRED_PACKAGES += library/libffi
963N/AREQUIRED_PACKAGES += library/nspr
963N/AREQUIRED_PACKAGES += library/zlib
963N/AREQUIRED_PACKAGES += system/library
963N/AREQUIRED_PACKAGES += system/library/fontconfig
963N/AREQUIRED_PACKAGES += system/library/freetype-2
963N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
963N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
REQUIRED_PACKAGES += system/library/libdbus
REQUIRED_PACKAGES += system/library/libdbus-glib
REQUIRED_PACKAGES += system/library/math
REQUIRED_PACKAGES += x11/library/libx11
REQUIRED_PACKAGES += x11/library/libxext
REQUIRED_PACKAGES += x11/library/libxrender
REQUIRED_PACKAGES += x11/library/toolkit/libxt