tenfourfox stable port information

Info3: <<
Package: tenfourfox
Version: 4.0.1
Revision: 6
Distribution: 10.4, 10.5
Architecture: powerpc
Description: Port of Firefox 4 to 10.4 and PowerPC
License: OSI-Approved
Maintainer: David Fang
Depends: <<
# bzip2-shlibs,
# fontconfig2-shlibs (>= 2.4.1-1),
# freetype219-shlibs (>= 2.3.7-7),
glib2-shlibs (>= 2.14.0-1),
libgettext8-shlibs
<<
BuildConflicts: <<
freetype,
freetype-hinting,
freetype2-dev,
freetype219,
nspr
<<
# bdep:git is temporary until patch supports git binary diffs (base-85)
BuildDepends: <<
autoconf2.13-legacy,
bzip2-dev,
# dbus-dev,
fink (>= 0.28-1),
fink-package-precedence,
flag-sort,
# fontconfig2-dev (>= 2.4.1-1),
# freetype219 (>= 2.3.7-7),
# gcc4.2 (>= 4.2.1-5574),
glib2-dev (>= 2.14.0-1),
git,
libgettext8-dev,
libidl2 (>= 0.8.9-1),
libjpeg8,
make,
pkgconfig (>= 0.21-1),
python (>= 2.5),
system-openssl-dev,
system-sdk-10.4
<<
Conflicts: tenfourfox5, tenfourfox6, tenfourfox7, tenfourfox8, tenfourfox9, tenfourfox10, tenfourfox11, tenfourfox12, tenfourfox13, tenfourfox14, tenfourfox15, tenfourfox16, tenfourfox17, tenfourfox18, tenfourfox19, tenfourfox20
Replaces: tenfourfox5, tenfourfox6, tenfourfox7, tenfourfox8, tenfourfox9, tenfourfox10, tenfourfox11, tenfourfox12, tenfourfox13, tenfourfox14, tenfourfox15, tenfourfox16, tenfourfox17, tenfourfox18, tenfourfox19, tenfourfox20
Source: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%v/source/firefox-%v.source.tar.bz2
SourceDirectory: mozilla-2.0
Source-MD5: 9abda7d23151e97913c8555a64c13f34
Source2: http://tenfourfox.googlecode.com/files/TenFourFox-changesets-20110422.zip
Source2-MD5: 3edbc7aba3cacb52337ee4d553b860fd
PatchFile: %n.patch
PatchFile-MD5: f79377eb04452a23e0425372b70b4891
PatchScript: <<
#!/bin/sh -ev
# apply patchset from TenFourFox:
for f in ../exports/*
do
echo "Patching in changeset $f ..."
git apply -p1 $f || { echo "... patch $f failed." ; patch_err=1 ;}
done
test -z "$patch_err" || { echo "Patch error above. Aborting." ; exit 1;}
### apply the patch
echo "Applying patch %{PatchFile} ..."
/usr/bin/sed -e 's|@FINKPREFIX@|%p|g' \
-e 's|@FINK_ARCH_TARGET@|%m|g' \
< %{PatchFile} | /usr/bin/patch -p1
# leave @executable_path alone and take care of adjusting install_names
# between build and install, below.
# configure inputs were patched, hence regeneration
export PATH=%p/lib/autoconf2.13/bin:$PATH
autoconf
mkdir -p opt-bin
pushd opt-bin
# darwin9 only: python with hacked environment
# b/c python requires run-time M_D_T to be consistent with build-time
# the rest of the build should use M_D_T=10.4
this_dist=`sw_vers -productVersion | cut -d. -f1-2`
if test $this_dist = 10.5
then
realpy=`which python`
echo "#!/bin/sh -e" > python
echo "export MACOSX_DEPLOYMENT_TARGET=$this_dist" >> python
echo "exec $realpy \"\$@\"" >> python
chmod +x python
echo "PYTHON=%b/opt-bin/python" >> ../.mozconfig
# and then force python-wrapped gcc calls back to M_D_T=10.4
echo "#!/bin/sh -e" > MDT10.4
echo "export MACOSX_DEPLOYMENT_TARGET=10.4" >> MDT10.4
echo "exec \"\$@\"" >> MDT10.4
chmod +x MDT10.4
sed -i.orig -e '/^GCC_PREFIX=/s|flag-sort|MDT10.4 &|' ../.mozconfig
fi
popd
# enable processor-specific optimization and tuning
for f in *.mozcfg
do
sed -i.orig -e '/AUTOCONF/s|autoconf213|autoconf|' \
-e '/MOZ_MAKE_FLAGS/s|^|# |' \
-e '/MOZ_OBJDIR/s|^|# |' $f
done
# .mozconfig will dispatch the right CPU.mozcfg
cpu=`machine`
case $cpu in
ppc750) alt=G3 ;;
ppc7400) alt=G4 ;;
ppc7450) alt=G4e ;;
ppc970) alt=G5 ;;
esac
sed -i.orig -e "/OPTIMIZED_FOR/s|Debugging|$cpu ($alt)|" netwerk/protocol/http/OptimizedFor.h
echo "%n-%v-%r build tuned for $cpu ($alt)" > BUILD.OPTIMIZATION
<<
# even on 10.5
SetMACOSX_DEPLOYMENT_TARGET: 10.4
SetLDFLAGS: -L%p/lib/system-openssl/lib
SetCPPFLAGS: -I%p/lib/system-openssl/include -I%p/include -I/usr/X11R6/include
GCC: 4.0
UseMaxBuildJobs: true
CompileScript: <<
#!/bin/sh -ev
# /usr/bin/make crashes (bug)
make=%p/bin/make
# provide an executable script to launch .app
{ echo "#!/bin/sh -ev" ; \
echo "open -a %p/Applications/TenFourFox.app \"$@\"" ;} > tenfourfox
chmod +x tenfourfox

export PATH=%b/opt-bin:%p/lib/autoconf2.13/bin:$PATH
export PKG_CONFIG_PATH=%p/lib/system-openssl/lib/pkgconfig:$PKG_CONFIG_PATH
$make -w -f client.mk build
objdir=obj-%m-apple-darwin`uname -r`
pushd $objdir
fink-package-precedence --depfile-ext=.pp .
popd
<<
# AppBundles: UninstalledAppDir/TenFourFox.app
InstallScript: <<
#!/bin/sh -ev
objdir=obj-%m-apple-darwin`uname -r`
ln -s $objdir/dist UninstalledAppDir
make=%p/bin/make
# fake AppBundle installation b/c app dir contains symlinks to builddir
mkdir -p %i/bin
mkdir -p %i/Applications
cp tenfourfox %i/bin
cp -p -R -L UninstalledAppDir/TenFourFox.app %i/Applications
# now hack the install_names of private shlibs to appease validator
# and then change them back during post-install.
pkg_path=Applications/TenFourFox.app/Contents/MacOS
pushd %i/$pkg_path
for f in *.dylib
do install_name_tool -id %p/$pkg_path/$f $f
done
popd
<<
PostInstScript: <<
# restore original install_names of shlibs
pkg_path=Applications/TenFourFox.app/Contents/MacOS
pushd %p/$pkg_path
for f in *.dylib
do install_name_tool -id @executable_path/$f $f
done
popd
mkdir -p /Applications/Fink
pushd /Applications/Fink
ln -s %p/Applications/TenFourFox.app .
popd
<<
PreRmScript: <<
rm -f /Applications/Fink/TenFourFox.app
<<
DocFiles: LEGAL LICENSE README.txt toolkit/content/license.html
# shlibs are all private for now, until there is actual interest in them
Shlibs: <<
!%p/Applications/TenFourFox.app/Contents/MacOS/libangle.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libfreebl3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libgkgfx.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozalloc.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozjs.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozsqlite3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libmozz.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnspr4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnss3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssckbi.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssdbm3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libnssutil3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libplc4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libplds4.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libsmime3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libsoftokn3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libssl3.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libthebes.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libxpcom.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libxpcom_core.dylib
!%p/Applications/TenFourFox.app/Contents/MacOS/libycbcr.dylib
<<
Homepage: http://www.tenfourfox.com/
DescDetail: <<
"Mozilla left you. Apple left you. But we didn't."
TenFourFox is a port of Firefox 4 for PowerPC Macs.
A separate port is necessary because upstream no longer supports
10.4, nor PowerPC.
This packaging is also good for 10.5/ppc.
<<
DescUsage: <<
command line: %p/bin/tenfourfox
or drag %p/Applications/TenFourFox.app onto your dock for an icon.
<<
DescPackaging: <<
For the most part, follow's upstream's instructions for building.
http://code.google.com/p/tenfourfox/wiki/HowToBuild

Uses default toolkit cairo-cocoa, instead of gtk+2.
Uses Mozilla's own mozcairo instead of fink's cairo.

SplitOffs have been punted until there is actual interest.

Uses system-openssl instead of fink's openssl.

Python is only needed at build-time.

Doesn't seem to use fontconfig anywhere.

Mozilla ships its own freetype module, even though configure detects
/usr/X11R6/bin/freetype-config, doesn't seem to use it anywhere:
config.status shows @FT2_CONFIG@, @FT2_CFLAGS@, @FT2_LIBS@ pointing
to system's freetype, @FT2_LIBS@ is referenced in gfx/thebes/Makefile
and toolkit/library/Makefile, yet it *never* appears in the build log.
otool -L doesn't find any linking to ANY freetype/fontconfig,
not even system's.
I suspect only the gtk+2 toolkit uses it.
I've added it to BuildConflicts to be safe.
<<
DescPort: <<
All the hard work is done by the developers of TenFourFox,
led by Cameron Kaiser.

Bunch of patches to rules.mk and client.mk are for enabling
parallel builds to share the same jobserver as the master/parent
make, so recursive instances of make benefit from -jN MAKEFLAGS.

Compiling on darwin9 (10.5) was a big pain (MACOSX_DEPLOYMENT_TARGET):
M_D_T needed to be set to 10.4 to use the 10.4 SDK.
Python scripts (wrappers) however need M_D_T equal to that with which
python was built, which happens to be 10.5.
M_D_T was overriden in wrapped calls to python, but then gcc
needed the outermost M_D_T, so CC/CXX were wrapped in yet
another layer of M_D_T.

Using system-provided libraries:
--------------------------------
. system-png cannot be used because it lacks APNG (upstream won't include it)
. system-sqlite needs >= 3.6.23.1, but with extra options compiled in.

Using fink-provided libraries:
--------------------------------
TODO: experiment with the following:
--with-libIDL-prefix=%p
--with-glib-prefix=%p
--with-system-nspr --with-nspr-prefix=%p
--with-system-zlib=
--with-system-bz2=
--with-system-png=
--with-java-include-path=
--with-java-bin-path=
--enable-system-hunspell
--enable-system-pixman

TODO: enable optimization selection
<<
<<

tenfourfox stable port .patch

--- /dev/null
+++ mozilla-release/.mozconfig 2009-04-27 16:56:30.000000000 -0400
@@ -0,0 +1,65 @@
+# sh
+# Build configuration script
+#
+# See https://developer.mozilla.org/en/Configuring_Build_Options for build options.
+# and http://code.google.com/p/tenfourfox/wiki/HowToBuildNow
+
+# default to G3 if unknown
+tune=G3
+case `machine` in
+ ppc750) tune=G3 ;;
+ ppc7400) tune=G4-7400 ;;
+ ppc7450) tune=G4-7450 ;;
+ ppc970) tune=G5 ;;
+esac
+. $topsrcdir/$tune.mozcfg
+
+# This is already called inside the above config:
+# . $topsrcdir/browser/config/mozconfig
+
+# Options for client.mk.
+# environment variables to set
+
+mk_add_options MOZ_OBJDIR=$topsrcdir/obj-@FINK_ARCH_TARGET@-apple-darwin`uname -r`
+#mk_add_options AUTOCONF=autoconf
+
+# compiler wrappers
+GCC_PREFIX="flag-sort"
+GCC_EXEC_OVERRIDE=
+CC="$GCC_PREFIX $CC $GCC_EXEC_OVERRIDE"
+CXX="$GCC_PREFIX $CXX $GCC_EXEC_OVERRIDE"
+
+ac_add_options --target=@FINK_ARCH_TARGET@-apple-darwin`uname -r`
+#ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk
+#HOST_CC="$CC"
+#HOST_CXX="$CXX"
+#RANLIB=/usr/bin/ranlib
+#AR=/usr/bin/ar
+#AS=$CC
+#LD="$GCC_EXEC_OVERRIDE/ld"
+#STRIP="strip -x -S"
+#CROSS_COMPILE=1
+
+# Options for 'configure' (same as command-line options).
+ac_add_options --prefix=@FINKPREFIX@
+#ac_add_options --enable-official-branding
+#ac_add_options --enable-default-toolkit=cairo-gtk2
+#ac_add_options --x-libraries=/usr/X11R6/lib
+#ac_add_options --x-includes=/usr/X11R6/include
+#ac_add_options --disable-gnomevfs
+#ac_add_options --disable-gnomeui
+#ac_add_options --enable-dbus
+#ac_add_options --enable-extensions=default,-gnomevfs
+
+#ac_add_options --disable-dependency-tracking
+#ac_add_options --disable-crashreporter
+#ac_add_options --disable-ipc
+ac_add_options --disable-necko-wifi
+
+#ac_add_options --disable-debug
+#ac_add_options --disable-tests
+#ac_add_options --enable-strip
+#ac_add_options --enable-macos-target=10.4
+ac_add_options --with-system-jpeg=@FINKPREFIX@
+ac_add_options --disable-system-cairo
+ac_add_options --disable-system-sqlite
diff -ruN mozilla-central-orig/browser/locales/generic/profile/bookmarks.html.in mozilla-central/browser/locales/generic/profile/bookmarks.html.in
--- mozilla-central-orig/browser/locales/generic/profile/bookmarks.html.in 2009-04-23 21:46:37.000000000 -0400
+++ mozilla-central/browser/locales/generic/profile/bookmarks.html.in 2009-04-27 16:56:30.000000000 -0400
@@ -15,6 +15,7 @@


@getting_started@
@latest_headlines@
+
Fink - Home




@firefox_heading@


diff -ruN mozilla-central-orig/config/autoconf.mk.in mozilla-central/config/autoconf.mk.in
--- mozilla-central-orig/config/autoconf.mk.in 2009-04-23 21:46:37.000000000 -0400
+++ mozilla-central/config/autoconf.mk.in 2009-04-27 16:56:30.000000000 -0400
@@ -58,14 +58,14 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+includedir = @includedir@/$(MOZ_APP_NAME)4
libdir = @libdir@
datadir = @datadir@
mandir = @mandir@
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)4

-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)4
+sdkdir = $(libdir)/$(MOZ_APP_NAME)4-devel

DIST = $(DEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@
diff -ruN mozilla-central-orig/configure mozilla-central/configure
--- mozilla-central-orig/configure.in 2009-04-23 21:51:07.000000000 -0400
+++ mozilla-central/configure.in 2009-04-27 16:56:30.000000000 -0400
@@ -203,6 +203,10 @@
fi
if test -z "$MIDL"; then MIDL=midl; fi
;;
+*-darwin8*)
+ if test -z "$CC"; then CC=gcc-4.0; fi
+ if test -z "$CXX"; then CXX=g++-4.0; fi
+ ;;
*-darwin*)
if test -z "$CC"; then CC=gcc-4.2; fi
if test -z "$CXX"; then CXX=g++-4.2; fi
@@ -1564,8 +1568,8 @@
if test "$GNU_CC"; then
# FIXME: Let us build with strict aliasing. bug 414641.
CFLAGS="$CFLAGS -fno-strict-aliasing"
- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+ MKSHLIB='$(CXX) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+ MKCSHLIB='$(CC) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
DSO_LDOPTS='-shared'
if test "$GCC_USE_GNU_LD"; then
# Don't allow undefined symbols in libraries
@@ -2033,8 +2037,8 @@
;;

*-darwin*)
- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+ MKSHLIB='$(CXX) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+ MKCSHLIB='$(CC) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
# If we're building with --enable-profiling, we need a frame pointer.
if test -z "$MOZ_PROFILING"; then
MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer"
@@ -2042,10 +2046,11 @@
MOZ_OPTIMIZE_FLAGS="-O3 -fno-omit-frame-pointer"
fi
_PEDANTIC=
+# keep pascal strings for cocoa build
CFLAGS="$CFLAGS -fpascal-strings -fno-common"
CXXFLAGS="$CXXFLAGS -fpascal-strings -fno-common"
DLL_SUFFIX=".dylib"
- DSO_LDOPTS=''
+ DSO_LDOPTS='-framework CoreFoundation'
STRIP="$STRIP -x -S"
_PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
TARGET_NSPR_MDCPUCFG='\"md/_darwin.cfg\"'
diff -ruN mozilla-central-orig/fink/applications/firefox.desktop mozilla-central/fink/applications/firefox.desktop
--- mozilla-central-orig/fink/applications/firefox.desktop 1969-12-31 19:00:00.000000000 -0500
+++ mozilla-central/fink/applications/firefox.desktop 2009-04-27 16:56:30.000000000 -0400
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Firefox Web Browser
+Comment=Browse the World Wide Web
+Exec=firefox
+Icon=firefox.png
+Terminal=false
+Type=Application
+Categories=Application;Network
+StartupNotify=true
diff -ruN mozilla-central-orig/fink/fink.js mozilla-central/fink/fink.js
--- mozilla-central-orig/fink/fink.js 1969-12-31 19:00:00.000000000 -0500
+++ mozilla-central/fink/fink.js 2009-04-27 16:56:30.000000000 -0400
@@ -0,0 +1 @@
+pref("general.useragent.extra.vendorComment", "Fink Community Edition");
diff -ruN mozilla-central-orig/xpcom/io/nsAppFileLocationProvider.cpp mozilla-central/xpcom/io/nsAppFileLocationProvider.cpp
--- mozilla-central-orig/xpcom/io/nsAppFileLocationProvider.cpp
+++ mozilla-central/xpcom/io/nsAppFileLocationProvider.cpp
@@ -235,19 +235,19 @@ nsAppFileLocationProvider::GetFile(const
rv = GetProductDirectory(getter_AddRefs(localFile));
if (NS_SUCCEEDED(rv))
rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME);
}
#ifdef XP_UNIX
else if (nsCRT::strcmp(prop, NS_SYSTEM_PLUGINS_DIR) == 0) {
static const char *const sysLPlgDir =
#if defined(HAVE_USR_LIB64_DIR) && defined(__LP64__)
- "/usr/lib64/mozilla/plugins";
+ "@FINKPREFIX@/lib64/mozilla/plugins";
#else
- "/usr/lib/mozilla/plugins";
+ "@FINKPREFIX@/lib/mozilla/plugins";
#endif
rv = NS_NewNativeLocalFile(nsDependentCString(sysLPlgDir),
PR_FALSE, getter_AddRefs(localFile));
}
#endif
#endif
else if (nsCRT::strcmp(prop, NS_APP_SEARCH_DIR) == 0)
{
diff -ruN mozilla-central-orig/config/rules.mk mozilla-central/config/rules.mk
--- mozilla-central-orig/config/rules.mk 2010-03-22 12:47:26.000000000 -0700
+++ mozilla-central/config/rules.mk 2010-03-22 12:47:35.000000000 -0700
@@ -121,6 +121,11 @@
EXPAND_MOZLIBNAME = $(addprefix -l,$(1))
endif

+# patch for darwin8 (needed for gtk+2 build):
+# EXPAND_DYLIB_NAME - $(call EXPAND_DYLIB_NAME,foo)
+# expands to -dylib_file $(installdir)/libfoo.dylib:$(DISTLIB)/libfoo.dylib
+EXPAND_DYLIB_NAME = -dylib_file $(installdir)/$(DLL_PREFIX)$(1)$(DLL_SUFFIX):$(DISTLIB)/$(DLL_PREFIX)$(1)$(DLL_SUFFIX)
+
ifdef MOZ_FAKELIBS
# If a lib.fake is present, replace it with @lib.fake, otherwise just pass
# the library name through unchanged.
@@ -485,7 +490,7 @@

define SUBMAKE # $(call SUBMAKE,target,directory)
+@$(UPDATE_TITLE)
-+@$(MAKE) $(if $(2),-C $(2)) $(1)
+++@$(MAKE) $(if $(2),-C $(2)) $(1)

endef # The extra line is important here! don't delete it

@@ -744,16 +749,16 @@
ifneq (,$(strip $(STATIC_DIRS)))
$(foreach dir,$(STATIC_DIRS),$(call SUBMAKE,,$(dir)))
endif
- $(MAKE) export
- $(MAKE) libs
- $(MAKE) tools
+ +$(MAKE) export
+ +$(MAKE) libs
+ +$(MAKE) tools

# Do depend as well
alldep::
- $(MAKE) export
- $(MAKE) depend
- $(MAKE) libs
- $(MAKE) tools
+ +$(MAKE) export
+ +$(MAKE) depend
+ +$(MAKE) libs
+ +$(MAKE) tools

endif # TIERS
endif # SUPPRESS_DEFAULT_RULES
@@ -786,14 +791,14 @@
$(foreach tier,$(TIERS),tier_$(tier))::
@$(ECHO) "$@: $($@_staticdirs) $($@_dirs)"
$(foreach dir,$($@_staticdirs),$(call SUBMAKE,,$(dir)))
- $(MAKE) export_$@
- $(MAKE) libs_$@
- $(MAKE) tools_$@
+ +$(MAKE) export_$@
+ +$(MAKE) libs_$@
+ +$(MAKE) tools_$@

# Do everything from scratch
everything::
- $(MAKE) clean
- $(MAKE) alldep
+ +$(MAKE) clean
+ +$(MAKE) alldep

# Add dummy depend target for tinderboxes
depend::
@@ -990,9 +995,9 @@
endif
else # !WINNT || GNU_CC
ifeq ($(CPP_PROG_LINK),1)
- $(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(call EXPAND_FAKELIBS,$(LIBS) $(OS_LIBS) $(EXTRA_LIBS)) $(BIN_FLAGS) $(call EXPAND_FAKELIBS,$(WRAP_MALLOC_LIB)) $(EXE_DEF_FILE)
+ $(CCC) -o $@ $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(call EXPAND_FAKELIBS,$(LIBS) $(OS_LIBS) $(EXTRA_LIBS)) $(BIN_FLAGS) $(call EXPAND_FAKELIBS,$(WRAP_MALLOC_LIB)) $(EXE_DEF_FILE)
else # ! CPP_PROG_LINK
- $(CC) -o $@ $(CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(call EXPAND_FAKELIBS,$(LIBS) $(OS_LIBS) $(EXTRA_LIBS)) $(BIN_FLAGS) $(EXE_DEF_FILE)
+ $(CC) -o $@ $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(call EXPAND_FAKELIBS,$(LIBS) $(OS_LIBS) $(EXTRA_LIBS)) $(BIN_FLAGS) $(EXE_DEF_FILE)
endif # CPP_PROG_LINK
endif # WINNT && !GNU_CC
endif # WINCE
@@ -1943,7 +1948,7 @@
JAR_MANIFEST := $(srcdir)/jar.mn

chrome::
- $(MAKE) realchrome
+ +$(MAKE) realchrome
$(LOOP_OVER_PARALLEL_DIRS)
$(LOOP_OVER_DIRS)
$(LOOP_OVER_TOOL_DIRS)
--- mozilla-central-orig/client.mk 2010-12-14 17:02:33.000000000 -0800
+++ mozilla-central/client.mk 2010-12-28 16:37:53.000000000 -0800
@@ -207,11 +207,11 @@
endif

profiledbuild::
- $(MAKE) -f $(TOPSRCDIR)/client.mk build MOZ_PROFILE_GENERATE=1
- $(MAKE) -C $(PGO_OBJDIR) package
+ +$(MAKE) -f $(TOPSRCDIR)/client.mk build MOZ_PROFILE_GENERATE=1
+ +$(MAKE) -C $(PGO_OBJDIR) package
OBJDIR=${PGO_OBJDIR} $(PROFILE_GEN_SCRIPT)
- $(MAKE) -f $(TOPSRCDIR)/client.mk maybe_clobber_profiledbuild
- $(MAKE) -f $(TOPSRCDIR)/client.mk build MOZ_PROFILE_USE=1
+ +$(MAKE) -f $(TOPSRCDIR)/client.mk maybe_clobber_profiledbuild
+ +$(MAKE) -f $(TOPSRCDIR)/client.mk build MOZ_PROFILE_USE=1

#####################################################
# Build date unification
@@ -234,14 +234,14 @@
# (when MOZ_CURRENT_PROJECT is set.)
ifndef MOZ_BUILD_PROJECTS
# Building a single project, OBJDIR is usable.
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_PREFLIGHT_ALL); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile preflight_all TOPSRCDIR=$(TOPSRCDIR) OBJDIR=$(OBJDIR) MOZ_OBJDIR=$(MOZ_OBJDIR); \
done
else
# OBJDIR refers to the project-specific OBJDIR, which is not available at
# this point when building multiple projects. Only MOZ_OBJDIR is available.
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_PREFLIGHT_ALL); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile preflight_all TOPSRCDIR=$(TOPSRCDIR) MOZ_OBJDIR=$(MOZ_OBJDIR) MOZ_BUILD_PROJECTS="$(MOZ_BUILD_PROJECTS)"; \
done
@@ -253,7 +253,7 @@

ifeq (,$(MOZ_CURRENT_PROJECT)$(if $(MOZ_BUILD_PROJECTS),,1))
configure depend build install export libs clean realclean distclean alldep preflight postflight maybe_clobber_profiledbuild upload sdk::
- set -e; \
+ +set -e; \
for app in $(MOZ_BUILD_PROJECTS); do \
$(MAKE) -f $(TOPSRCDIR)/client.mk $@ MOZ_CURRENT_PROJECT=$$app; \
done
@@ -312,7 +312,7 @@
@touch $(OBJDIR)/Makefile

$(OBJDIR)/Makefile $(OBJDIR)/config.status: $(CONFIG_STATUS_DEPS)
- @$(MAKE) -f $(TOPSRCDIR)/client.mk configure
+ +@$(MAKE) -f $(TOPSRCDIR)/client.mk configure

ifneq (,$(CONFIG_STATUS))
$(OBJDIR)/config/autoconf.mk: $(TOPSRCDIR)/config/autoconf.mk.in
@@ -325,14 +325,14 @@
# Depend

depend:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
- $(MOZ_MAKE) export && $(MOZ_MAKE) depend
+ +$(MOZ_MAKE) export && $(MOZ_MAKE) depend

####################################
# Preflight

build alldep preflight::
ifdef MOZ_PREFLIGHT
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_PREFLIGHT); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile preflight TOPSRCDIR=$(TOPSRCDIR) OBJDIR=$(OBJDIR) MOZ_OBJDIR=$(MOZ_OBJDIR); \
done
@@ -342,21 +342,21 @@
# Build it

build:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
- $(MOZ_MAKE)
+ +$(MOZ_MAKE)

####################################
# Other targets

# Pass these target onto the real build system
install export libs clean realclean distclean alldep maybe_clobber_profiledbuild upload sdk:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
- $(MOZ_MAKE) $@
+ +$(MOZ_MAKE) $@

####################################
# Postflight

build alldep postflight::
ifdef MOZ_POSTFLIGHT
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_POSTFLIGHT); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile postflight TOPSRCDIR=$(TOPSRCDIR) OBJDIR=$(OBJDIR) MOZ_OBJDIR=$(MOZ_OBJDIR); \
done
@@ -373,14 +373,14 @@
# (when MOZ_CURRENT_PROJECT is set.)
ifndef MOZ_BUILD_PROJECTS
# Building a single project, OBJDIR is usable.
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_POSTFLIGHT_ALL); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile postflight_all TOPSRCDIR=$(TOPSRCDIR) OBJDIR=$(OBJDIR) MOZ_OBJDIR=$(MOZ_OBJDIR); \
done
else
# OBJDIR refers to the project-specific OBJDIR, which is not available at
# this point when building multiple projects. Only MOZ_OBJDIR is available.
- set -e; \
+ +set -e; \
for mkfile in $(MOZ_POSTFLIGHT_ALL); do \
$(MAKE) -f $(TOPSRCDIR)/$$mkfile postflight_all TOPSRCDIR=$(TOPSRCDIR) MOZ_OBJDIR=$(MOZ_OBJDIR) MOZ_BUILD_PROJECTS="$(MOZ_BUILD_PROJECTS)"; \
done

tenfourfox _unstable_ port .patch