Makefile revision 7185
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# CDDL HEADER START
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# The contents of this file are subject to the terms of the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Common Development and Distribution License (the "License").
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# You may not use this file except in compliance with the License.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# See the License for the specific language governing permissions
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# and limitations under the License.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# When distributing Covered Code, include this CDDL HEADER in each
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# If applicable, add the following below this CDDL HEADER, with the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# CDDL HEADER END
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# parfait is a bit unhappy (22527218)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOMPONENT_PROJECT_URL= http://www.mozilla.com/thunderbird
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync sha256:231f6a7a073344659e436a2b1ae58004c3a29e74375af2c8d0de13f3bc79fac7
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncMOZILLA_FTP = http://ftp.mozilla.org/pub/$(COMPONENT_NAME)/releases/$(COMPONENT_VERSION)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOMPONENT_ARCHIVE_URL= $(MOZILLA_FTP)/source/$(COMPONENT_ARCHIVE)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# There are a set of .xpi files (as given in the LANG_LIST definition below)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# that we need. These are available under:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.6.0/linux-i686/xpi/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# https://ftp.mozilla.org/pub/calendar/lightning/candidates/4.0.5-candidates/build1/linux-i686/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# We could download and unpack them individually, but instead I've created
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# a compressed tarball of them, and made them available from the internal
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Userland mirror. So these need to be re-created by hand each time we rev.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Downloading them individually can be a problem because firefox/thunderbird
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# collide due to different files with identical .xpi names.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync sha256:6b170356db3c345e4704de93ed41f5d16afac9460345f6675b02193ad41a128f
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOMPONENT_ARCHIVE_URL_1 = $(INTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE_1)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOMPONENT_ARCHIVE_2 = lightning-$(LIGHTNING_VERSION)-xpi.tar.gz
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync sha256:5bab9f0f879bdae9a312c5612b089c932c0400db89346c9c38b5c41623410e75
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOMPONENT_ARCHIVE_URL_2 = $(INTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE_2)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncLANG_LIST = ar bg ca cs da de el es-AR es-ES et eu fi \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync fr gl he hu id is it ja ko lt nb-NO nl nn-NO pa-IN pl \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Firefox and Thunderbird share the same firefox*.patch patches. Copy these
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# patches from the Firefox patches directory and the Thunderbird patches to a
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# directory of all files (patches-all), except for Firefox patches 42 and 46,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# which don't get applied in Thunderbird. (libxul and dtrace patches)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCOPY_COMMON_FILES_1:= $(shell mkdir -p $(PATCH_DIR))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(shell /usr/bin/rsync -ac patches/* ../firefox/patches/* $(PATCH_DIR))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(shell /usr/bin/rm -f $(PATCH_DIR)/firefox*42*.patch $(PATCH_DIR)/firefox*46*.patch)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Depends on libsmbclient but samba is on the do-not-publish list, so this
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# must be too.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# /usr/sbin for dtrace, SPRO for python modules, PERL as well.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncPATH = $(dirname $(CC)):/usr/gnu/bin:/usr/bin:/usr/sbin:$(dirname $(PERL)):$(SPRO_VROOT)/bin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "mk_add_options BUILD_OFFICIAL=1" > $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "mk_add_options MOZILLA_OFFICIAL=1" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-application=mail" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --prefix=/usr" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --libdir=/usr/lib" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --mandir=/usr/share/man" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --disable-debug" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-optimize" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --disable-tests" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --with-system-libevent" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --with-system-zlib" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --with-system-bz2" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-system-ffi" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-system-sqlite" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-libxul" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-jemalloc" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-official-branding" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --disable-updater" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-update-packaging" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-ipc" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-gstreamer" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-system-pixman" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --without-intl-api" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --disable-crashreporter" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-debug-symbols=no" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-calendar" >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo 'ac_add_options --with-rpath="\\\\\\$$\\$$ORIGIN"' >> $(MOZCONFIG) ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo "ac_add_options --enable-startup-notification" >> $(MOZCONFIG) ;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# jemalloc (from libxul) interposes on malloc in glib causing startup problems,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# so use the big hammer for now, pending the resolution of:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# 24765609 thunderbird build dies with newer GCC
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCONFIGURE_ENV += PKG_CONFIG_PATH=$(CONFIGURE_LIBDIR.$(BITS))/pkgconfig
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCONFIGURE_ENV += OS_DEFINES="-D__USE_LEGACY_PROTOTYPES__"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# -L.../dist/bin needs to be set otherwise it will report missing libnss3.so,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# libssl3.so, etc, while linking.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncCONFIGURE_ENV += LDFLAGS="$(LD_Z_IGNORE) -z interpose -B nodirect -L$(BUILD_DIR_32)/dist/lib -L$(BUILD_DIR_32)/dist/bin"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# If the configure options are not explicitly set, then configure fails with:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# configure: warning: CC=/usr/gcc/4.8/bin/gcc: invalid host type
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# invalid host type
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# configure: warning: CXX=/usr/gcc/4.8/bin/gcc: invalid host type
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# invalid host type
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# configure: error: can only configure for one host and one target at a time
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (cd $(@D)/mail/installer ; $(ENV) $(COMPONENT_BUILD_ENV) \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Path to lightning extension directory
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(PROTOUSRLIBDIR)/thunderbird-$(COMPONENT_VERSION)/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(CP) -r $(BUILD_DIR_32)/dist/bin/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/* \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(TAR) xvf $(COMPONENT_ARCHIVE_1) > /dev/null 2>&1 ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(TAR) xvf $(COMPONENT_ARCHIVE_2) > /dev/null 2>&1 ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(PROTOUSRLIBDIR)/thunderbird-$(COMPONENT_VERSION)/distribution/extensions/langpack-$$f@thunderbird.mozilla.org.xpi ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync unzip xpi-lightning/lightning-$(LIGHTNING_VERSION).$$f.linux-i686.xpi \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync chrome/calendar-$$f/\* chrome/lightning-$$f/\* -d \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo 'locale calendar '$$f' chrome/calendar-'$$f'/locale/'$$f'/calendar/' >> $(LIGHTNING_EXT_DIR)/chrome.manifest ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo 'locale lightning '$$f' chrome/lightning-'$$f'/locale/'$$f'/lightning/' >> $(LIGHTNING_EXT_DIR)/chrome.manifest ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync @echo "download-xpis"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(RM) -r $(COMPONENT_DIR)/xpi $(COMPONENT_DIR)/$(COMPONENT_ARCHIVE_1)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync @echo "downloading thunderbird xpis"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo $$f; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(TAR) czvf $(COMPONENT_DIR)/$(COMPONENT_ARCHIVE_1) xpi )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync @echo "download-lightning-xpis"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(RM) $(COMPONENT_DIR)/xpi-lightning $(COMPONENT_DIR)/$(COMPONENT_ARCHIVE_2)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync @echo "downloading lightning xpis"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync echo $$f; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync /usr/bin/curl -s -o $(COMPONENT_DIR)/xpi-lightning/lightning-$(LIGHTNING_VERSION).$$f.linux-i686.xpi \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(LN_XPI)/lightning-$(LIGHTNING_VERSION).$$f.linux-i686.xpi ;\
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(TAR) czvf $(COMPONENT_DIR)/$(COMPONENT_ARCHIVE_2) xpi-lightning )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncLIB_LIST.sparc = $(PROTOUSRLIBDIR)/thunderbird-devel-$(COMPONENT_VERSION)/sdk/lib/cpu/sparcv8plus/libnspr_flt4.so
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(MKDIR) $(PROTOUSRLIBDIR)/thunderbird-$(COMPONENT_VERSION)/cpu/sparcv8plus ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync $(CP) $$f $(PROTOUSRLIBDIR)/thunderbird-$(COMPONENT_VERSION)/cpu/sparcv8plus/libnspr_flt4.so ; \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync '-e "/^PASSED ALL/,/Failed:/p" ' \
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync '-e "/.*/d" '
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync$(SOURCE_DIR)/.patched-firefox-%: GPATCH_FLAGS += -d $(@D)/mozilla
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncREQUIRED_PACKAGES += library/desktop/startup-notification
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# Remove once all build machines have library/desktop/startup-notification:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime