summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-09-17 19:50:20 +0200
committerMichael Stahl <mstahl@redhat.com>2013-09-21 19:23:42 +0200
commit7ea2d7ffb3b959d83cdf925fef407991d181a6e4 (patch)
tree85e2f8f5cb039750c9ca6de9eeef0177d303ab05
parente4bcba3a1749a5545e8eec9b507329c1e203e974 (diff)
gbuild: make the DLL the LinkTarget of Library and CppunitTest
... instead of the import lib. If the DLL is an auxtarget, it cannot be deleted without annoying errors, and we want to be able to rm -r $(INSTIDR) and build incrementally from there. - replace DLLTARGET -> ILIBTARGET - replace gb_Library_DLLFILENAMES -> gb_Library_FILENAMES - replace gb_Library_FILENAMES -> gb_Library_ILIBFILENAMES - replace gb_Library_get_dllname -> gb_Library_get_filename - replace gb_Library_get_filename -> gb_Library_get_ilibfilename - replace gb_CppunitTest_get_libfilename -> gb_CppunitTest_get_ilibfilename - replace gb_LinkTarget_set_dlltarget -> gb_LinkTarget_set_ilibtarget Change-Id: I92a2f061a653b9b5941f3232d729987b1317b6f8
-rw-r--r--RepositoryFixes.mk69
-rw-r--r--odk/Package_lib.mk2
-rw-r--r--solenv/gbuild/CppunitTest.mk4
-rw-r--r--solenv/gbuild/Library.mk7
-rw-r--r--solenv/gbuild/LinkTarget.mk10
-rw-r--r--solenv/gbuild/TargetLocations.mk3
-rw-r--r--solenv/gbuild/platform/IOS_ARM_GCC.mk6
-rw-r--r--solenv/gbuild/platform/android.mk2
-rw-r--r--solenv/gbuild/platform/com_MSC_class.mk65
-rw-r--r--solenv/gbuild/platform/macosx.mk6
-rw-r--r--solenv/gbuild/platform/mingw.mk32
-rw-r--r--solenv/gbuild/platform/solaris.mk6
-rw-r--r--solenv/gbuild/platform/unxgcc.mk6
13 files changed, 111 insertions, 107 deletions
diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index 7ae03d9fda98..07a733b5bd16 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -66,22 +66,24 @@ endif
endif
ifeq ($(OS),WNT)
-gb_Library_DLLFILENAMES := $(patsubst icuuc:icuuc%,icuuc:icuuc40%,$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES := $(patsubst rdf:rdf%,rdf:librdf%,$(gb_Library_DLLFILENAMES))
+gb_Library_ICU_LIBRARIES := icudt icuuc icuin icutu
+gb_Library_FILENAMES := $(filter-out $(foreach lib,$(gb_Library_ICU_LIBRARIES),$(lib):%),$(gb_Library_FILENAMES))
+gb_Library_FILENAMES += $(foreach lib,$(gb_Library_ICU_LIBRARIES),$(lib):$(lib)$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll)
+gb_Library_FILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst rdf:rdf%,rdf:librdf%,$(gb_Library_FILENAMES))
# libpyuno_wrapper.dll => pyuno.pyd
-gb_Library_DLLFILENAMES := $(patsubst pyuno:pyuno.dll,pyuno:pyuno$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd,$(gb_Library_DLLFILENAMES))
+gb_Library_FILENAMES := $(patsubst pyuno:pyuno.dll,pyuno:pyuno$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd,$(gb_Library_FILENAMES))
ifeq ($(COM),GCC)
-gb_Library_FILENAMES := $(patsubst crypto:icrypto%,crypto:crypto%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst exslt:iexslt%,exslt:libexslt$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst libexttextcat:liblibext%,libexttextcat:libilibext%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst rdf:irdf%,rdf:librdf.dll$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst ssl:issl%,ssl:ssl%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst xml2:ixml2%,xml2:libxml2$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst crypto:icrypto%,crypto:crypto%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst exslt:iexslt%,exslt:libexslt$(gb_Library_IARCEXT),$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst libexttextcat:liblibext%,libexttextcat:libilibext%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst rdf:irdf%,rdf:librdf.dll$(gb_Library_IARCEXT),$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst ssl:issl%,ssl:ssl%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst xml2:ixml2%,xml2:libxml2$(gb_Library_IARCEXT),$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt$(gb_Library_IARCEXT),$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_ILIBFILENAMES))
# Libraries not provided by mingw(-w64), available only in the Windows
# SDK. So if these actually are liked with somewhere, we can't
@@ -90,23 +92,22 @@ gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
# APIs. Or something.
gb_Library_SDKLIBFILENAMES:=
-gb_Library_DLLFILENAMES := $(filter-out $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):%),$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES += $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):$(WINDOWS_SDK_HOME)/lib/$(lib).lib)
+gb_Library_FILENAMES := $(filter-out $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):%),$(gb_Library_FILENAMES))
+gb_Library_FILENAMES += $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):$(WINDOWS_SDK_HOME)/lib/$(lib).lib)
-gb_Library_DLLFILENAMES := $(patsubst crypto:crypto%,crypto:libeay32%,$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES := $(patsubst ssl:ssl%,ssl:ssleay32%,$(gb_Library_DLLFILENAMES))
+gb_Library_FILENAMES := $(patsubst crypto:crypto%,crypto:libeay32%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst ssl:ssl%,ssl:ssleay32%,$(gb_Library_FILENAMES))
else # $(COM) != GCC
-
-gb_Library_FILENAMES := $(patsubst cppunit:icppunit%,cppunit:icppunit_dll%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst crypto:icrypto%,crypto:libeay32%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst crypto:libcrypto%,crypto:libcrypto_static%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst ssl:issl%,ssl:ssleay32%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst ssl:libssl%,ssl:libssl_static%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst xmlsec1:ixmlsec1%,xmlsec1:libxmlsec%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst xmlsec1-mscrypto:ixmlsec1-mscrypto%,xmlsec1-mscrypto:libxmlsec-mscrypto%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst xmlsec1-nss:ixmlsec1-nss%,xmlsec1-nss:libxmlsec-nss%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_FILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst cppunit:icppunit%,cppunit:icppunit_dll%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst crypto:icrypto%,crypto:libeay32%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst crypto:libcrypto%,crypto:libcrypto_static%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst ssl:issl%,ssl:ssleay32%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst ssl:libssl%,ssl:libssl_static%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst xmlsec1:ixmlsec1%,xmlsec1:libxmlsec%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst xmlsec1-mscrypto:ixmlsec1-mscrypto%,xmlsec1-mscrypto:libxmlsec-mscrypto%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst xmlsec1-nss:ixmlsec1-nss%,xmlsec1-nss:libxmlsec-nss%,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_ILIBFILENAMES))
gb_Library_NOILIBFILENAMES_D := \
@@ -131,16 +132,26 @@ gb_Library_LIBLIBFILENAMES := \
xml2 \
xslt \
-gb_Library_FILENAMES := \
+gb_Library_ILIBFILENAMES := \
$(filter-out $(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):%) \
$(foreach lib,$(gb_Library_NOILIBFILENAMES_D),$(lib):%) \
$(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):%) \
- ,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES += \
+ ,$(gb_Library_ILIBFILENAMES))
+gb_Library_ILIBFILENAMES += \
$(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_NOILIBFILENAMES_D),$(lib):$(lib)$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):lib$(lib)$(gb_Library_PLAINEXT))
+gb_Library_FILENAMES := $(filter-out $(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):%),$(gb_Library_FILENAMES))
+gb_Library_FILENAMES += $(foreach lib,$(gb_Library_LIBLIBFILENAMES),$(lib):lib$(lib).dll)
+gb_Library_FILENAMES := $(patsubst cppunit:cppunit%,cppunit:cppunit$(if $(MSVC_USE_DEBUG_RUNTIME),d)_dll%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst crypto:crypto%,crypto:libeay32%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst ssl:ssl%,ssl:ssleay32%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst fbembed:fbembed%,fbembed:ifbembed%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst xmlsec1:xmlsec1%,xmlsec1:libxmlsec%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst xmlsec1-mscrypto:xmlsec1-mscrypto%,xmlsec1-mscrypto:libxmlsec-mscrypto%,$(gb_Library_FILENAMES))
+gb_Library_FILENAMES := $(patsubst xmlsec1-nss:xmlsec1-nss%,xmlsec1-nss:libxmlsec-nss%,$(gb_Library_FILENAMES))
+
endif # ifeq ($(COM),GCC)
endif # ifeq ($(OS),WNT)
diff --git a/odk/Package_lib.mk b/odk/Package_lib.mk
index 7d83992d7f57..eb0c26a69654 100644
--- a/odk/Package_lib.mk
+++ b/odk/Package_lib.mk
@@ -19,7 +19,7 @@ $(eval $(call gb_Package_add_files,odk_lib,$(gb_Package_SDKDIRNAME)/lib,\
purpenvhelper \
sal \
salhelper \
- ,$(notdir $(call gb_Library_get_target,$(lib))) \
+ ,$(call gb_Library_get_ilibfilename,$(lib)) \
) \
) \
$(if $(filter LINUX,$(OS)),$(notdir $(call gb_StaticLibrary_get_target,salcpprt))) \
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 2b5e854fe040..6841110cf7c3 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -86,7 +86,7 @@ $(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_CPPTESTDEPS)
DISABLE_SAL_DBGBOX=t \
$(if $(SAL_DIAGNOSE_ABORT),SAL_DIAGNOSE_ABORT=$(SAL_DIAGNOSE_ABORT)) \
$(ICECREAM_RUN) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_CPPTESTCOMMAND) \
- $(WORKDIR)/LinkTarget/CppunitTest/$(call gb_CppunitTest_get_libfilename,$*) \
+ $(call gb_LinkTarget_get_target,$(call gb_CppunitTest_get_linktarget,$*)) \
$(call gb_CppunitTest__make_args) \
$(if $(gb_CppunitTest__interactive),, \
> $@.log 2>&1 \
@@ -119,7 +119,7 @@ $(call gb_LinkTarget_add_defs,$(2), \
)
$(call gb_CppunitTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
-$(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_libfilename,$(1)))
+$(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_ilibfilename,$(1)))
$(call gb_CppunitTest_get_target,$(1)) : ARGS :=
$(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS :=
$(call gb_CppunitTest_get_target,$(1)) : URE := $(false)
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index f5b4a9f53e2b..1fd48a88ea2a 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -25,7 +25,7 @@
# gb_Library_DLLDIR := $(WORKDIR)/LinkTarget/Library
# defined by platform
# gb_Library_DEFS
-# gb_Library_DLLFILENAMES
+# gb_Library_ILIBFILENAMES
# gb_Library_FILENAMES
# gb_Library_Library_platform
@@ -85,7 +85,7 @@ $(call gb_Library_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) \
| $(dir $(call gb_Library_get_target,$(1))).dir
$(call gb_Library_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS :=
-$(call gb_Library_Library_platform,$(1),$(2),$(gb_Library_DLLDIR)/$(call gb_Library_get_dllname,$(1)))
+$(call gb_Library_Library_platform,$(1),$(2),$(gb_Library_DLLDIR)/$(call gb_Library_get_ilibfilename,$(1)))
$(if $(and $(call gb_Library_get_instdir,$(1)),$(filter-out $(gb_MERGEDLIBS),$(1))),\
$(call gb_Library__install,$(call gb_Library__get_final_target,$(1)), \
@@ -189,8 +189,7 @@ gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library_get_linktarget,$
endef
-gb_Library_get_runtime_filename = \
- $(or $(call gb_Library_get_dllname,$(1)),$(call gb_Library_get_filename,$(1)))
+gb_Library_get_runtime_filename = $(call gb_Library_get_filename,$(1))
$(eval $(foreach method,\
add_cobject \
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 901a00ea8813..a162b7367f8e 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -383,7 +383,7 @@ $(WORKDIR)/Clean/LinkTarget/% :
$(call gb_LinkTarget_get_headers_target,$*) \
$(call gb_LinkTarget_get_objects_list,$*) \
$(call gb_LinkTarget_get_target,$*).exports \
- $(DLLTARGET) \
+ $(ILIBTARGET) \
$(AUXTARGETS)) && \
cat $${RESPONSEFILE} /dev/null | xargs -n 200 rm -fr && \
rm -f $${RESPONSEFILE}
@@ -519,7 +519,7 @@ $(call gb_LinkTarget_get_headers_target,%) :
define gb_LinkTarget_LinkTarget
$(call gb_LinkTarget_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_LinkTarget_get_headers_target,$(1)) : SELF := $(call gb_LinkTarget__get_workdir_linktargetname,$(1))
-$(call gb_LinkTarget_get_target,$(1)) : DLLTARGET :=
+$(call gb_LinkTarget_get_target,$(1)) : ILIBTARGET :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : COBJECTS :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
@@ -1249,10 +1249,10 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : LIBRARY_X64 := $(2)
endef
-# call gb_LinkTarget_set_dlltarget,linktarget,dllfilename
-define gb_LinkTarget_set_dlltarget
+# call gb_LinkTarget_set_ilibtarget,linktarget,ilibfilename
+define gb_LinkTarget_set_ilibtarget
$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DLLTARGET := $(2)
+$(call gb_LinkTarget_get_target,$(1)) : ILIBTARGET := $(2)
endef
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index d8d851e5ee31..d029d33910b8 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -427,7 +427,8 @@ endef
# static members declared here because they are used globally
gb_Executable_BINDIR = $(WORKDIR)/LinkTarget/Executable
-gb_Library_OUTDIRLOCATION = $(OUTDIR)/lib
+# FIXME move platform
+gb_Library_OUTDIRLOCATION = $(if $(filter WNT,$(OS)),$(OUTDIR)/bin,$(OUTDIR)/lib)
gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library
gb_CppunitTest_DLLDIR = $(WORKDIR)/LinkTarget/CppunitTest
gb_StaticLibrary_OUTDIRLOCATION = $(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/IOS_ARM_GCC.mk b/solenv/gbuild/platform/IOS_ARM_GCC.mk
index f76a910fce37..d75cb17de175 100644
--- a/solenv/gbuild/platform/IOS_ARM_GCC.mk
+++ b/solenv/gbuild/platform/IOS_ARM_GCC.mk
@@ -216,11 +216,9 @@ endef
# CppunitTest class
gb_CppunitTest_CPPTESTPRECOMMAND := :
-gb_CppunitTest_SYSPRE := libtest_
-gb_CppunitTest_EXT := .a
gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR)
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+gb_CppunitTest_get_filename = libtest_(1).a
+gb_CppunitTest_get_ilibfilename = $(gb_CppunitTest_get_filename)
define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_get_target,$(2)) : LAYER := NONE
diff --git a/solenv/gbuild/platform/android.mk b/solenv/gbuild/platform/android.mk
index 6741c6eef389..33b3d0887f1f 100644
--- a/solenv/gbuild/platform/android.mk
+++ b/solenv/gbuild/platform/android.mk
@@ -103,7 +103,7 @@ endef
# CppunitTest class
-gb_CppunitTest_EXT := .a
+gb_CppunitTest_get_filename = libtest_$(1).a
# No use for Cppunit targets now for Android (which would be just
# static archives), they are just a waste of disk space.
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index f85b29af6b3d..b6558e15a12a 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -138,6 +138,12 @@ gb_LinkTarget_INCLUDE :=\
gb_LinkTarget_get_pdbfile = \
$(WORKDIR)/LinkTarget/pdb/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).pdb
+gb_LinkTarget_get_pdbfile2 = \
+ $(WORKDIR)/LinkTarget/$(patsubst %.dll,%.pdb,$(patsubst %.pyd,%.dll,$(call gb_LinkTarget__get_workdir_linktargetname,$(1))))
+gb_LinkTarget_get_ilkfile = \
+ $(WORKDIR)/LinkTarget/$(patsubst %.dll,%.ilk,$(patsubst %.pyd,%.dll,$(call gb_LinkTarget__get_workdir_linktargetname,$(1))))
+gb_LinkTarget_get_manifestfile = \
+ $(WORKDIR)/LinkTarget/$(call gb_LinkTarget__get_workdir_linktargetname,$(1)).manifest
# avoid fatal error LNK1170 for Library_merged
define gb_LinkTarget_MergedResponseFile
@@ -180,19 +186,19 @@ $(call gb_Helper_abbreviate_dirs,\
$(if $(filter 80,$(WINDOWS_SDK_VERSION)),-LIBPATH:$(WINDOWS_SDK_HOME)/lib/win8/um/x64)) \
$(T_LDFLAGS) \
@$${RESPONSEFILE} \
- $(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))) \
+ $(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_ilibfilename,$(lib))) \
$(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_filename,$(lib))) \
$(LIBS) \
$(if $(filter-out StaticLibrary,$(TARGETTYPE)),user32.lib) \
- $(if $(DLLTARGET),-out:$(DLLTARGET) -implib:$(1),-out:$(1)); RC=$$?; rm $${RESPONSEFILE} \
- $(if $(DLLTARGET),; if [ ! -f $(DLLTARGET) ]; then rm -f $(1) && false; fi) \
- $(if $(filter Library,$(TARGETTYPE)),&& if [ -f $(DLLTARGET).manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(DLLTARGET).manifest -outputresource:$(DLLTARGET)\;2 && touch -r $(1) $(DLLTARGET).manifest $(DLLTARGET); fi) \
+ $(if $(ILIBTARGET),-out:$(1) -implib:$(ILIBTARGET),-out:$(1)); RC=$$?; rm $${RESPONSEFILE} \
+ $(if $(ILIBTARGET),; if [ ! -f $(ILIBTARGET) ]; then rm -f $(1) && false; fi) \
+ $(if $(filter Library,$(TARGETTYPE)),&& if [ -f $(1).manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(1).manifest -outputresource:$(1)\;2 && touch -r $(1) $(1).manifest $(ILIBTARGET); fi) \
$(if $(filter Executable,$(TARGETTYPE)),&& if [ -f $(1).manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(1).manifest -outputresource:$(1)\;1 && touch -r $(1) $(1).manifest; fi) \
$(if $(filter YES,$(TARGETGUI)),&& if [ -f $(SRCDIR)/solenv/inc/DeclareDPIAware.manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(SRCDIR)/solenv/inc/DeclareDPIAware.manifest -updateresource:$(1)\;1 ; fi) \
$(if $(filter Library,$(TARGETTYPE)),&& \
- echo $(notdir $(DLLTARGET)) > $(1).exports.tmp && \
+ echo $(notdir $(1)) > $(1).exports.tmp && \
$(if $(filter YES,$(LIBRARY_X64)),$(LINK_X64_BINARY),$(gb_LINK)) \
- -dump -exports $(1) >> $(1).exports.tmp && \
+ -dump -exports $(ILIBTARGET) >> $(1).exports.tmp && \
if cmp -s $(1).exports.tmp $(1).exports; \
then rm $(1).exports.tmp; \
else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \
@@ -246,7 +252,7 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \
-gb_Library_FILENAMES :=\
+gb_Library_ILIBFILENAMES :=\
$(foreach lib,$(gb_Library_KNOWNLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_DLLEXT := .dll
@@ -257,7 +263,7 @@ gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
gb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT)
gb_Library_RTVEREXT := $(gb_Library_MAJORVER)$(gb_Library_RTEXT)
-gb_Library_DLLFILENAMES :=\
+gb_Library_FILENAMES :=\
$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
@@ -275,33 +281,32 @@ $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,$(1))) : NATIVE
endef
define gb_Library_Library_platform
-$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
+$(call gb_LinkTarget_set_ilibtarget,$(2),$(3))
$(call gb_LinkTarget_add_auxtargets,$(2),\
- $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
- $(3).manifest \
+ $(patsubst %.lib,%.exp,$(3)) \
+ $(call gb_LinkTarget_get_manifestfile,$(2)) \
$(call gb_LinkTarget_get_pdbfile,$(2)) \
)
-$(if $(filter $(gb_MERGEDLIBS),$(1)),,\
-$(call gb_Library_add_auxtarget,$(1),$(OUTDIR)/bin/$(notdir $(3))))
+$(call gb_Library_add_auxtarget,$(1),$(OUTDIR)/lib/$(notdir $(3)))
# substitute .pyd here because pyuno has to follow python's crazy conventions
ifneq ($(ENABLE_CRASHDUMP),)
$(call gb_Library_add_auxtargets,$(1),\
- $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.pdb,$(patsubst %.pyd,%.dll,$(3)))) \
- $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.ilk,$(patsubst %.pyd,%.dll,$(3)))) \
+ $(OUTDIR)/bin/$(patsubst %.dll,%.pdb,$(patsubst %.pyd,%.dll,$(call gb_Library_get_filename,$(1)))) \
+ $(OUTDIR)/bin/$(patsubst %.dll,%.ilk,$(patsubst %.pyd,%.dll,$(call gb_Library_get_filename,$(1)))) \
)
else
$(call gb_LinkTarget_add_auxtargets,$(2),\
- $(patsubst %.dll,%.pdb,$(patsubst %.pyd,%.dll,$(3))) \
- $(patsubst %.dll,%.ilk,$(patsubst %.pyd,%.dll,$(3))) \
+ $(call gb_LinkTarget_get_pdbfile2,$(2)) \
+ $(call gb_LinkTarget_get_ilkfile,$(2)) \
)
endif
$(call gb_Library_add_default_nativeres,$(1),$(1)/default)
-$(if $(filter $(gb_MERGEDLIBS),$(1)),,$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(3)),$(3),$(1)))
+$(call gb_Deliver_add_deliverable,$(OUTDIR)/lib/$(notdir $(3)),$(3),$(1))
$(call gb_LinkTarget_get_target,$(2)) \
$(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
@@ -314,8 +319,8 @@ $(call gb_WinResTarget_set_rcfile,$(2),include/default)
$(call gb_WinResTarget_add_defs,$(2),\
-DVERVARIANT="$(LIBO_VERSION_PATCH)" \
-DRES_APP_VENDOR="$(OOO_VENDOR)" \
- -DORG_NAME="$(call gb_Library_get_dllname,$(1))"\
- -DINTERNAL_NAME="$(subst $(gb_Library_DLLEXT),,$(call gb_Library_get_dllname,$(1)))" \
+ -DORG_NAME="$(call gb_Library_get_filename,$(1))"\
+ -DINTERNAL_NAME="$(subst $(gb_Library_DLLEXT),,$(call gb_Library_get_filename,$(1)))" \
-DADDITIONAL_VERINFO1="" \
-DADDITIONAL_VERINFO2="" \
-DADDITIONAL_VERINFO3="" \
@@ -337,8 +342,8 @@ $(call gb_LinkTarget_get_target,$(1)) : NATIVERES := $(call gb_WinResTarget_get_
endef
-define gb_Library_get_dllname
-$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES)))
+define gb_Library_get_ilibfilename
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_ILIBFILENAMES)))
endef
@@ -387,22 +392,20 @@ gb_CppunitTest_DEFS := -D_DLL
# thus it won't find its DLLs unless ${OUTDIR}/bin is added to PATH.
gb_CppunitTest_CPPTESTPRECOMMAND := $(gb_Helper_set_ld_path)
-gb_CppunitTest_SYSPRE := itest_
-gb_CppunitTest_EXT := .lib
gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR)
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = test_$(1).dll
+gb_CppunitTest_get_filename = test_$(1).dll
+gb_CppunitTest_get_ilibfilename = itest_$(1).lib
define gb_CppunitTest_CppunitTest_platform
-$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
+$(call gb_LinkTarget_set_ilibtarget,$(2),$(3))
$(call gb_LinkTarget_add_auxtargets,$(2),\
- $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
+ $(patsubst %.lib,%.exp,$(3)) \
$(3) \
- $(3).manifest \
- $(patsubst %.dll,%.pdb,$(3)) \
+ $(call gb_LinkTarget_get_manifestfile,$(2)) \
+ $(call gb_LinkTarget_get_pdbfile2,$(2)) \
$(call gb_LinkTarget_get_pdbfile,$(2)) \
- $(patsubst %.dll,%.ilk,$(3)) \
+ $(call gb_LinkTarget_get_ilkfile,$(2)) \
)
$(call gb_LinkTarget_get_target,$(2)) \
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 9ef7a6283900..bd10012f4eea 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -282,11 +282,9 @@ endef
# CppunitTest class
gb_CppunitTest_CPPTESTPRECOMMAND := $(gb_Helper_set_ld_path)
-gb_CppunitTest_SYSPRE := libtest_
-gb_CppunitTest_EXT := .dylib
gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR)
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+gb_CppunitTest_get_filename = libtest_$(1).dylib
+gb_CppunitTest_get_ilibfilename = $(gb_CppunitTest_get_filename)
define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
diff --git a/solenv/gbuild/platform/mingw.mk b/solenv/gbuild/platform/mingw.mk
index 5841ed8ed71a..2b767a87338d 100644
--- a/solenv/gbuild/platform/mingw.mk
+++ b/solenv/gbuild/platform/mingw.mk
@@ -109,7 +109,7 @@ $(call gb_Helper_abbreviate_dirs,\
$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
$(NATIVERES) \
$(if $(LINKED_STATIC_LIBS),-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group) \
- $(patsubst lib%.a,-l%,$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \
+ $(patsubst lib%.a,-l%,$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_ilibfilename,$(lib))))) \
$(LIBS) \
-Wl$(COMMA)-Map$(COMMA)$(basename $(1)).map \
-o $(1)))
@@ -129,11 +129,11 @@ $(call gb_Helper_abbreviate_dirs,\
$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
$(NATIVERES) \
$(if $(LINKED_STATIC_LIBS),-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group) \
- $(patsubst lib%.a,-l%,$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \
+ $(patsubst lib%.a,-l%,$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_ilibfilename,$(lib))))) \
$(LIBS) \
- -Wl$(COMMA)-Map$(COMMA)$(dir $(1))$(notdir $(basename $(DLLTARGET)).map) \
- -Wl$(COMMA)--out-implib$(COMMA)$(1) \
- -o $(dir $(1))/$(notdir $(DLLTARGET))) \
+ -Wl$(COMMA)-Map$(COMMA)$(dir $(1))$(notdir $(basename $(1)).map) \
+ -Wl$(COMMA)--out-implib$(COMMA)$(ILIBTARGET) \
+ -o $(1) \
$(if $(findstring s,$(MAKEFLAGS)),> /dev/null))
endef
@@ -197,7 +197,7 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \
-gb_Library_FILENAMES :=\
+gb_Library_ILIBFILENAMES :=\
$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
@@ -208,7 +208,7 @@ gb_Library_FILENAMES :=\
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):$(lib)$(gb_Library_UNOEXT)) \
-gb_Library_DLLFILENAMES :=\
+gb_Library_FILENAMES :=\
$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOODLLEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
@@ -224,13 +224,13 @@ gb_Library_IARCEXT := .a
gb_Library_ILIBEXT := .lib
define gb_Library_Library_platform
-$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
+$(call gb_LinkTarget_set_ilibtarget,$(2),$(3))
$(call gb_Library_get_target,$(1)) :| $(OUTDIR)/bin/.dir
$(call gb_Library_add_auxtargets,$(1), \
$(OUTDIR)/bin/$(notdir $(3)) \
- $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.map,$(3))) \
+ $(OUTDIR)/bin/$(patsubst %.dll,%.map,$(call gb_Library_get_filename,$(1))) \
)
$(call gb_Library_add_default_nativeres,$(1),$(1)/default)
@@ -264,8 +264,8 @@ $(call gb_LinkTarget_get_target,$(1)) : NATIVERES := $(call gb_WinResTarget_get_
endef
-define gb_Library_get_dllname
-$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES)))
+define gb_Library_get_ilibfilename
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_ILIBFILENAMES)))
endef
# Executable class
@@ -281,17 +281,15 @@ endef
# CppunitTest class
gb_CppunitTest_CPPTESTPRECOMMAND := $(gb_Helper_set_ld_path)
-gb_CppunitTest_SYSPRE := itest_
-gb_CppunitTest_EXT := .lib
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = test_$(1).dll
+gb_CppunitTest_get_filename = test_$(1).dll
+gb_CppunitTest_get_ilibfilename = itest_$(1).lib
define gb_CppunitTest_CppunitTest_platform
-$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
+$(call gb_LinkTarget_set_ilibtarget,$(2),$(3))
$(call gb_LinkTarget_add_auxtargets,$(2),\
$(3) \
- $(patsubst %.dll,%.map,$(3)) \
+ $(patsubst %.dll,%.map,$(call gb_LinkTarget_get_target,$(2))) \
)
endef
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index e2829369a47d..8d15e8b8c81f 100644
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -305,11 +305,9 @@ endef
gb_CppunitTest_CPPTESTPRECOMMAND := \
$(call gb_Helper_extend_ld_path,$(OUTDIR_FOR_BUILD)/lib/sqlite)
-gb_CppunitTest_SYSPRE := libtest_
-gb_CppunitTest_EXT := .so
gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR)
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+gb_CppunitTest_get_filename = libtest_$(1).so
+gb_CppunitTest_get_ilibfilename = $(gb_CppunitTest_get_filename)
define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 229e525e6ab4..78842bf55e5d 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -301,11 +301,9 @@ endef
gb_CppunitTest_CPPTESTPRECOMMAND := \
$(call gb_Helper_extend_ld_path,$(OUTDIR_FOR_BUILD)/lib/sqlite)
-gb_CppunitTest_SYSPRE := libtest_
-gb_CppunitTest_EXT := .so
gb_CppunitTest_LIBDIR := $(gb_Helper_OUTDIRLIBDIR)
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+gb_CppunitTest_get_filename = libtest_$(1).so
+gb_CppunitTest_get_ilibfilename = $(gb_CppunitTest_get_filename)
define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_get_target,$(2)) : RPATH :=