diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-05-08 19:56:48 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-05-10 17:56:24 +0200 |
commit | c007292ec3eedcf2b1ad673308fa42aad31a7333 (patch) | |
tree | 40cb5a7b6e854db9e575ad65a83f2868accd328a /solenv | |
parent | 09373d45838e4dab514e37dee4a4c8f6218ebda0 (diff) |
gbuild: gcc platforms: link with C compiler if no C++ files
In 5589c72b88e502bfca045ae38af16c854afdd401 a problem due to linking
pyuno_wrapper with g++ was fixed: the library should not have a
dependency on libstdc++. It's possible to implement this in gbuild
directly by checking whether there are any C++ input files.
(apparently on GNU/Linux g++ implicitly links in libm too...)
Change-Id: I04dce06f796e20047ce7f5eab65e6110c0244445
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/platform/IOS_ARM_GCC.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/WNT_INTEL_GCC.mk | 4 | ||||
-rw-r--r-- | solenv/gbuild/platform/android.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/macosx.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/solaris.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/unxgcc.mk | 3 |
6 files changed, 8 insertions, 7 deletions
diff --git a/solenv/gbuild/platform/IOS_ARM_GCC.mk b/solenv/gbuild/platform/IOS_ARM_GCC.mk index 5bcb0380835f..e52563968790 100644 --- a/solenv/gbuild/platform/IOS_ARM_GCC.mk +++ b/solenv/gbuild/platform/IOS_ARM_GCC.mk @@ -112,7 +112,7 @@ endef define gb_LinkTarget__command_dynamiclink $(if $(filter Library CppunitTest,$(TARGETTYPE)),@echo No dynamic libraries should be built for iOS && exit 1, \ mkdir -p $(dir $(1)) && \ - $(gb_CXX) \ + $(if $(CXXOBJECTS)$(OBJCXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(gb_Executable_TARGETTYPEFLAGS) \ $(subst \d,$$,$(RPATH)) \ $(T_LDFLAGS) \ diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk index b7760df46831..77fe838e69e5 100644 --- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk +++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk @@ -126,7 +126,7 @@ gb_LinkTarget_INCLUDE +=\ define gb_LinkTarget__command_dynamiclinkexecutable $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) $(strip \ + $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) $(strip \ $(gb_Executable_TARGETTYPEFLAGS) \ $(if $(filter YES,$(TARGETGUI)), -mwindows, -mconsole) \ $(T_LDFLAGS) \ @@ -147,7 +147,7 @@ endef define gb_LinkTarget__command_dynamiclinklibrary $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) $(strip \ + $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) $(strip \ $(gb_Library_TARGETTYPEFLAGS) \ $(T_LDFLAGS) \ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \ diff --git a/solenv/gbuild/platform/android.mk b/solenv/gbuild/platform/android.mk index aec98582e449..0161f9797f73 100644 --- a/solenv/gbuild/platform/android.mk +++ b/solenv/gbuild/platform/android.mk @@ -36,7 +36,7 @@ gb_LinkTarget_LDFLAGS += \ define gb_LinkTarget__command_dynamiclink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) \ + $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ -shared \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 5d6bd8bb6689..1f123f10f473 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -138,7 +138,7 @@ endef define gb_LinkTarget__command_dynamiclink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) \ + $(if $(CXXOBJECTS)$(OBJCXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \ $(if $(filter Bundle,$(TARGETTYPE)),$(gb_Bundle_TARGETTYPEFLAGS)) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 31d5c19d4175..96b2c53b18e1 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -188,7 +188,7 @@ endif define gb_LinkTarget__command_dynamiclink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) \ + $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \ $(subst \d,$$,$(RPATH)) \ diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 7785cd185426..9169c0fe538d 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -184,10 +184,11 @@ endif # 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 +# link with C compiler if there are no C++ files (pyuno_wrapper depends on this) define gb_LinkTarget__command_dynamiclink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(gb_CXX) \ + $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS),$(gb_CXX),$(gb_CC)) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter-out $(foreach lib,frm scfilt wpftdraw,$(call gb_Library_get_linktargetname,$(lib))),$*),$(gb_LTOFLAGS)) \ $(if $(SOVERSION),-Wl$(COMMA)--soname=$(notdir $(1)).$(SOVERSION)) \ |