solenv/gbuild/AllLangResTarget.mk | 5 solenv/gbuild/Configuration.mk | 3 solenv/gbuild/SdiTarget.mk | 1 solenv/gbuild/UnoApiTarget.mk | 11 ++ solenv/gbuild/platform/android.mk | 21 ---- solenv/gbuild/platform/com_GCC_class.mk | 72 ++++++++++++++ solenv/gbuild/platform/com_GCC_defs.mk | 130 +++++++++++++++++++++++++ solenv/gbuild/platform/ios.mk | 145 ++-------------------------- solenv/gbuild/platform/macosx.mk | 163 +++----------------------------- solenv/gbuild/platform/solaris.mk | 24 ---- solenv/gbuild/platform/unxgcc.mk | 155 +----------------------------- solenv/gbuild/platform/windows.mk | 17 --- solenv/gbuild/platform/winmingw.mk | 152 ++--------------------------- 13 files changed, 276 insertions(+), 623 deletions(-)
New commits: commit 9a71582047d7762255b280d5730aebbaabf9d115 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 20:04:14 2011 -0600 clean-up after conflicting branch rebase diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk index 9eb0db7..195e068 100644 --- a/solenv/gbuild/SdiTarget.mk +++ b/solenv/gbuild/SdiTarget.mk @@ -31,7 +31,6 @@ # (This can be workarounded by using gb_Package, but really should not.) # SdiTarget class -gb_SdiTarget_SVIDLPRECOMMAND := $(gb_Helper_set_ld_path) gb_SdiTarget_SVIDLTARGET := $(call gb_Executable_get_target_for_build,svidl) gb_SdiTarget_SVIDLCOMMAND := \ $(gb_Helper_set_ld_path) $(gb_SdiTarget_SVIDLTARGET) commit 1d60e2032af3b9d4c39f595737e4111da27c1aaa Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 14:37:24 2011 -0600 factorize RSCTARGET,RSCOMMANd out of platform, and __command_dep in com_GCC diff --git a/solenv/gbuild/AllLangResTarget.mk b/solenv/gbuild/AllLangResTarget.mk index ba714df..78bfbf8 100644 --- a/solenv/gbuild/AllLangResTarget.mk +++ b/solenv/gbuild/AllLangResTarget.mk @@ -72,10 +72,11 @@ $(call gb_SrsPartMergeTarget_get_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY) # SrsPartTarget class # defined by platform -# gb_SrsPartTarget_RSCTARGET -# gb_SrsPartTarget_RSCCOMMAND # gb_SrsPartTarget__command_dep +gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc$(gb_Executable_EXT_for_build) +gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_SrsPartTarget_RSCTARGET) + define gb_SrsPartTarget__command $(call gb_Helper_abbreviate_dirs_native,\ mkdir -p $(dir $(1)) && \ diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk index 2a52626..61afbc1 100644 --- a/solenv/gbuild/platform/com_GCC_class.mk +++ b/solenv/gbuild/platform/com_GCC_class.mk @@ -59,3 +59,14 @@ $(call gb_Helper_abbreviate_dirs,\ $(INCLUDE_STL) $(INCLUDE)) endef +define gb_SrsPartTarget__command_dep +$(call gb_Helper_abbreviate_dirs,\ + mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && \ + $(gb_GCCP) \ + -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \ + $(INCLUDE) \ + $(DEFS) \ + -c -x c++-header $(2) \ + -o $(call gb_SrsPartTarget_get_dep_target,$(1))) +endef + diff --git a/solenv/gbuild/platform/ios.mk b/solenv/gbuild/platform/ios.mk index 073633c..8f013fb 100644 --- a/solenv/gbuild/platform/ios.mk +++ b/solenv/gbuild/platform/ios.mk @@ -305,23 +305,6 @@ $(call gb_JunitTest_get_target,$(1)) : DEFS := \ endef -# SrsPartTarget class - -gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_SrsPartTarget_RSCTARGET) - -define gb_SrsPartTarget__command_dep -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && \ - $(gb_GCCP) \ - -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \ - $(INCLUDE) \ - $(DEFS) \ - -c -x c++-header $(2) \ - -o $(call gb_SrsPartTarget_get_dep_target,$(1))) -endef - - # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 90a0432..49ac78b 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -398,23 +398,6 @@ $(call gb_JunitTest_get_target,$(1)) : DEFS := \ endef -# SrsPartTarget class - -gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET) - -define gb_SrsPartTarget__command_dep -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && \ - $(gb_GCCP) \ - -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \ - $(INCLUDE) \ - $(DEFS) \ - -c -x c++-header $(2) \ - -o $(call gb_SrsPartTarget_get_dep_target,$(1))) -endef - - # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index f13dd7e..711216a 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -364,11 +364,6 @@ $(call gb_JunitTest_get_target,$(1)) : DEFS := \ endef -# SrsPartTarget class - -gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET) - # Sun cc/CC support -xM1/-xMF flags, but unfortunately refuse input files that # do not have the right suffix, so use makedepend here... define gb_SrsPartTarget__command_dep diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 944f129..ba984ff 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -385,23 +385,6 @@ $(call gb_JunitTest_get_target,$(1)) : DEFS := \ endef -# SrsPartTarget class - -gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(OUTDIR_FOR_BUILD)/bin/rsc - -define gb_SrsPartTarget__command_dep -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && \ - $(gb_GCCP) \ - -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \ - $(INCLUDE) \ - $(DEFS) \ - -c -x c++-header $(2) \ - -o $(call gb_SrsPartTarget_get_dep_target,$(1))) -endef - - # Python gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index a4010f9..5638d63 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -689,9 +689,6 @@ endef # SrsPartTarget class -gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc.exe -gb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET) - ifeq ($(gb_FULLDEPS),$(true)) define gb_SrsPartTarget__command_dep $(call gb_Helper_abbreviate_dirs_native,\ diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index 1f02d5e..6906f82 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -508,31 +508,6 @@ $(call gb_LinkTarget_set_auxtargets,$(2),\ endef -# SrsPartTarget class - -gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_SrsPartTarget_RSCTARGET) - -ifeq ($(gb_FULLDEPS),$(true)) -define gb_SrsPartTarget__command_dep -$(call gb_Helper_abbreviate_dirs,\ - $(OUTDIR_FOR_BUILD)/bin/makedepend \ - $(INCLUDE) \ - $(DEFS) \ - $(2) \ - -f - \ - | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \ - -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \ - -v OUTDIR=$(OUTDIR)/ \ - -v WORKDIR=$(WORKDIR)/ \ - -v SRCDIR=$(SRCDIR)/ \ - -v REPODIR=$(REPODIR)/ \ - > $(call gb_SrsPartTarget_get_dep_target,$(1))) -endef -else -gb_SrsPartTarget__command_dep = -endif - # WinResTarget class gb_WinResTarget_POSTFIX :=.res commit 63178f64b4967182fa8682203a5d89e18c341d93 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 14:35:03 2011 -0600 factorize gb_SrsParMergeTarget_TRANSECPRECOMMAND our of platform/* diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index 52425e2..a4010f9 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -687,7 +687,6 @@ $(call gb_JunitTest_get_target,$(1)) : DEFS := \ endef - # SrsPartTarget class gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc.exe commit 391993ef60ae0c0aa25f90aedbf03ffdd0ea0efb Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 14:32:26 2011 -0600 factorize gb_SdiTarget_SVIDLPRECOMMAND out of platform/* diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk index 8ef4fe2..9eb0db7 100644 --- a/solenv/gbuild/SdiTarget.mk +++ b/solenv/gbuild/SdiTarget.mk @@ -31,7 +31,7 @@ # (This can be workarounded by using gb_Package, but really should not.) # SdiTarget class - +gb_SdiTarget_SVIDLPRECOMMAND := $(gb_Helper_set_ld_path) gb_SdiTarget_SVIDLTARGET := $(call gb_Executable_get_target_for_build,svidl) gb_SdiTarget_SVIDLCOMMAND := \ $(gb_Helper_set_ld_path) $(gb_SdiTarget_SVIDLTARGET) commit 0442869febf100c1c36d6a3a7368e4d1642f97b5 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 14:29:28 2011 -0600 factorize gb_XSLTPROCPRECOMMAND out of platform/* diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 602e41f..f13dd7e 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -387,8 +387,6 @@ $(call gb_Helper_abbreviate_dirs_native,\ > $(call gb_SrsPartTarget_get_dep_target,$(1))) endef -# UnoApiTarget - # Python gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index 5f3a7ae..1f02d5e 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -573,8 +573,6 @@ else gb_WinResTarget__command_dep = endif -# UnoApiTarget - # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" commit cc806434e7004a51be775fd482e70bd0f5db3431 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Tue Nov 8 14:26:30 2011 -0600 gb_CFGEXPRECOMMAND is not necessary and can be factorized out of platform/* diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk index c08719d..b0134c0 100644 --- a/solenv/gbuild/Configuration.mk +++ b/solenv/gbuild/Configuration.mk @@ -222,8 +222,7 @@ $(call gb_XcuLangpackTarget_get_outdir_target,%) : # XcuMergeTarget class gb_XcuMergeTarget_CFGEXTARGET := $(call gb_Executable_get_target,cfgex) -gb_XcuMergeTarget_CFGEXCOMMAND := \ - $(gb_Helper_set_ld_path) $(gb_XcuMergeTarget_CFGEXTARGET) +gb_XcuMergeTarget_CFGEXCOMMAND := $(gb_Helper_set_ld_path) $(gb_XcuMergeTarget_CFGEXTARGET) gb_XcuMergeTarget_SDFLOCATION := $(SRCDIR)/translations/$(INPATH)/misc/sdf/ # PRJNAME is computed from the stem (parameter $(2)) diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 7673320..602e41f 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -389,7 +389,6 @@ endef # UnoApiTarget - # Python gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index 89ff9dc..52425e2 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -753,7 +753,6 @@ else gb_WinResTarget__command_dep = endif - # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index b467a2a..5f3a7ae 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -575,7 +575,6 @@ endif # UnoApiTarget - # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" commit dc15b67b1d4b71209d404773cdf2a7f23d8d79a2 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Mon Nov 7 22:23:54 2011 -0600 UnoApiTarget_* really do not need to be per platform setting and using gb_Helper_set_ld_path and gb_Executable_EXT_for_build is enough to factorize these out of platform/* diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk index de2dc74..d90090b 100644 --- a/solenv/gbuild/UnoApiTarget.mk +++ b/solenv/gbuild/UnoApiTarget.mk @@ -26,6 +26,17 @@ # #************************************************************************* +gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc$(gb_Executable_EXT_for_build) +gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) +gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge$(gb_Executable_EXT_for_build) +gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) +gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare$(gb_Executable_EXT_for_build) +gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) +gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker$(gb_Executable_EXT_for_build) +gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) +gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview$(gb_Executable_EXT_for_build) +gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) + define gb_UnoApiTarget_autopackage_inc $$(eval $$(call gb_Package_Package,$(1)_inc,$$(patsubst %/empty,%,$$(call gb_UnoApiTarget_get_header_target,empty)))) $(foreach onefile,$(gb_UnoApiTarget_HPPFILES_$(1)), \ diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk index ccd76bf..2a52626 100644 --- a/solenv/gbuild/platform/com_GCC_class.mk +++ b/solenv/gbuild/platform/com_GCC_class.mk @@ -59,14 +59,3 @@ $(call gb_Helper_abbreviate_dirs,\ $(INCLUDE_STL) $(INCLUDE)) endef -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) - diff --git a/solenv/gbuild/platform/ios.mk b/solenv/gbuild/platform/ios.mk index b10a391..073633c 100644 --- a/solenv/gbuild/platform/ios.mk +++ b/solenv/gbuild/platform/ios.mk @@ -321,18 +321,6 @@ $(call gb_Helper_abbreviate_dirs,\ -o $(call gb_SrsPartTarget_get_dep_target,$(1))) endef -# UnoApiTarget - -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 45fb9a7..90a0432 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -414,18 +414,6 @@ $(call gb_Helper_abbreviate_dirs,\ -o $(call gb_SrsPartTarget_get_dep_target,$(1))) endef -# UnoApiTarget - -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 8d0dcd2..7673320 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -135,6 +135,8 @@ gb_COMPILERNOOPTFLAGS := gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) +gb_Helper_set_ld_path := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib + # convert parameters filesystem root to native notation # does some real work only on windows, make sure not to # break the dummy implementations on unx* @@ -340,7 +342,7 @@ endef # CppunitTest class -gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib +gb_CppunitTest_CPPTESTPRECOMMAND := $(gb_Helper_set_ld_path) gb_CppunitTest_SYSPRE := libtest_ gb_CppunitTest_EXT := .so gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR) @@ -365,7 +367,7 @@ endef # SrsPartTarget class gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc -gb_SrsPartTarget_RSCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET) +gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET) # Sun cc/CC support -xM1/-xMF flags, but unfortunately refuse input files that # do not have the right suffix, so use makedepend here... @@ -387,18 +389,8 @@ endef # UnoApiTarget -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python -gb_PYTHON_PRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload +gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index bc3f61a..944f129 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -29,6 +29,8 @@ GUI := UNX COM := GCC +gb_Executable_EXT:= + include $(GBUILDDIR)/platform/com_GCC_defs.mk gb_MKTEMP := mktemp -t gbuild.XXXXXX @@ -399,18 +401,6 @@ $(call gb_Helper_abbreviate_dirs,\ -o $(call gb_SrsPartTarget_get_dep_target,$(1))) endef -# UnoApiTarget - -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index c7e825b..89ff9dc 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -753,18 +753,6 @@ else gb_WinResTarget__command_dep = endif -# UnoApiTarget - -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc.exe -gb_UnoApiTarget_IDLCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge.exe -gb_UnoApiTarget_REGMERGECOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare.exe -gb_UnoApiTarget_REGCOMPARECOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker.exe -gb_UnoApiTarget_CPPUMAKERCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview.exe -gb_UnoApiTarget_REGVIEWCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index c25ef6f..b467a2a 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -575,16 +575,6 @@ endif # UnoApiTarget -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" commit 70270b53e764bf814ebb0c771db6280b951ee6b2 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Sat Nov 5 06:55:15 2011 -0500 begin factorization of common GCC stuff a lot of configuration/definition is shared between platforms that build using gcc. This start to regroup things that are common into 2 files com_GCC_defs.mk and com_GCC_class.mk this can be expanded to be, more generically com_$(COM)_defs/class The reson for 2 files is that some step need to modfify common definitions based on the platform and some common definitions need platform defined value. with these 2 files we can do a platform - compiler - platform - compiler - platfrom sandwich that should cover every scenario. diff --git a/solenv/gbuild/platform/android.mk b/solenv/gbuild/platform/android.mk index 03f85ec..92ad366 100644 --- a/solenv/gbuild/platform/android.mk +++ b/solenv/gbuild/platform/android.mk @@ -39,25 +39,4 @@ include $(GBUILDDIR)/platform/unxgcc.mk # No unit testing can be run gb_CppunitTest_CPPTESTPRECOMMAND := : -# Set the proper enirotment variable so that our BUILD platform -# build-time shared libraries are found. -ifeq ($(OS_FOR_BUILD),MACOSX) -gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib -else -gb_Helper_set_ld_path := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib -endif - -# UnoApiTarget - -gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc -gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) -gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge -gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) -gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare -gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) -gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker -gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) -gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview -gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) - # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk new file mode 100644 index 0000000..ccd76bf --- /dev/null +++ b/solenv/gbuild/platform/com_GCC_class.mk @@ -0,0 +1,72 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developer of the Original Code is +# Norbert Thiebaud <nthieb...@gmail.com> (C) 2010, All Rights Reserved. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + + +# CObject class + +# $(call gb_CObject__command,object,relative-source,source,dep-file) +define gb_CObject__command +$(call gb_Output_announce,$(2),$(true),C ,3) +$(call gb_Helper_abbreviate_dirs,\ + mkdir -p $(dir $(1)) $(dir $(4)) && \ + $(gb_CC) \ + $(DEFS) \ + $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ + $(T_CFLAGS) \ + -c $(3) \ + -o $(1) \ + -MMD -MT $(1) \ + -MP -MF $(4) \ + -I$(dir $(3)) \ + $(INCLUDE)) +endef + +# CxxObject class + +# $(call gb_CxxObject__command,object,relative-source,source,dep-file) +define gb_CxxObject__command +$(call gb_Output_announce,$(2),$(true),CXX,3) +$(call gb_Helper_abbreviate_dirs,\ + mkdir -p $(dir $(1)) $(dir $(4)) && \ + $(gb_CXX) \ + $(DEFS) \ + $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ + $(T_CXXFLAGS) \ + -c $(3) \ + -o $(1) \ + -MMD -MT $(1) \ + -MP -MF $(4) \ + -I$(dir $(3)) \ + $(INCLUDE_STL) $(INCLUDE)) +endef + +gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc +gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET) +gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge +gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET) +gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare +gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET) +gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker +gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET) +gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview +gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET) + diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk new file mode 100644 index 0000000..c73219e --- /dev/null +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -0,0 +1,130 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developer of the Original Code is +# Norbert Thiebaud <nthieb...@gmail.com> (C) 2010, All Rights Reserved. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +gb_AWK := awk +gb_YACC := bison + +gb_CLASSPATHSEP := : + +# use CC/CXX if they are nondefaults +ifneq ($(origin CC),default) +gb_CC := $(CC) +gb_GCCP := $(CC) +else +gb_CC := gcc +gb_GCCP := gcc +endif + +ifneq ($(origin CXX),default) +gb_CXX := $(CXX) +else +gb_CXX := g++ +endif + +ifneq ($(origin AR),default) +gb_AR := $(AR) +else +gb_AR := $(shell $(CC) -print-prog-name=ar) +endif + +ifeq ($(strip $(gb_COMPILERDEFAULTOPTFLAGS)),) +gb_COMPILERDEFAULTOPTFLAGS := -O2 +endif + +gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') + +gb_COMPILERDEFS := \ + -D$(COM) \ + -DCPPU_ENV=gcc3 \ + -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \ + +gb_CFLAGS_COMMON := \ + -Wall \ + -Wendif-labels \ + -Wextra \ + -fmessage-length=0 \ + -fno-common \ + -pipe \ + +gb_CXXFLAGS_COMMON := \ + -Wall \ + -Wendif-labels \ + -Wextra \ + -fmessage-length=0 \ + -fno-common \ + -pipe \ + +ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) +gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR +gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR +endif + +ifeq ($(ENABLE_LTO),TRUE) +gb_Library_LTOFLAGS := -flto +endif + +gb_LinkTarget_EXCEPTIONFLAGS := \ + -DEXCEPTIONS_ON \ + -fexceptions \ + -fno-enforce-eh-specs \ + +gb_LinkTarget_NOEXCEPTIONFLAGS := \ + -DEXCEPTIONS_OFF \ + -fno-exceptions \ + + +# optimization level +ifneq ($(gb_DEBUGLEVEL),0) +gb_COMPILEROPTFLAGS := -O0 +else +gb_COMPILEROPTFLAGS := $(gb_COMPILERDEFAULTOPTFLAGS) +endif +gb_COMPILERNOOPTFLAGS := -O0 + +gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) +gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) + + + +ifeq ($(OS_FOR_BUILD),MACOSX) +gb_Helper_LIBRARY_PATH_VAR := DYLD_LIBRARY_PATH +else ifeq ($(OS_FOR_BUILD),WNT) +# In theory possible if cross-compiling to some Unix from Windows, +# in practice strongly discouraged to even try that +gb_Helper_LIBRARY_PATH_VAR := PATH +else +gb_Helper_LIBRARY_PATH_VAR := LD_LIBRARY_PATH +endif + +gb_Helper_set_ld_path := $(gb_Helper_LIBRARY_PATH_VAR)=$(OUTDIR_FOR_BUILD)/lib + + +# convert parameters filesystem root to native notation +# does some real work only on windows, make sure not to +# break the dummy implementations on unx* +define gb_Helper_convert_native +$(1) +endef + +gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib + +gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) diff --git a/solenv/gbuild/platform/ios.mk b/solenv/gbuild/platform/ios.mk index 2f954c1..b10a391 100644 --- a/solenv/gbuild/platform/ios.mk +++ b/solenv/gbuild/platform/ios.mk @@ -29,8 +29,9 @@ GUI := UNX COM := GCC -# Darwin mktemp -t expects a prefix, not a pattern -gb_MKTEMP := /usr/bin/mktemp -t gbuild. +gb_CPUDEFS := -DARM32 + +gb_COMPILERDEFAULTOPTFLAGS := -O2 ifeq ($(CC),) $(error You must set CC in the environment. See README.cross for example.) @@ -39,13 +40,10 @@ ifeq ($(CXX),) $(error You must set CXX in the environment. See README.cross for example.) endif -gb_CC := $(CC) -gb_CXX := $(CXX) -gb_GCCP := $(CC) -gb_AR := ar -gb_AWK := awk -gb_CLASSPATHSEP := : -gb_YACC := bison +include $(GBUILDDIR)/platform/com_GCC_defs.mk + +# Darwin mktemp -t expects a prefix, not a pattern +gb_MKTEMP := /usr/bin/mktemp -t gbuild. gb_OSDEFS := \ -D$(OS) \ @@ -56,35 +54,18 @@ gb_OSDEFS := \ -DNO_PTHREAD_PRIORITY \ $(EXTRA_CDEFS) \ -gb_COMPILERDEFS := \ - -D$(COM) \ - -DCPPU_ENV=gcc3 \ - -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \ - -gb_CPUDEFS := -DARM32 - gb_CFLAGS := \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CFLAGS_COMMON) \ -Wshadow \ - -fmessage-length=0 \ - -fno-common \ -fno-strict-aliasing \ - -pipe \ gb_CXXFLAGS := \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CXXFLAGS_COMMON) \ -Wno-ctor-dtor-privacy \ -Wno-non-virtual-dtor \ - -fmessage-length=0 \ - -fno-common \ -fno-strict-aliasing \ -fsigned-char \ -malign-natural \ - -pipe \ #-Wshadow \ break in compiler headers already #-fsigned-char \ might be removed? #-malign-natural \ might be removed? @@ -96,47 +77,10 @@ gb_OBJCXXFLAGS := -x objective-c++ $(gb_OBJC_OBJCXX_COMMON_FLAGS) gb_OBJCFLAGS := -x objective-c $(gb_OBJC_OBJCXX_COMMON_FLAGS) -ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) -gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR -gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR -endif - -gb_LinkTarget_EXCEPTIONFLAGS := \ - -DEXCEPTIONS_ON \ - -fexceptions \ - -fno-enforce-eh-specs \ - -gb_LinkTarget_NOEXCEPTIONFLAGS := \ - -DEXCEPTIONS_OFF \ - -fno-exceptions \ - gb_LinkTarget_LDFLAGS := \ $(subst -L../lib , ,$(SOLARLIB)) \ #man ld says: obsolete -Wl,-multiply_defined,suppress \ -ifneq ($(gb_DEBUGLEVEL),0) -gb_COMPILEROPTFLAGS := -O0 -else -gb_COMPILEROPTFLAGS := -O2 -endif - -gb_COMPILERNOOPTFLAGS := -O0 - -# Helper class - -gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) - -gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib - -# convert parameters filesystem root to native notation -# does some real work only on windows, make sure not to -# break the dummy implementations on unx* -define gb_Helper_convert_native -$(1) -endef - -gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib - # YaccTarget class define gb_YaccTarget__command @@ -148,43 +92,6 @@ $(call gb_Helper_abbreviate_dirs,\ endef -# CObject class - -define gb_CObject__command -$(call gb_Output_announce,$(2),$(true),C ,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CC) \ - $(DEFS) \ - $(T_CFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE)) -endef - - -# CxxObject class - -# N.B: $(T_CXXFLAGS) may contain -x objective-c++, which must come before -c -define gb_CxxObject__command -$(call gb_Output_announce,$(2),$(true),CXX,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CXX) \ - $(DEFS) \ - $(T_CXXFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE_STL) $(INCLUDE)) -endef - - # ObjCxxObject class define gb_ObjCxxObject__command @@ -234,9 +141,6 @@ gb_LinkTarget_OBJCXXFLAGS += -g gb_LinkTarget_OBJCFLAGS += -g endif -gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) -gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) - # FIXME framework handling very hackish define gb_LinkTarget__get_liblinkflags $(patsubst lib%.a,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS) $(gb_Library_UNOLIBS_OOO),$(1)),$(call gb_Library_get_filename,$(lib)))) \ @@ -433,4 +337,6 @@ gb_UnoApiTarget_REGVIEWCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLA # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib +include $(GBUILDDIR)/platform/com_GCC_class.mk + # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 616550b..45fb9a7 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -29,26 +29,22 @@ GUI := UNX COM := GCC +gb_SDKDIR := $(MACOSX_SDK_PATH) + +ifeq ($(CPUNAME),POWERPC) +gb_CPUDEFS := -DPPC +else +gb_CPUDEFS := -DX86 +endif + +gb_COMPILERDEFAULTOPTFLAGS := -O2 + +include $(GBUILDDIR)/platform/com_GCC_defs.mk + + # Darwin mktemp -t expects a prefix, not a pattern gb_MKTEMP ?= /usr/bin/mktemp -t gbuild. -gb_CC := cc -gb_CXX := g++ -gb_GCCP := gcc -gb_AR := ar -gb_AWK := awk -gb_CLASSPATHSEP := : -gb_YACC := bison - -# use CC/CXX if they are nondefaults -ifneq ($(origin CC),default) -gb_CC := $(CC) -gb_GCCP := $(CC) -endif -ifneq ($(origin CXX),default) -gb_CXX := $(CXX) -endif -gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') gb_OSDEFS := \ -D$(OS) \ @@ -62,46 +58,28 @@ gb_OSDEFS := \ -DMAC_OS_X_VERSION_MAX_ALLOWED=$(MAC_OS_X_VERSION_MAX_ALLOWED) \ $(EXTRA_CDEFS) \ -gb_COMPILERDEFS := \ - -D$(COM) \ + +gb_COMPILERDEFS += \ -DHAVE_GCC_VISIBILITY_FEATURE \ - -DCPPU_ENV=gcc3 \ - -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \ -ifeq ($(CPUNAME),POWERPC) -gb_CPUDEFS := -DPPC -else -gb_CPUDEFS := -DX86 -endif -gb_SDKDIR := $(MACOSX_SDK_PATH) gb_CFLAGS := \ -isysroot $(gb_SDKDIR) \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CFLAGS_COMMON) \ -Wshadow \ -fPIC \ - -fmessage-length=0 \ - -fno-common \ -fno-strict-aliasing \ - -pipe \ gb_CXXFLAGS := \ -isysroot $(gb_SDKDIR) \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CXXFLAGS_COMMON) \ + -fPIC \ -Wno-ctor-dtor-privacy \ -Wno-non-virtual-dtor \ - -fPIC \ - -fmessage-length=0 \ - -fno-common \ -fno-strict-aliasing \ -fsigned-char \ -malign-natural \ - -pipe \ #-Wshadow \ break in compiler headers already #-fsigned-char \ might be removed? #-malign-natural \ might be removed? @@ -120,24 +98,6 @@ gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions gb_OBJCFLAGS := -x objective-c -ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) -gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR -gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR -endif - -ifeq ($(ENABLE_LTO),TRUE) -gb_Library_LTOFLAGS := -flto -endif - -gb_LinkTarget_EXCEPTIONFLAGS := \ - -DEXCEPTIONS_ON \ - -fexceptions \ - -fno-enforce-eh-specs \ - -gb_LinkTarget_NOEXCEPTIONFLAGS := \ - -DEXCEPTIONS_OFF \ - -fno-exceptions \ - gb_LinkTarget_LDFLAGS := \ -Wl,-syslibroot,$(gb_SDKDIR) \ $(subst -L../lib , ,$(SOLARLIB)) \ @@ -153,21 +113,6 @@ endif gb_COMPILERNOOPTFLAGS := -O0 -# Helper class - -gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) - -gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR)/lib - -# convert parameters filesystem root to native notation -# does some real work only on windows, make sure not to -# break the dummy implementations on unx* -define gb_Helper_convert_native -$(1) -endef - -gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib - # YaccTarget class ifeq ($(CPUNAME),POWERPC) @@ -194,44 +139,6 @@ $(call gb_Helper_abbreviate_dirs,\ endef endif -# CObject class - -define gb_CObject__command -$(call gb_Output_announce,$(2),$(true),C ,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CC) \ - $(DEFS) \ - $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ - $(T_CFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE)) -endef - - -# CxxObject class - -# N.B: $(CXXFLAGS) may contain -x objective-c++, which must come before -c -define gb_CxxObject__command -$(call gb_Output_announce,$(2),$(true),CXX,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CXX) \ - $(DEFS) \ - $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ - $(T_CXXFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE_STL) $(INCLUDE)) -endef - # ObjCxxObject class @@ -298,9 +205,6 @@ gb_LinkTarget_OBJCFLAGS += -g gb_LinkTarget_OBJCXXFLAGS += -g endif -gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) -gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) - # FIXME framework handling very hackish define gb_LinkTarget__get_liblinkflags $(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \ @@ -526,4 +430,6 @@ gb_UnoApiTarget_REGVIEWCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$( # Python gb_PYTHON_PRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib +include $(GBUILDDIR)/platform/com_GCC_class.mk + # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 0cf5991..bc3f61a 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -29,24 +29,10 @@ GUI := UNX COM := GCC +include $(GBUILDDIR)/platform/com_GCC_defs.mk + gb_MKTEMP := mktemp -t gbuild.XXXXXX -gb_CC := gcc -gb_CXX := g++ -gb_GCCP := gcc -gb_AR := ar -gb_AWK := awk -gb_CLASSPATHSEP := : -gb_YACC := bison - -# use CC/CXX if they are nondefaults -ifneq ($(origin CC),default) -gb_CC := $(CC) -gb_GCCP := $(CC) -endif -ifneq ($(origin CXX),default) -gb_CXX := $(CXX) -endif ifneq ($(origin AR),default) gb_AR := $(AR) endif @@ -62,34 +48,19 @@ ifeq ($(GXX_INCLUDE_PATH),) GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion) endif -gb_COMPILERDEFS := \ - -D$(COM) \ - -DCPPU_ENV=gcc3 \ - -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \ - gb_CFLAGS := \ - -Wall \ + $(gb_CFLAGS_COMMON) \ + -fPIC \ -Wdeclaration-after-statement \ - -Wendif-labels \ - -Wextra \ -Wshadow \ - -fPIC \ - -fmessage-length=0 \ - -fno-common \ - -pipe \ gb_CXXFLAGS := \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CXXFLAGS_COMMON) \ + -fPIC \ -Wshadow \ -Wsign-promo \ -Woverloaded-virtual \ -Wno-non-virtual-dtor \ - -fPIC \ - -fmessage-length=0 \ - -fno-common \ - -pipe \ ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE) gb_COMPILERDEFS += \ @@ -128,11 +99,6 @@ gb_CFLAGS += -fno-strict-aliasing gb_CXXFLAGS += -fno-strict-aliasing endif -ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) -gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR -gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR -endif - ifeq ($(HAVE_CXX0X),TRUE) #Currently, as well as for its own merits, c++11/c++0x mode allows use to use #a template for SAL_N_ELEMENTS to detect at compiler time its misuse @@ -151,7 +117,6 @@ endif endif ifeq ($(ENABLE_LTO),TRUE) -gb_Library_LTOFLAGS := -flto gb_LinkTarget_LDFLAGS += -fuse-linker-plugin $(gb_COMPILERDEFAULTOPTFLAGS) endif @@ -161,14 +126,6 @@ gb_CFLAGS += --sysroot=$(SYSBASE) gb_LinkTarget_LDFLAGS += \ -Wl,--sysroot=$(SYSBASE) endif -gb_LinkTarget_EXCEPTIONFLAGS := \ - -DEXCEPTIONS_ON \ - -fexceptions \ - -fno-enforce-eh-specs \ - -gb_LinkTarget_NOEXCEPTIONFLAGS := \ - -DEXCEPTIONS_OFF \ - -fno-exceptions \ gb_LinkTarget_LDFLAGS += \ -Wl,-rpath-link,$(SYSBASE)/lib:$(SYSBASE)/usr/lib \ @@ -209,31 +166,6 @@ gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline gb_COMPILERNOOPTFLAGS := -O0 -# Helper class - -gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) - -ifeq ($(OS_FOR_BUILD),MACOSX) -gb_Helper_LIBRARY_PATH_VAR := DYLD_LIBRARY_PATH -else ifeq ($(OS_FOR_BUILD),WNT) -# In theory possible if cross-compiling to some Unix from Windows, -# in practice strongly discouraged to even try that -gb_Helper_LIBRARY_PATH_VAR := PATH -else -gb_Helper_LIBRARY_PATH_VAR := LD_LIBRARY_PATH -endif - -gb_Helper_set_ld_path := $(gb_Helper_LIBRARY_PATH_VAR)=$(OUTDIR_FOR_BUILD)/lib - -# convert parameters filesystem root to native notation -# does some real work only on windows, make sure not to -# break the dummy implementations on unx* -define gb_Helper_convert_native -$(1) -endef - -gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib - # YaccTarget class define gb_YaccTarget__command @@ -244,45 +176,6 @@ $(call gb_Helper_abbreviate_dirs,\ endef -# CObject class - -# $(call gb_CObject__command,object,relative-source,source,dep-file) -define gb_CObject__command -$(call gb_Output_announce,$(2),$(true),C ,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CC) \ - $(DEFS) \ - $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ - $(T_CFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE)) -endef - - -# CxxObject class - -# $(call gb_CxxObject__command,object,relative-source,source,dep-file) -define gb_CxxObject__command -$(call gb_Output_announce,$(2),$(true),CXX,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CXX) \ - $(DEFS) \ - $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ - $(T_CXXFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE_STL) $(INCLUDE)) -endef - # AsmObject class @@ -327,9 +220,6 @@ gb_LinkTarget_CXXFLAGS += -ggdb2 gb_LinkTarget_CFLAGS += -ggdb2 endif -gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) -gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) - # note that `cat $(extraobjectlist)` is needed to build with older gcc versions, e.g. 4.1.2 on SLED10 # we want to use @$(extraobjectlist) in the long run define gb_LinkTarget__command_dynamiclink @@ -525,4 +415,6 @@ gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR) # Python gb_PYTHON_PRECOMMAND := $(gb_Helper_set_ld_path) PYTHONHOME=$(OUTDIR)/lib/python PYTHONPATH=$(OUTDIR)/lib/python:$(OUTDIR)/lib/python/lib-dynload +include $(GBUILDDIR)/platform/com_GCC_class.mk + # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index ea3ae75..c25ef6f 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -29,17 +29,15 @@ GUI := WNT COM := GCC +gb_COMPILERDEFAULTOPTFLAGS := -Os +gb_CPUDEFS := -D_M_IX86 + +include $(GBUILDDIR)/platform/com_GCC_defs.mk + gb_TMPDIR:=$(if $(TMPDIR),$(TMPDIR),/tmp) gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX -gb_CC := $(CC) -gb_CXX := $(CXX) -gb_AR := $(shell $(CC) -print-prog-name=ar) -gb_AWK := awk -gb_CLASSPATHSEP := : -gb_YACC := bison gb_RC := $(WINDRES) -gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') gb_OSDEFS := \ -DWINVER=0x0500 \ @@ -52,17 +50,12 @@ ifeq ($(GXX_INCLUDE_PATH),) GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion) endif -gb_COMPILERDEFS := \ - -DGCC \ - -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \ - -DCPPU_ENV=gcc3 \ +gb_COMPILERDEFS += \ -D_MT \ -D_NATIVE_WCHAR_T_DEFINED \ -D_MSC_EXTENSIONS \ -D_FORCENAMELESSUNION \ -gb_CPUDEFS := -D_M_IX86 - gb_RCDEFS := \ -DWINVER=0x0400 \ -DWIN32 \ @@ -70,49 +63,32 @@ gb_RCDEFS := \ gb_RCFLAGS := \ -V -gb_CFLAGS := \ - -Wall \ +gb_CFLAGS += \ + $(gb_CFLAGS_COMMON) \ -Wdeclaration-after-statement \ - -Wendif-labels \ - -Wextra \ - -fmessage-length=0 \ -fno-strict-aliasing \ - -pipe \ gb_CXXFLAGS := \ - -Wall \ - -Wendif-labels \ - -Wextra \ + $(gb_CXXFLAGS_COMMON) \ -Wno-ctor-dtor-privacy \ -Wno-non-virtual-dtor \ -Wreturn-type \ -Wshadow \ -Wuninitialized \ - -fmessage-length=0 \ -fno-strict-aliasing \ - -pipe \ -ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) -gb_CFLAGS_WERROR := -Werror -DLIBO_WERROR -gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR -endif ifneq ($(SYSBASE),) gb_CXXFLAGS += --sysroot=$(SYSBASE) gb_CFLAGS += --sysroot=$(SYSBASE) endif -gb_LinkTarget_EXCEPTIONFLAGS := \ - -DEXCEPTIONS_ON \ - -fexceptions \ + +gb_LinkTarget_EXCEPTIONFLAGS += \ -fno-enforce-eh-specs \ gb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS) -gb_LinkTarget_NOEXCEPTIONFLAGS := \ - -DEXCEPTIONS_OFF \ - -fno-exceptions \ - gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS) gb_LinkTarget_LDFLAGS := \ @@ -126,14 +102,6 @@ gb_LinkTarget_LDFLAGS += -shared-libgcc endif gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline -ifneq ($(gb_DEBUGLEVEL),0) - -gb_COMPILEROPTFLAGS := -O0 -else -gb_COMPILEROPTFLAGS := -Os -endif - -gb_COMPILERNOOPTFLAGS := -O0 gb_STDLIBS := \ mingwthrd \ @@ -152,16 +120,6 @@ gb_Helper_WORKDIR_NATIVE := $(WORKDIR) gb_Helper_OUTDIR_NATIVE := $(OUTDIR) gb_Helper_REPODIR_NATIVE := $(REPODIR) -gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) - -# Set the proper enirotment variable so that our BUILD platform -# build-time shared libraries are found. -ifeq ($(OS_FOR_BUILD),MACOSX) -gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib -else -gb_Helper_set_ld_path := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib -endif - # Convert parameters filesystem root to native notation # does some real work only on Windows, and this file is for # cross-compilation. @@ -169,8 +127,6 @@ define gb_Helper_convert_native $(1) endef -gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/bin - # YaccTarget class define gb_YaccTarget__command @@ -181,47 +137,6 @@ $(call gb_Helper_abbreviate_dirs,\ endef -# CObject class - -# We (LibreOffice) support MinGW only for cross-compilation. This is identical to -# gb_CObject__command in unxgcc.mk - -# $(call gb_CObject__command,object,relative-source,source,dep-file) -define gb_CObject__command -$(call gb_Output_announce,$(2),$(true),C ,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CC) \ - $(DEFS) \ - $(T_CFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE)) -endef - - -# CxxObject class - -# $(call gb_CxxObject__command,object,relative-source,source,dep-file) -define gb_CxxObject__command -$(call gb_Output_announce,$(2),$(true),CXX,3) -$(call gb_Helper_abbreviate_dirs,\ - mkdir -p $(dir $(1)) $(dir $(4)) && \ - $(gb_CXX) \ - $(DEFS) \ - $(T_CXXFLAGS) \ - -c $(3) \ - -o $(1) \ - -MMD -MT $(1) \ - -MP -MF $(4) \ - -I$(dir $(3)) \ - $(INCLUDE_STL) $(INCLUDE)) -endef - - # PrecompiledHeader class gb_PrecompiledHeader_EXT := .gch @@ -340,12 +255,9 @@ gb_LinkTarget_CXXFLAGS += -ggdb2 gb_LinkTarget_CFLAGS += -ggdb2 endif -gb_LinkTarget_INCLUDE :=\ - $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \ +gb_LinkTarget_INCLUDE +=\ $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \ -gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) - define gb_LinkTarget__command_dynamiclinkexecutable $(call gb_Output_announce,$(2),$(true),LNK,4) $(call gb_Helper_abbreviate_dirs,\ @@ -677,4 +589,6 @@ gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_ # Python gb_PYTHON_PRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" PYTHONHOME="$(OUTDIR)/lib/python" PYTHONPATH="$(OUTDIR)/lib/python;$(OUTDIR)/lib/python/lib-dynload" +include $(GBUILDDIR)/platform/com_GCC_class.mk + # vim: set noet sw=4: _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits