This was a very interesting (in the sense of a curse) problem because the moz folks have such a powerful build system that they're in the middle of reworking.
Clang is awesome but doesn't have dynamic optimization yet, a la PGO, and it makes a huge difference on my nancy boy Asus notepad when PGO is not running. 0000 To get PGO working with ff23, first apply the recent patch that gets rid of --disable-tests in bsd.gecko.mk; --disable-tests must not be present or else PGO building will fail. While in bsd.gecko.mk because I am on STABLE-9 I also disabled the jemalloc enable and all of the jemalloc config defs. (nb., thunderbird wont build with gcc47 or 48 if jemalloc is enabled even if PGO is off) At this point you should have --disable-tests gone and maybe jemalloc. The shar that follows include the two patches to get past the compile failure at the gmake -C ipc export phase (this failure states that target "app/Makefile" doesn't exist. 73 es gl
# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # www/firefox/files/patch-ipc-app-defs-mk-hg # www/firefox/files/patch-ipc-app-makefile-hg # echo x - www/firefox/files/patch-ipc-app-defs-mk-hg sed 's/^X//' >www/firefox/files/patch-ipc-app-defs-mk-hg << '22f0a9787a8546df50e85c2fc1c7894f' X--- /dev/null 2013-08-21 19:22:00.000000000 -0400 X+++ ipc/app/defs.mk 2013-08-21 19:27:50.215271320 -0400 X@@ -0,0 +1,14 @@ X+# This Source Code Form is subject to the terms of the Mozilla Public X+# License, v. 2.0. If a copy of the MPL was not distributed with this X+# file, You can obtain one at http://mozilla.org/MPL/2.0/. X+ X+ifneq (android,$(MOZ_WIDGET_TOOLKIT)) X+MOZ_CHILD_PROCESS_NAME := plugin-container$(BIN_SUFFIX) X+else X+# We want to let Android unpack the file at install time, but it only does X+# so if the file is named libsomething.so. The lib/ path is also required X+# because the unpacked file will be under the lib/ subdirectory and will X+# need to be executed from that path. X+MOZ_CHILD_PROCESS_NAME := lib/libplugin-container.so X+endif X+MOZ_CHILD_PROCESS_BUNDLE := plugin-container.app/Contents/MacOS/ 22f0a9787a8546df50e85c2fc1c7894f echo x - www/firefox/files/patch-ipc-app-makefile-hg sed 's/^X//' >www/firefox/files/patch-ipc-app-makefile-hg << '9f266ec68e447a0b7818c92729a0f2ce' X--- ipc/app/Makefile.in.orig 2013-08-21 19:20:19.845263790 -0400 X+++ ipc/app/Makefile.in 2013-08-21 19:25:06.175265126 -0400 X@@ -9,6 +9,9 @@ X X include $(DEPTH)/config/autoconf.mk X X+include $(topsrcdir)/ipc/app/defs.mk X+PROGRAM = $(MOZ_CHILD_PROCESS_NAME) X+ X ifneq ($(dir $(PROGRAM)),./) X GENERATED_DIRS = $(dir $(PROGRAM)) X endif 9f266ec68e447a0b7818c92729a0f2ce exit
signature.asc
Description: OpenPGP digital signature
