Kaydet (Commit) a3387f41 authored tarafından Mathias Bauer's avatar Mathias Bauer

CWS gnumake3: anonther fix for cppunittests in Windows; fix pdb builds when building with pch

üst b4a1e40c
......@@ -45,7 +45,7 @@ $(call gb_CppunitTest_get_target,%) : $(gb_CppunitTest_CPPTESTTARGET)
$(call gb_Output_announce,$*,$(true),CUT,2)
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $@) && \
$(gb_CppunitTest_CPPTESTCOMMAND) $(call gb_LinkTarget_get_target,$(call gb_CppunitTest__get_linktargetname,$*)) > $@.log 2>&1 || (cat $@.log && false))
$(gb_CppunitTest_CPPTESTCOMMAND) $(call gb_LinkTarget_get_target,CppunitTest/$(call gb_CppunitTest_get_libfilename,$*)) > $@.log 2>&1 || (cat $@.log && false))
define gb_CppunitTest_CppunitTest
$(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest__get_linktargetname,$(1)))
......@@ -58,7 +58,7 @@ $(call gb_LinkTarget_set_targettype,$(2),CppunitTest)
$(call gb_LinkTarget_add_linked_libs,$(2),cppunit)
$(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_Library_DLLDIR)/$(call gb_CppunitTest_get_libfilename,$(1)))
$(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_libfilename,$(1)))
$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
endef
......
......@@ -262,7 +262,7 @@ $(call gb_LinkTarget_get_headers_target,%) : $(call gb_LinkTarget_get_external_h
# - gb_LinkTarget_get_target links the objects into a file in WORKDIR.
# gb_LinkTarget_get_target depends on gb_LinkTarget_get_headers_target which in
# turn depends gb_LinkTarget_get_external_headers_target.
# gb_LinkTarget_get_target depends additionally on the objects, which in turn
# gb_LinkTarget_get_target depends additionally on the objects, which in turn
# depend build-order only on the gb_LinkTarget_get_headers_target. The build
# order-only dependency ensures all headers to be there for compiling and
# dependency generation without causing all objects to be rebuild when one
......@@ -316,6 +316,7 @@ $(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS :=
$(call gb_LinkTarget_get_target,$(1)) : TARGETTYPE :=
$(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : PCH_NAME :=
$(call gb_LinkTarget_get_target,$(1)) : PCHOBJS :=
ifeq ($(gb_FULLDEPS),$(true))
ifneq ($(wildcard $(call gb_LinkTarget_get_dep_target,$(1))),)
......@@ -545,6 +546,8 @@ $(call gb_LinkTarget_get_clean_target,$(1)) : $(call gb_NoexPrecompiledHeader_ge
$(call gb_NoexPrecompiledHeader_get_target,$(3)) : $(2).cxx
$(call gb_LinkTarget_get_target,$(1)) : PCH_NAME := $(3)
$(call gb_LinkTarget_get_target,$(1)) : PCHOBJS = $(call gb_PrecompiledHeader_get_target,$(3)).obj $(call gb_NoexPrecompiledHeader_get_target,$(3)).obj
$(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(DEFS) -DPRECOMPILED_HEADERS
$(call gb_LinkTarget_get_headers_target,$(1)) \
......
......@@ -60,6 +60,7 @@ $(call gb_PrecompiledHeader_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),PCH,1)
-$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_PrecompiledHeader_get_target,$*) \
$(call gb_PrecompiledHeader_get_target,$*).obj \
$(call gb_PrecompiledHeader_get_target,$*).pdb \
$(call gb_PrecompiledHeader_get_dep_target,$*))
......@@ -68,6 +69,7 @@ $(call gb_NoexPrecompiledHeader_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),PCH,1)
-$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_NoexPrecompiledHeader_get_target,$*) \
$(call gb_NoexPrecompiledHeader_get_target,$*).obj \
$(call gb_NoexPrecompiledHeader_get_target,$*).pdb \
$(call gb_NoexPrecompiledHeader_get_dep_target,$*))
endif
......
......@@ -243,6 +243,7 @@ $(call gb_Helper_abbreviate_dirs_native,\
unset INCLUDE && \
$(gb_CC) \
$(DEFS) $(CFLAGS) \
$(PCHFLAGS) \
-I$(dir $(3)) \
$(INCLUDE) \
-c $(3) \
......@@ -281,6 +282,7 @@ $(call gb_Helper_abbreviate_dirs_native,\
unset INCLUDE && \
$(gb_CXX) \
$(DEFS) $(CXXFLAGS) \
$(PCHFLAGS) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE) \
-c $(3) \
......@@ -328,7 +330,6 @@ $(call gb_Helper_abbreviate_dirs_native,\
$(6) \
-c $(3) \
-Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fd$(1).pdb -Fo$(1).obj)
rm $(1).obj
$(call gb_PrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
endef
......@@ -371,7 +372,6 @@ $(call gb_Helper_abbreviate_dirs_native,\
$(6) \
-c $(3) \
-Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fd$(1).pdb -Fo$(1).obj)
rm $(1).obj
$(call gb_NoexPrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
endef
......@@ -387,13 +387,14 @@ gb_LinkTarget_INCLUDE :=\
gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
define gb_LinkTarget__command
$(call gb_Output_announce,$(2),$(true),LNK,4)
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
RESPONSEFILE=$$(mktemp --tmpdir=$(gb_Helper_MISC)) && \
echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object)))" > $${RESPONSEFILE} && \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) $(PCHOBJS)" > $${RESPONSEFILE} && \
$(gb_LINK) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
......@@ -554,7 +555,7 @@ gb_CppunitTest_CPPTESTPRECOMMAND :=
gb_CppunitTest_SYSPRE := itest_
gb_CppunitTest_EXT := .lib
gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
gb_CppunitTest_get_libfilename = $(1).dll
gb_CppunitTest_get_libfilename = test_$(1).dll
# SdiTarget class
......@@ -594,7 +595,7 @@ endif
gb_ComponentTarget_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
# vim: set noet sw=4 ts=4:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment