summaryrefslogtreecommitdiff
path: root/moz/makefile.mk
diff options
context:
space:
mode:
Diffstat (limited to 'moz/makefile.mk')
-rw-r--r--moz/makefile.mk248
1 files changed, 6 insertions, 242 deletions
diff --git a/moz/makefile.mk b/moz/makefile.mk
index a30c87ec1dcb..e7c8528d6516 100644
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -53,20 +53,6 @@ LD_LIBRARY_PATH!:=$(LD_LIBRARY_PATH)$(PATH_SEPERATOR)$(PKGCONFIG_ROOT)$/lib
DISABLE_MOZ_EXECUTABLE=TRUE
.EXPORT : DISABLE_MOZ_EXECUTABLE
-.IF "$(OS)"=="AIX"
-LDFLAGS+:=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO)
-.EXPORT : LDFLAGS
-.ENDIF
-
-.IF "$(SYSBASE)"!="" && "$(OS)" == "LINUX"
-## hmm... rather gcc specific switches...
-CFLAGS:=-isystem $(SYSBASE)/usr/include -B$(SYSBASE)/usr/lib
-LDFLAGS:= -Wl,--unresolved-symbols=ignore-in-shared-libs -L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -L$(SYSBASE)/usr/X11R6/lib
-SYSBASE_X11:=--x-includes=$(SYSBASE)/usr/include/X11 --x-libraries=$(SYSBASE)/usr/X11R6/lib
-MOZ_ENABLE_COREXFONTS=1
-MOZILLA_CONFIGURE_FLAGS +=--disable-xft
-.EXPORT : CFLAGS LDFLAGS MOZ_ENABLE_COREXFONTS
-.ENDIF # "$(SYSBASE)"!="" && "$(OS)" == "LINUX"
# ----- pkg-config end -------
@@ -79,34 +65,20 @@ PATCH_FILES = \
seamonkey-source-$(MOZILLA_VERSION).patch \
patches/dtoa.patch \
patches/respect_disable_pango.patch \
- patches/arm_build_fix.patch \
patches/link_fontconfig.patch \
patches/brokenmakefile.patch \
- patches/aix_build_fix.patch \
patches/libpr0n_build_fix.patch \
- patches/macosx_build_fix.patch \
- patches/nss-linux3.patch \
patches/clang_add_nsCaseInsensitiveStringComparator_default_constructor.patch \
patches/clang_missing_this_pointers.patch \
patches/seamonkey-1.1.14.source-macosx10.6and7.patch \
- patches/ssl-linux-no_as_needed_linker_option.patch
# This file is needed for the W32 build when BUILD_MOZAB is set
# (currently only vc8/vs2005 is supported when BUILD_MOZAB is set)
-.IF "$(COM)"=="GCC"
-LIBIDL_VC71_ZIPFILE_NAME*=vc71-libIDL-0.6.8-bin.zip
-LIBGLIB_VC71_ZIPFILE_NAME*=vc71-glib-1.2.10-bin.zip
-MOZTOOLS_ZIPFILE_NAME*=wintools.zip
-.ELSE
MOZTOOLS_ZIPFILE_NAME*=vc8-moztools.zip
-.ENDIF
ADDITIONAL_FILES=mailnews$/addrbook$/src$/nsAbMD5sum.cpp
CONFIGURE_DIR=
-.IF "$(GUIBASE)"!="aqua"
-MOZILLA_CONFIGURE_FLAGS += $(SYSBASE_X11)
-.ENDIF
MOZILLA_CONFIGURE_FLAGS += --disable-tests \
--enable-application=suite \
@@ -146,19 +118,6 @@ MOZILLA_CONFIGURE_FLAGS += --disable-tests \
MOZILLA_CONFIGURE_FLAGS += \
--with-nss-prefix=$(OUTDIR) \
--with-nspr-prefix=$(OUTDIR)
-
-.IF "$(OS)"=="MACOSX"
-# help the linker to resolve @loader_path to the solver (needed at least for 10.4 / XCode 2.5)
-LDFLAGS+=$(foreach,name,$(echo nspr4 nss3 nssutil3 plc4 plds4) -Wl,-dylib_file,@loader_path/lib$(name).dylib:$(OUTDIR)/lib/lib$(name).dylib)
-.ENDIF
-.ENDIF
-
-# how can we do it only on Debian/Ubuntu?
-.IF "$(OS)"=="LINUX"
-.IF "$(COM)"=="GCC"
-LDFLAG_NO_AS_NEEDED=-Wl,--no-as-needed
-.EXPORT : LDFLAG_NO_AS_NEEDED
-.ENDIF
.ENDIF
#disable profilelocking to share profile with mozilla
@@ -166,25 +125,6 @@ LDFLAG_NO_AS_NEEDED=-Wl,--no-as-needed
#disable gnomevfs to remove the needed of gnome develop files
#disable others to save build times
-.IF "$(GUI)"=="UNX"
-.IF "$(GUIBASE)"=="aqua"
-MOZILLA_CONFIGURE_FLAGS+= \
- --with-macos-sdk=$(MACOSX_SDK_PATH) \
- --disable-glibtest \
- --enable-macos-target=$(MACOSX_DEPLOYMENT_TARGET) \
- --disable-libxul \
- --prefix=/@.__________________________________________________$(EXTRPATH)
-DEFAULT_MOZILLA_TOOLKIT=mac
-
-.ELSE
-#We do not need mozilla ui, but libIDL version are decided by default toolkit.
-#default-toolkit=xlib need libIDL < 0.68
-#default-toolkit=gtk2 need libIDL > 0.8 (know as libIDL2)
-DEFAULT_MOZILLA_TOOLKIT*=gtk2
-.ENDIF # "$(GUIBASE)"=="aqua"
-MOZILLA_CONFIGURE_FLAGS+= --enable-default-toolkit=$(DEFAULT_MOZILLA_TOOLKIT)
-.ENDIF
-
# create a objdir build = build files in a seperate directory, not in the sourcetree directly
CONFIGURE_DIR=$(CPU)_objdir
BUILD_DIR=$(CONFIGURE_DIR)
@@ -194,42 +134,9 @@ CONFIGURE_ACTION=$(null,$(MOZ_ARCH) $(NULL) $(MOZ_CROSSCOMPILE)) ../configure $(
BUILD_ACTION:=$(GNUMAKE) -j$(EXTMAXPROCESS)
-.IF "$(GUI)"=="UNX"
-.IF "$(COMNAME)"=="sunpro5"
-CXXFLAGS:=-features=tmplife
-.IF "$(CPU)"=="U"
-CXXFLAGS+=-m64
-.ENDIF
-.EXPORT : CXXFLAGS
-.ENDIF # "$(COMNAME)"=="sunpro5"
-.ENDIF
-
-.IF "$(COM)" == "GCC"
-CXXFLAGS+=-fpermissive
-.IF "$(OS)$(CPUNAME)" == "LINUXPOWERPC64"
-CXXFLAGS+=-mminimal-toc
-.ENDIF
-.EXPORT : CXXFLAGS
-.ENDIF
-
-.IF "$(OS)"=="SOLARIS" && "$(CPUNAME)"=="SPARC" && "$(CPU)"=="U"
-PKG_CONFIG_PATH=/usr/lib/64/pkgconfig
-.EXPORT: PKG_CONFIG_PATH
-MAKE=/usr/sfw/bin/gmake
-.EXPORT: MAKE
-CFLAGS=-I/usr/sfw/include
-.EXPORT: CFLAGS
-.ENDIF
-.IF "$(COM)"=="C52" && "$(CPUNAME)"=="SPARC" && "$(CPU)"=="U"
-CFLAGS=-m64
-ASFLAGS=-m64
-.EXPORT: CFLAGS ASFLAGS
-.ENDIF
-
MOZDIR=$(MISC)$/build$/seamonkey
MOZTARGET=$(OS)$(COM)$(CPU)
-.IF "$(GUI)"=="WNT"
# "Our" build environment uses "NO" for the environment variable that
# indicate if system libraries should be used, the mozilla build uses
# "" in this case. This conflicts (at least for W32) with mozilla (1.7b)
@@ -245,67 +152,40 @@ SYSTEM_JPEG:=
.EXPORT : SYSTEM_JPEG
.ENDIF
-# For W32-tcsh CC and CXX must not contain the wrapper, and W32-4nt ( in
-# some cases ) doesn't work with DOS path notation when building mozilla.
-.IF "$(COM)"=="GCC"
-CC:=$(CC:s/guw.exe //:s/ -mno-cygwin//)
-CXX:=$(CXX:s/guw.exe //:s/ -mno-cygwin//)
-CPP:=$(CC) -E
-LD:=ld
-LIBS:=-lsupc++
-.EXPORT : CPP LIBS
-.ELSE
CC:=cl.exe
CXX:=cl.exe
-.ENDIF
# Variables to install/use our own wintools
-.IF "$(COM)"=="GCC"
-MOZTOOLSUNPACK:=$(MISC)$/build$/moztoolsunpack
-MOZTOOLSINST:=$(MISC)$/build$/moztoolsinst
-.ELSE
MOZTOOLS_EXTRACT:=$(MISC)$/build$/moztools
-.ENDIF
-.IF "$(COM)"=="GCC"
-MOZ_TOOLS_DOS:=$(shell @cygpath -ad "$(MISC)")\build\moztoolsinst
-PATH!:=$(PATH):$(shell @cygpath $(MOZ_TOOLS_DOS))/bin:$(shell @cygpath $(MOZ_TOOLS_DOS))/vc71/bin
-SET_MOZ_TOOLS_INSTALL_BAT:=export "MOZ_TOOLS=$(MOZ_TOOLS_DOS)"
-.ELSE
MOZ_TOOLS_DOS:=$(shell @cygpath -ad "$(MISC)")\build\moztools\vc8-moztools
PATH!:=$(shell @cygpath $(MOZ_TOOLS_DOS))/bin:$(PATH)
-.ENDIF
MOZ_TOOLS:=$(subst,\,/ $(MOZ_TOOLS_DOS))
-.IF "$(COM)"=="GCC"
-GLIB_PREFIX:=$(MOZ_TOOLS)/vc71
-LIBIDL_PREFIX:=$(MOZ_TOOLS)/vc71
-.EXPORT : GLIB_PREFIX LIBIDL_PREFIX
-.ENDIF
.EXPORT : PATH MOZ_TOOLS
-.ENDIF # "$(GUI)"=="WNT"
# --- Targets ------------------------------------------------------
.IF "$(BUILD_MOZAB)"==""
all:
+ @echo "Never Build Mozilla but copy runtime files $(MSVC80_DLL_DIR) ."
@echo "Never Build Mozilla but copy runtime files."
@@-$(MKDIR) $(OUT)$/zipped
- $(COPY) $(MOZ_ZIP_INC) $(OUT)$/zipped$/
- $(COPY) $(MOZ_ZIP_LIB) $(OUT)$/zipped$/
- $(COPY) $(MOZ_ZIP_RUNTIME) $(OUT)$/zipped$/
+ $(COPY) $(TARFILE_LOCATION)$/$(MOZ_ZIP_INC) $(PRJ)$/zipped$/
+ $(COPY) $(TARFILE_LOCATION)$/$(MOZ_ZIP_LIB) $(PRJ)$/zipped$/
+ $(COPY) $(TARFILE_LOCATION)$/$(MOZ_ZIP_RUNTIME) $(PRJ)$/zipped$/
+.IF "$(EXTMSV80)"!=""
$(COPY) $(MSVC80_MNFST) $(EXTMSV80)$/Microsoft.VC80.CRT.manifest
$(COPY) $(MSVC80_DLL_DIR)$/msvcp80.dll $(EXTMSV80)$/
$(COPY) $(MSVC80_DLL_DIR)$/msvcr80.dll $(EXTMSV80)$/
.ENDIF
+.ENDIF
.INCLUDE : set_ext.mk
.INCLUDE : target.mk
.INCLUDE : tg_ext.mk
-.IF "$(GUI)"=="WNT"
NEEDWINTOOLSFLAGFILE:=$(MISC)$/build$/moztools.complete
-.ENDIF # "$(GUI)"=="WNT"
ALLTAR: $(NEEDWINTOOLSFLAGFILE) \
$(MISC)$/remove_build.flag \
@@ -321,32 +201,8 @@ $(MISC)$/remove_build.flag : $(PATCH_FILES)
$(TOUCH) $(MISC)$/remove_build.flag
# Unpack/setup Windows build tools
-.IF "$(GUI)"=="WNT"
$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(MISC)$/build$/moztools.complete
-.IF "$(COM)"=="GCC"
-$(MISC)$/build$/moztools.unpack : $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME)
- -$(RENAME) $(MOZTOOLSUNPACK) $(MOZTOOLSUNPACK)_removeme
- -$(RENAME) $(MOZTOOLSINST) $(MOZTOOLSINST)_removeme
- -rm -rf $(MOZTOOLSUNPACK)_removeme $(MOZTOOLSINST)_removeme
- @-$(MKDIRHIER) $(MOZTOOLSUNPACK)
- unzip $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME) -d $(MOZTOOLSUNPACK)
- $(TOUCH) $(MISC)$/build$/moztools.unpack
-
-$(MISC)$/build$/moztools.install : $(MISC)$/build$/moztools.unpack
- cd $(MOZTOOLSUNPACK)$/buildtools$/windows && $(SET_MOZ_TOOLS_INSTALL_BAT) && cmd /c install.bat
- $(TOUCH) $(MISC)$/build$/moztools.install
-
-$(MISC)$/build$/moztools.complete : \
- $(MISC)$/build$/moztools.install \
- $(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) \
- $(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME)
- unzip $(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST)
- unzip $(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST)
-# chmod is also needed for W32-4nt build (when cygwin unzip is used)
- -chmod -R +x $(MOZTOOLSINST)$/vc71$/bin
- $(TOUCH) $(MISC)$/build$/moztools.complete
-.ELSE
$(MISC)$/build$/moztools.unpack : $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME)
-$(RENAME) $(MOZTOOLS_EXTRACT) $(MOZTOOLS_EXTRACT)_removeme
-rm -rf $(MOZTOOLS_EXTRACT)_removeme
@@ -358,100 +214,8 @@ $(MISC)$/build$/moztools.unpack : $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME)
$(MISC)$/build$/moztools.complete : $(MISC)$/build$/moztools.unpack
$(TOUCH) $(MISC)$/build$/moztools.complete
-.ENDIF
-.ENDIF # "$(GUI)"=="WNT"
zip: \
$(MISC)$/CREATETARBALL
-.IF "$(GUIBASE)"=="aqua" && "$(CREATE_UNIVERSAL_MAC_MOZ_ZIP)"!=""
-MOZ_ARCH=$(eq,$(CPU),I i386 ppc)
-MOZILLA_CONFIGURE_FLAGS+=$(eq,$(CPU),I --target=i386-apple-darwin8 --target=powerpc-apple-darwin8)
-
-force_clean :
- @$(IFEXIST) $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) $(THEN) echo 'ERROR: get rid of your outputdir first (or refactor the makefiles to allow incremental creation of prebuilt zips). Remember to copy already created zips to a safe place '; exit 1 $(FI)
-
-zip_intel .SEQUENTIAL: force_clean $(MISC)$/CREATETARBALL
-
-zip_ppc .SEQUENTIAL: force_clean $(MISC)$/CREATETARBALL
-
-# target-conditionals, when building target -> Macro is set
-zip_intel ?= MOZ_ARCH=i386
-zip_intel ?= MOZILLA_CONFIGURE_FLAGS+=--target=i386-apple-darwin8
-zip_intel ?= CPU=I
-
-zip_ppc ?= MOZ_ARCH=ppc
-zip_ppc ?= MOZILLA_CONFIGURE_FLAGS+=--target=powerpc-apple-darwin8
-zip_ppc ?= CPU=P
-
-zip_universal: $(OUT)$/zipped$/$(OS)$(COM)UBinc.zip $(OUT)$/zipped$/$(OS)$(COM)UBlib.zip $(OUT)$/zipped$/$(OS)$(COM)UBruntime.zip
- @echo "All zips created successfully - copy from $(OUT)$/zipped to \$$SRC_ROOT/moz/zipped and use --disable-build-mozilla to use them"
-
-$(OUT)$/zipped$/$(OS)$(COM)UBinc.zip : zipped$/$(OS)$(COM)Pinc.zip zipped$/$(OS)$(COM)Iinc.zip
- @echo "setting up for $@"
- @rm -rf $(MISC)$/UB_inc
- @$(MKDIRHIER) $(MISC)$/UB_inc$/intel
- @$(MKDIR) $(MISC)$/UB_inc$/ppc
- @$(MKDIR) $(MISC)$/UB_inc$/uni
- @unzip -q zipped$/$(OS)$(COM)Pinc.zip -d $(MISC)$/UB_inc$/ppc
- @unzip -q zipped$/$(OS)$(COM)Iinc.zip -d $(MISC)$/UB_inc$/intel
-# use one of the two as basis for the universal one - (saves manually creating directories/copying identical files)
- @unzip -q zipped$/$(OS)$(COM)Pinc.zip -d $(MISC)$/UB_inc$/uni
-# add safety-warning to host-autogenerated headers (aren't used anywhere in OOo currently, but doesn't hurt to be safe
-# bail out on everything that differs and is not a *.h file
- @echo "flagging endian-specific headers with #error.."
- @diff --brief -r $(MISC)$/UB_inc$/ppc $(MISC)$/UB_inc$/intel | awk \
- '/^Only in/ {{print; print "ERROR - file sets differ!"; exit 1}} \
- /^Files .*\.h differ$$/ {{target="$(MISC)$/UB_inc$/uni$/" substr($$2,length("$(MISC)$/UB_inc$/ppc")+2); \
- system("echo \"#error use native moz-zips, this header is endian-specific!\" | cat - " $$2 " > " target); next}} \
- {{print; print "ERROR - unexpected files encountered!"; exit 2}}'
- @cd $(MISC)$/UB_inc$/uni ; zip -q -r ..$/$(@:f) *
- @$(MKDIRHIER) $(@:d)
- @$(MV) $(MISC)$/UB_inc$/$(@:f) $@
- @echo "successfully created $@"
-
-$(OUT)$/zipped$/$(OS)$(COM)UBlib.zip : zipped$/$(OS)$(COM)Plib.zip zipped$/$(OS)$(COM)Ilib.zip
- @echo "setting up for $@"
- @rm -rf $(MISC)$/UB_lib
- @$(MKDIRHIER) $(MISC)$/UB_lib$/intel
- @$(MKDIR) $(MISC)$/UB_lib$/ppc
- @$(MKDIR) $(MISC)$/UB_lib$/uni
- @unzip -q zipped$/$(OS)$(COM)Plib.zip -d $(MISC)$/UB_lib$/ppc
- @unzip -q zipped$/$(OS)$(COM)Ilib.zip -d $(MISC)$/UB_lib$/intel
-# use lipo on .a and .dylib files - bail out on anything else
- @echo "creating universal binaries from libs..."
- @diff --brief -s -r $(MISC)$/UB_lib$/ppc $(MISC)$/UB_lib$/intel | awk \
- '/^Only in/ {{print "ERROR - file sets differ!"; print; exit 1}} \
- /^Files .*\.(a|dylib) differ$$/ {{target="$(MISC)$/UB_lib$/uni$/" substr($$2,length("$(MISC)$/UB_lib$/ppc")+2); \
- if(0!=system("lipo -create -arch ppc "$$2" -arch i386 "$$4" -output " target)) exit 11; next}} \
- {{print; print "ERROR - unexpected files encountered!"; exit 2}}'
- @cd $(MISC)$/UB_lib$/uni ; zip -q -r ..$/$(@:f) *
- @$(MKDIRHIER) $(@:d)
- @$(MV) $(MISC)$/UB_lib$/$(@:f) $@
- @echo "successfully created $@"
-
-$(OUT)$/zipped$/$(OS)$(COM)UBruntime.zip : zipped$/$(OS)$(COM)Pruntime.zip zipped$/$(OS)$(COM)Iruntime.zip
- @echo "setting up for $@"
- @rm -rf $(MISC)$/UB_runtime
- @$(MKDIRHIER) $(MISC)$/UB_runtime$/intel
- @$(MKDIR) $(MISC)$/UB_runtime$/ppc
- @$(MKDIR) $(MISC)$/UB_runtime$/uni
- @unzip -q zipped$/$(OS)$(COM)Pruntime.zip -d $(MISC)$/UB_runtime$/ppc
- @unzip -q zipped$/$(OS)$(COM)Iruntime.zip -d $(MISC)$/UB_runtime$/intel
-# use one of the two as basis for the universal one - (saves manually creating directories/copying identical files)
- @unzip -q zipped$/$(OS)$(COM)Pruntime.zip -d $(MISC)$/UB_runtime$/uni
-# @line -comments in autogenerated files: contains path of source-file, ignore different objdirs
- @echo "creating universal binaries from libs..."
- @diff --brief -I "^//@line [0-9][0-9]*" -r $(MISC)$/UB_runtime$/ppc $(MISC)$/UB_runtime$/intel | awk \
- '/^Only in/ {{print; print "ERROR - file sets differ!"; exit 1}} \
- /^Files .*\.dylib differ$$/ {{target="$(MISC)$/UB_runtime$/uni$/" substr($$2,length("$(MISC)$/UB_runtime$/ppc")+2); \
- if(0!=system("lipo -create -arch ppc "$$2" -arch i386 "$$4" -output " target)) exit 11; next}} \
- {{print; print "ERROR - unexpected files encountered!"; exit 2}}'
- @cd $(MISC)$/UB_lib$/uni ; zip -q -r ..$/$(@:f) *
- @$(MKDIRHIER) $(@:d)
- @$(MV) $(MISC)$/UB_lib$/$(@:f) $@
- @echo "successfully created $@"
-
-.ENDIF # $(GUIBASE)=="aqua"
-
.INCLUDE : extractfiles.mk