[Libreoffice-commits] .: external/CustomTarget_stdlibs.mk external/Module_external.mk external/Package_stdlibs.mk solenv/gbuild

Petr Mladek pmladek at suse.cz
Fri Feb 1 03:27:36 PST 2013


 external/CustomTarget_stdlibs.mk       |   21 +++++++++++++++++++++
 external/Module_external.mk            |   10 ++++++++++
 external/Package_stdlibs.mk            |   17 +++++++++++++++++
 solenv/gbuild/platform/com_GCC_defs.mk |    3 +++
 solenv/gbuild/platform/unxgcc.mk       |    8 ++------
 5 files changed, 53 insertions(+), 6 deletions(-)

New commits:
commit b4801abd2ee1ffa037e654731ffc20d6ff2c701c
Author: Petr Mladek <pmladek at suse.cz>
Date:   Thu Jan 31 14:39:06 2013 +0100

    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 at redhat.com>
    Tested-by: David Tardon <dtardon at redhat.com>

diff --git a/external/CustomTarget_stdlibs.mk b/external/CustomTarget_stdlibs.mk
new file mode 100644
index 0000000..786cb15
--- /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 c5a312a..757c06b 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 0000000..2a074b5
--- /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 039333b..76a63e0 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 5f1eb80..206a598 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) \
 )


More information about the Libreoffice-commits mailing list