diff options
-rw-r--r-- | external/CustomTarget_stdlibs.mk | 21 | ||||
-rw-r--r-- | external/Module_external.mk | 10 | ||||
-rw-r--r-- | external/Package_stdlibs.mk | 17 | ||||
-rw-r--r-- | solenv/gbuild/platform/com_GCC_defs.mk | 3 | ||||
-rw-r--r-- | solenv/gbuild/platform/unxgcc.mk | 8 |
5 files changed, 53 insertions, 6 deletions
diff --git a/external/CustomTarget_stdlibs.mk b/external/CustomTarget_stdlibs.mk new file mode 100644 index 000000000000..786cb152b93c --- /dev/null +++ b/external/CustomTarget_stdlibs.mk @@ -0,0 +1,21 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_CustomTarget_CustomTarget,external/stdlibs)) + +$(eval $(call gb_CustomTarget_register_targets,external/stdlibs,\ + libgcc_s.so.$(gb_SHORTSTDC3) \ + libstdc++.so.$(gb_SHORTSTDCPP3) \ +)) + +$(call gb_CustomTarget_get_workdir,external/stdlibs)/lib%: + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),STL,1) + $(PERL) -w $(SOLARENV)/bin/gccinstlib.pl $(notdir $@) $(dir $@) + +# vim:set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/external/Module_external.mk b/external/Module_external.mk index c5a312abd5a7..757c06bcbca2 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -30,6 +30,16 @@ $(eval $(call gb_Module_add_targets,external,\ )) endif +ifeq ($(SYSTEM_STDLIBS),NO) +ifeq ($(gb_CPPU_ENV),gcc3) +$(eval $(call gb_Module_add_targets,external,\ + CustomTarget_stdlibs \ + Package_stdlibs \ +)) +endif +endif + + ifeq ($(HAVE_GETOPT),NO) $(eval $(call gb_Module_add_targets,external,\ UnpackedTarball_glibc \ diff --git a/external/Package_stdlibs.mk b/external/Package_stdlibs.mk new file mode 100644 index 000000000000..2a074b5b43a6 --- /dev/null +++ b/external/Package_stdlibs.mk @@ -0,0 +1,17 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Package_Package,stdlibs,$(call gb_CustomTarget_get_workdir,external/stdlibs))) + +$(eval $(call gb_Package_add_files,stdlibs,lib, \ + libgcc_s.so.$(gb_SHORTSTDC3) \ + libstdc++.so.$(gb_SHORTSTDCPP3) \ +)) + +# vim:set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index 039333b3eac1..76a63e0c21a9 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -52,6 +52,9 @@ endif gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') +gb_SHORTSTDC3 := 1 +gb_SHORTSTDCPP3 := 6 + gb_CPPU_ENV := gcc3 gb_AFLAGS := $(AFLAGS) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 5f1eb80dd6ed..206a598d14d6 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -364,18 +364,14 @@ endef # InstallModuleTarget class -# NOTE: values of SHORTSTDC3 and SHORTSTDCPP3 are hardcoded, because we -# do not really need all the variability of definition that was -# originally in solenv/inc/tg_compv.mk . Each of the macros is only used -# on one place, and only for Linux. define gb_InstallModuleTarget_InstallModuleTarget_platform $(call gb_InstallModuleTarget_add_defs,$(1),\ $(gb_CPUDEFS) \ $(gb_OSDEFS) \ -DCOMID=gcc3 \ -DCOMNAME=gcc3 \ - -DSHORTSTDC3=1 \ - -DSHORTSTDCPP3=6 \ + -DSHORTSTDC3=$(gb_SHORTSTDC3) \ + -DSHORTSTDCPP3=$(gb_SHORTSTDCPP3) \ -D_gcc3 \ $(if $(filter TRUE,$(SOLAR_JAVA)),-DSOLAR_JAVA) \ ) |