1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 # This file incorporates work covered by the following license notice:
11 # Licensed to the Apache Software Foundation (ASF) under one or more
12 # contributor license agreements. See the NOTICE file distributed
13 # with this work for additional information regarding copyright
14 # ownership. The ASF licenses this file to you under the Apache
15 # License, Version 2.0 (the "License"); you may not use this file
16 # except in compliance with the License. You may obtain a copy of
17 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 gb_CppunitTest_UNITTESTFAILED ?
= $(GBUILDDIR
)/platform
/unittest-failed-default.sh
23 gb_CppunitTest_PYTHONDEPS ?
= $(call gb_Library_get_target
,pyuno_wrapper
) $(if
$(SYSTEM_PYTHON
),,$(call gb_Package_get_target
,python3
))
25 ifneq ($(strip $(CPPUNITTRACE
)),)
26 ifneq ($(filter gdb
,$(CPPUNITTRACE
)),)
27 # sneak (a) setting the LD_LIBRARY_PATH, and (b) setting malloc debug flags, into the "gdb --args" command line
28 gb_CppunitTest_GDBTRACE
:= $(subst gdb
,\
29 PYTHONWARNINGS
=default gdb
-return-child-result
-ex
"add-auto-load-safe-path $(INSTDIR)" -ex
"set environment $(subst =, ,$(gb_CppunitTest_CPPTESTPRECOMMAND))" $(if
$(PYTHONWARNINGS
),-ex
'set environment PYTHONWARNINGS $(PYTHONWARNINGS)') $(gb_CppunitTest_malloc_check
) $(gb_CppunitTest_DEBUGCPPUNIT
),\
31 gb_PythonTest_GDBTRACE
:= $(subst gdb
,\
32 PYTHONWARNINGS
=default gdb
-return-child-result
-ex
"add-auto-load-safe-path $(INSTDIR)" -ex
"set environment $(subst =, ,$(gb_PythonTest_PRECOMMAND))" $(if
$(PYTHONWARNINGS
),-ex
'set environment PYTHONWARNINGS $(PYTHONWARNINGS)') $(gb_CppunitTest_malloc_check
) $(gb_CppunitTest_DEBUGCPPUNIT
),\
34 else ifneq ($(filter lldb
,$(CPPUNITTRACE
)),)
35 gb_CppunitTest_PREGDBTRACE
:= lo_dyldpathfile
=$(call var2file
,$(shell $(gb_MKTEMP
)),500,settings set target.env-vars
$(gb_CppunitTest_CPPTESTPRECOMMAND
))
36 gb_CppunitTest_GDBTRACE
:= $(subst lldb
,\
37 lldb
-s
$$lo_dyldpathfile $(gb_CppunitTest_malloc_check
),\
39 gb_CppunitTest_POSTGDBTRACE
:= rm $$lo_dyldpathfile
40 gb_PythonTest_PREGDBTRACE
:= lo_dyldpathfile
=$(call var2file
,$(shell $(gb_MKTEMP
)),500,settings set target.env-vars
$(gb_PythonTest_PRECOMMAND
))
41 gb_PythonTest_GDBTRACE
:= $(gb_CppunitTest_GDBTRACE
)
42 gb_PythonTest_POSTGDBTRACE
:= $(gb_CppunitTest_POSTGDBTRACE
)
44 gb_CppunitTest_GDBTRACE
:= $(CPPUNITTRACE
)
45 gb_PythonTest_GDBTRACE
:= $(gb_CppunitTest_GDBTRACE
)
47 ifneq ($(strip $(DEBUGCPPUNIT
)),TRUE
)
48 gb_CppunitTest__interactive
:= $(true
)
52 ifneq ($(strip $(VALGRIND
)),)
53 gb_CppunitTest_VALGRINDTOOL
:= valgrind
--tool
=$(VALGRIND
) --num-callers
=50 --error-exitcode
=1 --trace-children
=yes
--trace-children-skip
='*/java,*/gij'
54 ifneq ($(strip $(VALGRIND_GDB
)),)
55 gb_CppunitTest_VALGRINDTOOL
+= --vgdb
=yes
--vgdb-error
=0
57 ifeq ($(strip $(VALGRIND
)),memcheck
)
58 G_SLICE
:= always-malloc
59 GLIBCXX_FORCE_NEW
:= 1
63 ifneq (,$(filter perfcheck
,$(MAKECMDGOALS
)))
64 $(if
$(ENABLE_VALGRIND
),,$(call gb_Output_error
,Running performance tests with empty
$$(ENABLE_VALGRIND
) does not make sense. Please
install valgrind-dev and re-run autogen.
))
65 gb_CppunitTest_VALGRINDTOOL
:= valgrind
--tool
=callgrind
--dump-instr
=yes
--instr-atstart
=no
--simulate-cache
=yes
--dump-instr
=yes
--collect-bus
=yes
--branch-sim
=yes
66 ifneq ($(strip $(VALGRIND_GDB
)),)
67 gb_CppunitTest_VALGRINDTOOL
+= --vgdb
=yes
--vgdb-error
=0
71 ifneq ($(strip $(RR
)),)
72 gb_CppunitTest_RR
:= rr record
76 # gb_CppunitTest_get_filename
77 gb_CppunitTest_RUNTIMEDEPS
:= $(call gb_Executable_get_runtime_dependencies
,cppunittester
)
78 gb_CppunitTest_CPPTESTCOMMAND
:= $(call gb_Executable_get_target_for_build
,cppunittester
)
80 # i18npool dlopens localedata_* libraries.
81 gb_CppunitTest_RUNTIMEDEPS
+= \
82 $(call gb_Library_get_target
,localedata_en
) \
83 $(call gb_Library_get_target
,localedata_es
) \
84 $(call gb_Library_get_target
,localedata_euro
) \
85 $(call gb_Library_get_target
,localedata_others
) \
86 $(call gb_Package_get_target
,test_unittest
) \
88 define gb_CppunitTest__make_args
90 "-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(INSTROOT))" \
91 "-env:BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)" \
92 "-env:BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)" \
93 "-env:UserInstallation=$(call gb_Helper_make_url,$(call gb_CppunitTest_get_target,$*).user)" \
95 $(if
$(strip $(CONFIGURATION_LAYERS
)),\
96 "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \
97 $(if
$(strip $(UNO_TYPES
)),\
98 "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \
99 $(if
$(strip $(UNO_SERVICES
)),\
100 "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))") \
101 -env
:URE_INTERNAL_LIB_DIR
=$(call gb_Helper_make_url
,$(INSTROOT
)/$(LIBO_URE_LIB_FOLDER
)) \
102 -env
:LO_LIB_DIR
=$(call gb_Helper_make_url
,$(INSTROOT
)/$(LIBO_LIB_FOLDER
)) \
103 -env
:LO_JAVA_DIR
=$(call gb_Helper_make_url
,$(INSTROOT
)/$(LIBO_SHARE_JAVA_FOLDER
)) \
104 --protector
$(call gb_Library_get_target
,unoexceptionprotector
) unoexceptionprotector \
105 --protector
$(call gb_Library_get_target
,unobootstrapprotector
) unobootstrapprotector \
108 --protector
$(call gb_Library_get_target
,vclbootstrapprotector
) vclbootstrapprotector \
113 .PHONY
: $(call gb_CppunitTest_get_clean_target
,%)
114 $(call gb_CppunitTest_get_clean_target
,%) :
115 $(call gb_Helper_abbreviate_dirs
,\
116 rm -f
$(call gb_CppunitTest_get_target
,$*) $(call gb_CppunitTest_get_target
,$*).log
)
118 .PHONY
: $(call gb_CppunitTest_get_target
,%)
119 $(call gb_CppunitTest_get_target
,%) :|
$(gb_CppunitTest_RUNTIMEDEPS
)
120 ifneq ($(gb_SUPPRESS_TESTS
),)
123 $(call gb_Output_announce
,$*,$(true
),CUT
,2)
124 $(call gb_Trace_StartRange
,$*,CUT
)
125 $(call gb_Helper_abbreviate_dirs
,\
126 mkdir
-p
$(dir $@
) && \
127 rm -fr
$@.user
&& cp
-r
$(WORKDIR
)/unittest
$@.user
&& \
128 $(if
$(gb_CppunitTest__use_confpreinit
), \
129 $(INSTDIR
)/program
/lokconf_init
$(call gb_CppunitTest__make_args
) &&) \
130 $(if
$(gb_CppunitTest__interactive
),, \
131 $(if
$(value gb_CppunitTest_postprocess
), \
132 rm -fr
$@.core
&& mkdir
$@.core
&& cd
$@.core
&&)) \
134 $(if
$(gb_CppunitTest_localized
),for l in
$(WITH_LANG_LIST
) ; do \
135 printf
'LO_TEST_LOCALE=%s\n' "$$l" && LO_TEST_LOCALE
="$$l" ) \
136 $(if
$(gb_CppunitTest_PREGDBTRACE
),$(gb_CppunitTest_PREGDBTRACE
) &&) \
137 $(if
$(gb_CppunitTest__vcl_no_svp
), \
138 $(filter-out SAL_USE_VCLPLUGIN
=svp
,$(gb_TEST_ENV_VARS
)),$(gb_TEST_ENV_VARS
)) \
140 $(if
$(filter gdb
,$(gb_CppunitTest_GDBTRACE
)),,$(gb_CppunitTest_CPPTESTPRECOMMAND
)) \
141 $(if
$(G_SLICE
),G_SLICE
=$(G_SLICE
)) \
142 $(if
$(GLIBCXX_FORCE_NEW
),GLIBCXX_FORCE_NEW
=$(GLIBCXX_FORCE_NEW
)) \
143 $(if
$(strip $(PYTHON_URE
)),\
144 PYTHONDONTWRITEBYTECODE
=1) \
145 $(ICECREAM_RUN
) $(gb_CppunitTest_GDBTRACE
) $(gb_CppunitTest_VALGRINDTOOL
) $(gb_CppunitTest_RR
) \
146 $(gb_CppunitTest_CPPTESTCOMMAND
) \
147 $(call gb_LinkTarget_get_target
,$(call gb_CppunitTest_get_linktarget
,$*)) \
148 $(call gb_CppunitTest__make_args
) "-env:CPPUNITTESTTARGET=$@" \
149 $(if
$(gb_CppunitTest_POSTGDBTRACE
), \
150 ; RET
=$$?
&& $(gb_CppunitTest_POSTGDBTRACE
) && (exit
$$RET)) \
151 $(if
$(gb_CppunitTest_localized
),|| exit
$$?
; done
) \
153 $(if
$(gb_CppunitTest__interactive
),, \
155 ||
($(if
$(value gb_CppunitTest_postprocess
), \
157 $(call gb_CppunitTest_postprocess
,$(gb_CppunitTest_CPPTESTCOMMAND
),$@.core
,$$RET) >> $@.log
2>&1;) \
158 cat
$@.log
; $(gb_CppunitTest_UNITTESTFAILED
) Cppunit
$*)))
159 $(call gb_Trace_EndRange
,$*,CUT
)
162 define gb_CppunitTest_CppunitTest
163 $(call gb_CppunitTest__CppunitTest_impl
,$(1),$(call gb_CppunitTest_get_linktarget
,$(1)))
167 define gb_CppunitTest_CppunitScreenShot
168 $(call gb_CppunitTest_get_target
,$(1)) : gb_CppunitTest_localized
:= $(true
)
169 $(call gb_CppunitTest__CppunitTest_impl
,$(1),$(call gb_CppunitTest_get_linktarget
,$(1)))
173 define gb_CppunitTest_register_target
176 # call gb_CppunitTest__CppunitTest_impl,cppunittest,linktarget
177 define gb_CppunitTest__CppunitTest_impl
178 $(call gb_CppunitTest_register_target
, $(1), $(2), "test")
179 $(call gb_LinkTarget_LinkTarget
,$(2),CppunitTest_
$(1),NONE
)
180 $(call gb_LinkTarget_set_targettype
,$(2),CppunitTest
)
181 $(call gb_LinkTarget_add_libs
,$(2),$(gb_STDLIBS
))
182 $(call gb_LinkTarget_add_defs
,$(2),\
183 $(gb_CppunitTest_DEFS
) \
185 $(call gb_LinkTarget_use_external
,$(2),cppunit
)
186 $(call gb_LinkTarget_set_include
,$(2),\
188 $(filter -I
%,$(CPPUNIT_CFLAGS
)) \
190 $(call gb_LinkTarget_add_defs
,$(2), \
191 $(filter-out -I
%,$(CPPUNIT_CFLAGS
)) \
192 -DCPPUNIT_PLUGIN_EXPORT
='extern "C" SAL_DLLPUBLIC_EXPORT' \
194 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_LinkTarget_get_target
,$(2))
195 $(call gb_CppunitTest_get_clean_target
,$(1)) : $(call gb_LinkTarget_get_clean_target
,$(2))
196 $(call gb_CppunitTest_CppunitTest_platform
,$(1),$(2),$(gb_CppunitTest_DLLDIR
)/$(call gb_CppunitTest_get_ilibfilename
,$(1)))
197 $(call gb_CppunitTest_get_target
,$(1)) : ARGS
:=
198 $(call gb_CppunitTest_get_target
,$(1)) : CONFIGURATION_LAYERS
:=
199 $(call gb_CppunitTest_get_target
,$(1)) : PYTHON_URE
:= $(false
)
200 $(call gb_CppunitTest_get_target
,$(1)) : URE
:= $(false
)
201 $(call gb_CppunitTest_get_target
,$(1)) : VCL
:= $(false
)
202 $(call gb_CppunitTest_get_target
,$(1)) : UNO_SERVICES
:=
203 $(call gb_CppunitTest_get_target
,$(1)) : UNO_TYPES
:=
204 $(call gb_CppunitTest_get_target
,$(1)) : HEADLESS
:= --headless
205 $(call gb_CppunitTest_get_target
,$(1)) : EXTRA_ENV_VARS
:=
206 $$(eval
$$(call gb_Module_register_target
,$(call gb_CppunitTest_get_target
,$(1)),$(call gb_CppunitTest_get_clean_target
,$(1))))
207 $(call gb_Helper_make_userfriendly_targets
,$(1),CppunitTest
)
211 # Add additional command line arguments for the test.
213 # You should practically never need to use this, as there are special
214 # functions for adding many commonly used arguments.
215 define gb_CppunitTest_add_arguments
216 $(call gb_CppunitTest_get_target
,$(1)) : ARGS
+= $(2)
220 define gb_CppunitTest_use_ure
221 $(call gb_CppunitTest_use_rdb
,$(1),ure
/services
)
222 $(call gb_CppunitTest_get_target
,$(1)) : URE
:= $(true
)
223 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,$(gb_CPPU_ENV
)_uno
)
224 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,affine_uno
)
225 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,unobootstrapprotector
)
226 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,unoexceptionprotector
)
230 # $(2) == $(true) if headless:
231 define gb_CppunitTest__use_vcl
232 $(call gb_CppunitTest_get_target
,$(1)) : VCL
:= $(true
)
233 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,vclbootstrapprotector
)
234 ifeq ($(USING_X11
),TRUE
)
235 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Library_get_target
,desktop_detector
)
236 $(call gb_CppunitTest_get_target
,$(1)) : $(if
$(filter $(2),$(true
)),, \
237 $(call gb_Library_get_target
,vclplug_gen
) \
238 $(if
$(ENABLE_GTK3
),$(call gb_Library_get_target
,vclplug_gtk3
)) \
239 $(if
$(ENABLE_QT5
),$(call gb_Library_get_target
,vclplug_qt5
)) \
241 else ifeq ($(OS
),MACOSX
)
242 $(call gb_CppunitTest_get_target
,$(1)): $(call gb_Library_get_target
,vclplug_osx
)
243 else ifeq ($(OS
),WNT
)
244 $(call gb_CppunitTest_get_target
,$(1)): $(call gb_Library_get_target
,vclplug_win
)
249 define gb_CppunitTest_use_confpreinit
250 $(call gb_CppunitTest_use_executable
,$(1),lokconf_init
)
251 $(call gb_CppunitTest_get_target
,$(1)) : gb_CppunitTest__use_confpreinit
:= TRUE
255 define gb_CppunitTest_use_vcl
256 $(call gb_CppunitTest__use_vcl
,$(1),$(true
))
260 define gb_CppunitTest_use_vcl_non_headless
261 $(call gb_CppunitTest_get_target
,$(1)) : gb_CppunitTest__vcl_no_svp
:= $(true
)
262 $(call gb_CppunitTest__use_vcl
,$(1),$(false
))
266 define gb_CppunitTest_use_vcl_non_headless_with_windows
267 $(call gb_CppunitTest_get_target
,$(1)) : HEADLESS
:=
268 $(call gb_CppunitTest_get_target
,$(1)) : gb_CppunitTest__vcl_no_svp
:= $(true
)
269 $(call gb_CppunitTest__use_vcl
,$(1),$(false
))
273 define gb_CppunitTest_localized_run
274 $(call gb_CppunitTest_get_target
,$(1)) : gb_CppunitTest_localized
:= $(true
)
278 define gb_CppunitTest__use_api
279 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_UnoApi_get_target
,$(2))
280 $(call gb_CppunitTest_get_target
,$(1)) : UNO_TYPES
+= $(call gb_UnoApi_get_target
,$(2))
284 define gb_CppunitTest_use_api
285 $(call gb_LinkTarget_use_api
,$(call gb_CppunitTest_get_linktarget
,$(1)),$(2))
286 $(foreach rdb
,$(2),$(call gb_CppunitTest__use_api
,$(1),$(rdb
)))
290 define gb_CppunitTest_use_udk_api
291 $(call gb_CppunitTest_use_api
,$(1),udkapi
)
295 define gb_CppunitTest_use_sdk_api
296 $(call gb_CppunitTest_use_api
,$(1),udkapi offapi
)
300 define gb_CppunitTest_use_rdb
301 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Rdb_get_target_for_build
,$(2))
302 $(call gb_CppunitTest_get_target
,$(1)) : UNO_SERVICES
+= $(call gb_Rdb_get_target_for_build
,$(2))
306 define gb_CppunitTest_use_rdbs
307 $(foreach rdb
,$(2),$(call gb_CppunitTest_use_rdb
,$(1),$(rdb
)))
311 define gb_CppunitTest_use_component
312 $(call gb_CppunitTest_get_target
,$(1)) : \
313 $(call gb_ComponentTarget_get_target
,$(2))
314 $(call gb_CppunitTest_get_target
,$(1)) : \
315 UNO_SERVICES
+= $(call gb_ComponentTarget_get_target
,$(2))
319 define gb_CppunitTest_set_componentfile
320 $(call gb_ComponentTarget_ComponentTarget
,CppunitTest
/$(2),\
321 $(call gb_Helper_make_url
,$(gb_CppunitTest_DLLDIR
))/,\
322 $(call gb_CppunitTest_get_filename
,$(1)))
323 $(call gb_CppunitTest_get_target
,$(1)) : \
324 $(call gb_ComponentTarget_get_target
,CppunitTest
/$(2))
325 $(call gb_CppunitTest_get_clean_target
,$(1)) : \
326 $(call gb_ComponentTarget_get_clean_target
,CppunitTest
/$(2))
327 $(call gb_CppunitTest_use_component
,$(1),CppunitTest
/$(2))
331 # Given a list of component files, filter out those corresponding
332 # to libraries not built in this configuration.
333 define gb_CppunitTest__filter_not_built_components
335 $(if
$(filter SCRIPTING
,$(BUILD_TYPE
)),, \
338 scripting
/source
/basprov
/basprov \
339 scripting
/util
/scriptframe
) \
340 $(if
$(filter DBCONNECTIVITY
,$(BUILD_TYPE
)),, \
342 forms
/util
/frm
),$(1))
345 define gb_CppunitTest_use_components
346 $(foreach component
,$(call gb_CppunitTest__filter_not_built_components
,$(2)),$(call gb_CppunitTest_use_component
,$(1),$(component
)))
350 define gb_CppunitTest__use_configuration
351 $(call gb_CppunitTest_get_target
,$(1)) : CONFIGURATION_LAYERS
+= $(2):$(call gb_Helper_make_url
,$(3))
355 # Use instdir configuration
356 define gb_CppunitTest_use_instdir_configuration
357 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Package_get_target
,postprocess_registry
)
358 $(call gb_CppunitTest__use_configuration
,$(1),xcsxcu
,$(INSTROOT
)/$(LIBO_SHARE_FOLDER
)/registry
)
362 # Use configuration in $(WORKDIR)/unittest/registry.
363 define gb_CppunitTest_use_unittest_configuration
364 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Package_get_target
,test_unittest
)
365 $(call gb_CppunitTest__use_configuration
,$(1),xcsxcu
,$(WORKDIR
)/unittest
/registry
)
369 # Use standard configuration: instdir config + unittest config (in this order!)
370 define gb_CppunitTest_use_configuration
371 $(call gb_CppunitTest_use_instdir_configuration
,$(1))
372 $(call gb_CppunitTest_use_unittest_configuration
,$(1))
376 define gb_CppunitTest_use_executable
377 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Executable_get_target
,$(2))
381 define gb_CppunitTest_use_more_fonts
382 ifneq ($(filter MORE_FONTS
,$(BUILD_TYPE
)),)
383 $(call gb_CppunitTest_get_target
,$(1)) : \
384 $(foreach font
,$(gb_Package_MODULE_ooo_fonts
),$(call gb_Package_get_target
,$(font
)))
389 define gb_CppunitTest__use_java_ure
390 $(call gb_CppunitTest_get_target
,$(1)) : \
391 $(foreach jar
,java_uno libreoffice unoloader
,$(call gb_Jar_get_target
,$(jar
))) \
392 $(call gb_Library_get_target
,affine_uno_uno
) \
393 $(call gb_Library_get_target
,java_uno
) \
394 $(call gb_Library_get_target
,jpipe
) \
395 $(call gb_Library_get_target
,juhx
) \
396 $(call gb_Library_get_target
,juhx
) \
397 $(call gb_Library_get_target
,jvmaccess
) \
398 $(call gb_Library_get_target
,jvmfwk
) \
399 $(call gb_Package_get_target
,jvmfwk_javavendors
) \
400 $(call gb_Package_get_target
,jvmfwk_jreproperties
) \
401 $(call gb_Package_get_target
,jvmfwk_jvmfwk3_ini
) \
405 define gb_CppunitTest_use_jar
406 $(call gb_CppunitTest__use_java_ure
,$(1))
407 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_Jar_get_target
,$(2))
411 define gb_CppunitTest_use_jars
412 $(foreach jar
,$(2),$(call gb_CppunitTest_use_jar
,$(1),$(jar
)))
416 define gb_CppunitTest_use_python_ure
417 $(call gb_CppunitTest_get_target
,$(1)) : PYTHON_URE
:= $(true
)
418 $(call gb_CppunitTest_get_target
,$(1)) :\
419 $(call gb_Library_get_target
,pythonloader
) \
420 $(call gb_Library_get_target
,pyuno
) \
421 $(gb_CppunitTest_PYTHONDEPS
) \
422 $(call gb_Package_get_target
,pyuno_python_scripts
)
426 define gb_CppunitTest_use_uiconfig
427 $(call gb_CppunitTest_get_target
,$(1)) : $(call gb_UIConfig_get_target
,$(2))
431 define gb_CppunitTest_use_uiconfigs
432 $(foreach uiconfig
,$(2),$(call gb_CppunitTest_use_uiconfig
,$(1),$(uiconfig
)))
436 # forward the call to the gb_LinkTarget implementation
437 # (note: because the function name is in $(1), the other args are shifted by 1)
438 define gb_CppunitTest__forward_to_Linktarget
439 $(call gb_LinkTarget_
$(subst gb_CppunitTest_
,,$(1)),$(call gb_CppunitTest_get_linktarget
,$(2)),$(3),$(4),CppunitTest_
$(2))
443 # copy pasta for forwarding: this could be (and was) done more elegantly, but
444 # these here can be found by both git grep and ctags
445 gb_CppunitTest_add_cobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
446 gb_CppunitTest_add_cobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
447 gb_CppunitTest_add_cxxobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
448 gb_CppunitTest_add_cxxobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
449 gb_CppunitTest_add_exception_objects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
450 gb_CppunitTest_use_executable_objects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
451 gb_CppunitTest_use_library_objects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
452 gb_CppunitTest_use_libraries
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
453 gb_CppunitTest_use_static_libraries
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
454 gb_CppunitTest_add_objcobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
455 gb_CppunitTest_add_objcobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
456 gb_CppunitTest_add_objcxxobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
457 gb_CppunitTest_add_objcxxobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
458 gb_CppunitTest_add_cxxclrobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
459 gb_CppunitTest_add_cxxclrobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
460 gb_CppunitTest_add_asmobject
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
461 gb_CppunitTest_add_asmobjects
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
462 gb_CppunitTest_use_package
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
463 gb_CppunitTest_use_packages
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
464 gb_CppunitTest_set_precompiled_header
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
465 gb_CppunitTest_reuse_precompiled_header
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
466 gb_CppunitTest_use_common_precompiled_header
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
467 gb_CppunitTest_add_sdi_headers
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
468 gb_CppunitTest_add_cflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
469 gb_CppunitTest_set_cflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
470 gb_CppunitTest_add_cxxflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
471 gb_CppunitTest_set_yaccflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
472 gb_CppunitTest_add_objcflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
473 gb_CppunitTest_add_objcxxflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
474 gb_CppunitTest_add_cxxclrflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
475 gb_CppunitTest_add_defs
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
476 gb_CppunitTest_set_include
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
477 gb_CppunitTest_add_ldflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
478 gb_CppunitTest_set_ldflags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
479 gb_CppunitTest_add_libs
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
480 gb_CppunitTest_disable_standard_system_libs
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
481 gb_CppunitTest_use_system_darwin_frameworks
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
482 gb_CppunitTest_use_system_win32_libs
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
483 gb_CppunitTest_use_internal_api
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
484 gb_CppunitTest_use_internal_bootstrap_api
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
485 gb_CppunitTest_use_internal_comprehensive_api
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
486 gb_CppunitTest_set_library_path_flags
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
487 gb_CppunitTest_use_external
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
488 gb_CppunitTest_use_externals
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
489 gb_CppunitTest_use_custom_headers
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
490 gb_CppunitTest_set_visibility_default
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
491 gb_CppunitTest_set_warnings_not_errors
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
492 gb_CppunitTest_set_warnings_disabled
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
493 gb_CppunitTest_set_external_code
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
494 gb_CppunitTest_set_generated_cxx_suffix
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
495 gb_CppunitTest_use_clang
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
496 gb_CppunitTest_set_clang_precompiled_header
= $(call gb_CppunitTest__forward_to_Linktarget
,$(0),$(1),$(2),$(3))
498 # vim: set noet sw=4: