summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2013-01-31 14:39:06 +0100
committerDavid Tardon <dtardon@redhat.com>2013-02-01 11:27:15 +0000
commitb4801abd2ee1ffa037e654731ffc20d6ff2c701c (patch)
treeeb5b2f8ef79fe1a8c87a1c56d6142fb1d778a8d1
parentexport darken/darkeless/lighten/lightenless commands (diff)
downloadcore-b4801abd2ee1ffa037e654731ffc20d6ff2c701c.tar.gz
core-b4801abd2ee1ffa037e654731ffc20d6ff2c701c.zip
gbuild: copy stdlibs into solver again when they are bundled in the installer
Otherwise the build --without-system-stdlibs fails; This option is used for the universal Linux build Change-Id: I0f7d87bb161d50748fee05f9c3f6a4b87b788aa4 Reviewed-on: https://gerrit.libreoffice.org/1938 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
-rw-r--r--external/CustomTarget_stdlibs.mk21
-rw-r--r--external/Module_external.mk10
-rw-r--r--external/Package_stdlibs.mk17
-rw-r--r--solenv/gbuild/platform/com_GCC_defs.mk3
-rw-r--r--solenv/gbuild/platform/unxgcc.mk8
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) \
)