1# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- 2# 3# This file is part of the LibreOffice project. 4# 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/. 8# 9# This file incorporates work covered by the following license notice: 10# 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 . 18# 19 20# CppunitTest class 21 22# Cap the number of threads unittests use. 23export MAX_CONCURRENCY=4 24# Disable searching for certificates by default 25export MOZILLA_CERTIFICATE_FOLDER=0 26 27gb_CppunitTest_UNITTESTFAILED ?= $(GBUILDDIR)/platform/unittest-failed-default.sh 28gb_CppunitTest_PYTHONDEPS ?= $(call gb_Library_get_target,pyuno_wrapper) $(if $(SYSTEM_PYTHON),,$(call gb_Package_get_target,python3)) 29 30ifeq ($(strip $(gb_CppunitTest_GDBTRACE)),) 31ifneq ($(strip $(CPPUNITTRACE)),) 32ifneq ($(filter gdb,$(CPPUNITTRACE)),) 33gb_CppunitTest_GDBTRACE := $(subst gdb,gdb -ex "set environment $(subst =, ,$(gb_CppunitTest_CPPTESTPRECOMMAND))",$(CPPUNITTRACE)) 34else ifneq ($(filter lldb,$(CPPUNITTRACE)),) 35gb_CppunitTest_PREGDBTRACE := lo_dyldpathfile=$(call var2file,$(shell $(gb_MKTEMP)),500,settings set target.env-vars $(gb_CppunitTest_CPPTESTPRECOMMAND)) 36gb_CppunitTest_GDBTRACE := $(subst lldb,lldb -s $$lo_dyldpathfile,$(CPPUNITTRACE)) 37gb_CppunitTest_POSTGDBTRACE := rm $$lo_dyldpathfile 38else 39gb_CppunitTest_GDBTRACE := $(CPPUNITTRACE) 40endif 41gb_CppunitTest__interactive := $(true) 42endif 43endif 44 45ifneq ($(strip $(VALGRIND)),) 46gb_CppunitTest_VALGRINDTOOL := valgrind --tool=$(VALGRIND) --num-callers=50 --error-exitcode=1 --trace-children=yes --trace-children-skip='*/java,*/gij' 47ifneq ($(strip $(VALGRIND_GDB)),) 48gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0 49endif 50ifeq ($(strip $(VALGRIND)),memcheck) 51G_SLICE := always-malloc 52GLIBCXX_FORCE_NEW := 1 53endif 54endif 55 56ifneq (,$(filter perfcheck,$(MAKECMDGOALS))) 57$(if $(ENABLE_VALGRIND),,$(call gb_Output_error,Running performance tests with empty $$(ENABLE_VALGRIND) does not make sense)) 58gb_CppunitTest_VALGRINDTOOL := valgrind --tool=callgrind --dump-instr=yes --instr-atstart=no --simulate-cache=yes --dump-instr=yes --collect-bus=yes --branch-sim=yes 59ifneq ($(strip $(VALGRIND_GDB)),) 60gb_CppunitTest_VALGRINDTOOL += --vgdb=yes --vgdb-error=0 61endif 62endif 63 64# defined by platform 65# gb_CppunitTest_get_filename 66gb_CppunitTest_RUNTIMEDEPS := $(call gb_Executable_get_runtime_dependencies,cppunittester) 67gb_CppunitTest_CPPTESTCOMMAND := $(call gb_Executable_get_target_for_build,cppunittester) 68 69# i18npool dlopens localedata_* libraries. 70gb_CppunitTest_RUNTIMEDEPS += \ 71 $(call gb_Library_get_target,localedata_en) \ 72 $(call gb_Library_get_target,localedata_es) \ 73 $(call gb_Library_get_target,localedata_euro) \ 74 $(call gb_Library_get_target,localedata_others) \ 75 $(call gb_Package_get_target,test_unittest) \ 76 77define gb_CppunitTest__make_args 78$(HEADLESS) \ 79"-env:BRAND_BASE_DIR=$(call gb_Helper_make_url,$(INSTROOT))" \ 80"-env:BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)" \ 81"-env:BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)" \ 82"-env:UserInstallation=$(call gb_Helper_make_url,$(call gb_CppunitTest_get_target,$*).user)" \ 83$(if $(URE),\ 84 $(if $(strip $(CONFIGURATION_LAYERS)),\ 85 "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \ 86 $(if $(strip $(UNO_TYPES)),\ 87 "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \ 88 $(if $(strip $(UNO_SERVICES)),\ 89 "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))") \ 90 $(if $(strip $(JAVA_URE)),\ 91 -env:URE_MORE_JAVA_TYPES=$(call gb_Helper_make_url,$(call gb_Jar_get_target,unoil))) \ 92 -env:URE_INTERNAL_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_LIB_FOLDER)) \ 93 -env:LO_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_LIB_FOLDER)) \ 94 -env:LO_JAVA_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_SHARE_JAVA_FOLDER)) \ 95 --protector $(call gb_Library_get_target,unoexceptionprotector) unoexceptionprotector \ 96 --protector $(call gb_Library_get_target,unobootstrapprotector) unobootstrapprotector \ 97 ) \ 98$(if $(VCL),\ 99 --protector $(call gb_Library_get_target,vclbootstrapprotector) vclbootstrapprotector \ 100 ) \ 101$(ARGS) 102endef 103 104.PHONY : $(call gb_CppunitTest_get_clean_target,%) 105$(call gb_CppunitTest_get_clean_target,%) : 106 $(call gb_Helper_abbreviate_dirs,\ 107 rm -f $(call gb_CppunitTest_get_target,$*) $(call gb_CppunitTest_get_target,$*).log) 108 109.PHONY : $(call gb_CppunitTest_get_target,%) 110$(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_RUNTIMEDEPS) 111ifneq ($(gb_SUPPRESS_TESTS),) 112 @true 113else 114 $(call gb_Output_announce,$*,$(true),CUT,2) 115 $(call gb_Helper_abbreviate_dirs,\ 116 $(if $(gb_CppunitTest_vcl_hide_windows),export VCL_HIDE_WINDOWS=1 && ) \ 117 $(if $(gb_CppunitTest_vcl_show_windows),unset VCL_HIDE_WINDOWS && ) \ 118 mkdir -p $(dir $@) && \ 119 rm -fr $@.user && cp -r $(WORKDIR)/unittest $@.user && \ 120 $(if $(gb_CppunitTest__use_confpreinit), \ 121 $(INSTDIR)/program/lokconf_init $(call gb_CppunitTest__make_args) &&) \ 122 $(if $(gb_CppunitTest__interactive),, \ 123 $(if $(value gb_CppunitTest_postprocess), \ 124 rm -fr $@.core && mkdir $@.core && cd $@.core &&)) \ 125 ( \ 126 $(if $(gb_CppunitTest_localized),for l in $(WITH_LANG_LIST) ; do LO_TEST_LOCALE="$$l" ) \ 127 $(if $(gb_CppunitTest_PREGDBTRACE),$(gb_CppunitTest_PREGDBTRACE) &&) \ 128 $(EXTRA_ENV_VARS) \ 129 $(if $(filter gdb,$(gb_CppunitTest_GDBTRACE)),,$(gb_CppunitTest_CPPTESTPRECOMMAND)) \ 130 $(if $(G_SLICE),G_SLICE=$(G_SLICE)) \ 131 $(if $(GLIBCXX_FORCE_NEW),GLIBCXX_FORCE_NEW=$(GLIBCXX_FORCE_NEW)) \ 132 $(gb_CppunitTest_malloc_check) \ 133 $(if $(strip $(PYTHON_URE)),\ 134 PYTHONDONTWRITEBYTECODE=1) \ 135 $(ICECREAM_RUN) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_CPPTESTCOMMAND) \ 136 $(call gb_LinkTarget_get_target,$(call gb_CppunitTest_get_linktarget,$*)) \ 137 $(call gb_CppunitTest__make_args) "-env:CPPUNITTESTTARGET=$@" \ 138 $(if $(gb_CppunitTest_POSTGDBTRACE), \ 139 ; RET=$$? && $(gb_CppunitTest_POSTGDBTRACE) && (exit $$RET)) \ 140 $(if $(gb_CppunitTest_localized),|| exit $$?; done) \ 141 ) \ 142 $(if $(gb_CppunitTest__interactive),, \ 143 > $@.log 2>&1 \ 144 || ($(if $(value gb_CppunitTest_postprocess), \ 145 RET=$$?; \ 146 $(call gb_CppunitTest_postprocess,$(gb_CppunitTest_CPPTESTCOMMAND),$@.core,$$RET) >> $@.log 2>&1;) \ 147 cat $@.log; $(gb_CppunitTest_UNITTESTFAILED) Cppunit $*))) 148endif 149 150define gb_CppunitTest_CppunitTest 151$(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1))) 152 153endef 154 155define gb_CppunitTest_CppunitScreenShot 156$(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_localized := $(true) 157$(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest_get_linktarget,$(1))) 158 159endef 160 161define gb_CppunitTest_register_target 162endef 163 164# call gb_CppunitTest__CppunitTest_impl,cppunittest,linktarget 165define gb_CppunitTest__CppunitTest_impl 166$(call gb_CppunitTest_register_target, $(1), $(2), "test") 167$(call gb_LinkTarget_LinkTarget,$(2),CppunitTest_$(1),NONE) 168$(call gb_LinkTarget_set_targettype,$(2),CppunitTest) 169$(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS)) 170$(call gb_LinkTarget_add_defs,$(2),\ 171 $(gb_CppunitTest_DEFS) \ 172) 173$(call gb_LinkTarget_use_external,$(2),cppunit) 174$(call gb_LinkTarget_set_include,$(2),\ 175 $$(INCLUDE) \ 176 $(filter -I%,$(CPPUNIT_CFLAGS)) \ 177) 178$(call gb_LinkTarget_add_defs,$(2), \ 179 $(filter-out -I%,$(CPPUNIT_CFLAGS)) \ 180 -DCPPUNIT_PLUGIN_EXPORT='extern "C" SAL_DLLPUBLIC_EXPORT' \ 181) 182$(call gb_CppunitTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) 183$(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2)) 184$(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_ilibfilename,$(1))) 185$(call gb_CppunitTest_get_target,$(1)) : ARGS := 186$(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS := 187$(call gb_CppunitTest_get_target,$(1)) : JAVA_URE := $(false) 188$(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(false) 189$(call gb_CppunitTest_get_target,$(1)) : URE := $(false) 190$(call gb_CppunitTest_get_target,$(1)) : VCL := $(false) 191$(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES := 192$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES := 193$(call gb_CppunitTest_get_target,$(1)) : HEADLESS := --headless 194$(call gb_CppunitTest_get_target,$(1)) : EXTRA_ENV_VARS := 195$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1)))) 196$(call gb_Helper_make_userfriendly_targets,$(1),CppunitTest) 197 198endef 199 200# Add additional command line arguments for the test. 201# 202# You should practically never need to use this, as there are special 203# functions for adding many commonly used arguments. 204define gb_CppunitTest_add_arguments 205$(call gb_CppunitTest_get_target,$(1)) : ARGS += $(2) 206 207endef 208 209define gb_CppunitTest_use_ure 210$(call gb_CppunitTest_use_rdb,$(1),ure/services) 211$(call gb_CppunitTest_get_target,$(1)) : URE := $(true) 212$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) 213$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,affine_uno) 214$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unobootstrapprotector) 215$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,unoexceptionprotector) 216 217endef 218 219# $(2) == $(true) if headless: 220define gb_CppunitTest__use_vcl 221$(call gb_CppunitTest_get_target,$(1)) : VCL := $(true) 222$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,vclbootstrapprotector) 223ifeq ($(USING_X11),TRUE) 224$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Library_get_target,desktop_detector) 225$(call gb_CppunitTest_get_target,$(1)) : $(if $(filter $(2),$(true)),, \ 226 $(call gb_Library_get_target,vclplug_gen) \ 227 $(if $(ENABLE_GTK),$(call gb_Library_get_target,vclplug_gtk)) \ 228 $(if $(ENABLE_GTK3),$(call gb_Library_get_target,vclplug_gtk3)) \ 229 $(if $(ENABLE_KDE4),$(call gb_Library_get_target,vclplug_kde4)) \ 230 $(if $(ENABLE_QT5),$(call gb_Library_get_target,vclplug_qt5)) \ 231 ) 232endif 233 234endef 235 236define gb_CppunitTest_use_confpreinit 237$(call gb_CppunitTest_use_executable,$(1),lokconf_init) 238$(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest__use_confpreinit := TRUE 239 240endef 241 242define gb_CppunitTest_use_vcl 243$(call gb_CppunitTest__use_vcl,$(1),$(true)) 244 245endef 246 247define gb_CppunitTest_use_vcl_non_headless 248$(call gb_CppunitTest_get_target,$(1)) : HEADLESS := 249$(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_vcl_hide_windows := $(true) 250$(call gb_CppunitTest__use_vcl,$(1),$(false)) 251 252endef 253 254define gb_CppunitTest_use_vcl_non_headless_with_windows 255$(call gb_CppunitTest_get_target,$(1)) : HEADLESS := 256$(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_vcl_show_windows := $(true) 257$(call gb_CppunitTest__use_vcl,$(1),$(false)) 258 259endef 260 261define gb_CppunitTest_localized_run 262$(call gb_CppunitTest_get_target,$(1)) : gb_CppunitTest_localized := $(true) 263 264endef 265 266define gb_CppunitTest__use_api 267$(call gb_CppunitTest_get_target,$(1)) : $(call gb_UnoApi_get_target,$(2)) 268$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES += $(call gb_UnoApi_get_target,$(2)) 269 270endef 271 272define gb_CppunitTest_use_api 273$(call gb_LinkTarget_use_api,$(call gb_CppunitTest_get_linktarget,$(1)),$(2)) 274$(foreach rdb,$(2),$(call gb_CppunitTest__use_api,$(1),$(rdb))) 275 276endef 277 278define gb_CppunitTest_use_udk_api 279$(call gb_CppunitTest_use_api,$(1),udkapi) 280 281endef 282 283define gb_CppunitTest_use_sdk_api 284$(call gb_CppunitTest_use_api,$(1),udkapi offapi) 285 286endef 287 288define gb_CppunitTest_use_rdb 289$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Rdb_get_target_for_build,$(2)) 290$(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES += $(call gb_Rdb_get_target_for_build,$(2)) 291 292endef 293 294define gb_CppunitTest_use_rdbs 295$(foreach rdb,$(2),$(call gb_CppunitTest_use_rdb,$(1),$(rdb))) 296 297endef 298 299define gb_CppunitTest_use_component 300$(call gb_CppunitTest_get_target,$(1)) : \ 301 $(call gb_ComponentTarget_get_target,$(2)) 302$(call gb_CppunitTest_get_target,$(1)) : \ 303 UNO_SERVICES += $(call gb_ComponentTarget_get_target,$(2)) 304 305endef 306 307define gb_CppunitTest_set_componentfile 308$(call gb_ComponentTarget_ComponentTarget,CppunitTest/$(2),\ 309 $(call gb_Helper_make_url,$(gb_CppunitTest_DLLDIR))/,\ 310 $(call gb_CppunitTest_get_filename,$(1))) 311$(call gb_CppunitTest_get_target,$(1)) : \ 312 $(call gb_ComponentTarget_get_target,CppunitTest/$(2)) 313$(call gb_CppunitTest_get_clean_target,$(1)) : \ 314 $(call gb_ComponentTarget_get_clean_target,CppunitTest/$(2)) 315$(call gb_CppunitTest_use_component,$(1),CppunitTest/$(2)) 316 317endef 318 319# Given a list of component files, filter out those corresponding 320# to libraries not built in this configuration. 321define gb_CppunitTest__filter_not_built_components 322$(filter-out \ 323 $(if $(filter SCRIPTING,$(BUILD_TYPE)),, \ 324 basic/util/sb \ 325 sw/util/vbaswobj \ 326 scripting/source/basprov/basprov \ 327 scripting/util/scriptframe) \ 328 $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),, \ 329 dbaccess/util/dba \ 330 forms/util/frm),$(1)) 331endef 332 333define gb_CppunitTest_use_components 334$(foreach component,$(call gb_CppunitTest__filter_not_built_components,$(2)),$(call gb_CppunitTest_use_component,$(1),$(component))) 335 336endef 337 338define gb_CppunitTest__use_configuration 339$(call gb_CppunitTest_get_target,$(1)) : CONFIGURATION_LAYERS += $(2):$(call gb_Helper_make_url,$(3)) 340 341endef 342 343# Use instdir configuration 344define gb_CppunitTest_use_instdir_configuration 345$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,postprocess_registry) 346$(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(INSTROOT)/$(LIBO_SHARE_FOLDER)/registry) 347 348endef 349 350# Use configuration in $(WORKDIR)/unittest/registry. 351define gb_CppunitTest_use_unittest_configuration 352$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Package_get_target,test_unittest) 353$(call gb_CppunitTest__use_configuration,$(1),xcsxcu,$(WORKDIR)/unittest/registry) 354 355endef 356 357# Use standard configuration: instdir config + unittest config (in this order!) 358define gb_CppunitTest_use_configuration 359$(call gb_CppunitTest_use_instdir_configuration,$(1)) 360$(call gb_CppunitTest_use_unittest_configuration,$(1)) 361 362endef 363 364define gb_CppunitTest_use_executable 365$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Executable_get_target,$(2)) 366 367endef 368 369define gb_CppunitTest_use_java_ure 370$(call gb_CppunitTest_get_target,$(1)) : JAVA_URE := $(true) 371$(call gb_CppunitTest_get_target,$(1)) : \ 372 $(foreach jar,java_uno juh jurt unoil unoloader,$(call gb_Jar_get_target,$(jar))) \ 373 $(call gb_Library_get_target,affine_uno_uno) \ 374 $(call gb_Library_get_target,java_uno) \ 375 $(call gb_Library_get_target,jpipe) \ 376 $(call gb_Library_get_target,juhx) \ 377 $(call gb_Library_get_target,juhx) \ 378 $(call gb_Library_get_target,jvmaccess) \ 379 $(call gb_Library_get_target,jvmfwk) \ 380 $(call gb_Package_get_target,jvmfwk_javavendors) \ 381 $(call gb_Package_get_target,jvmfwk_jreproperties) 382 383endef 384 385define gb_CppunitTest_use_jar 386$(call gb_CppunitTest__use_java_ure,$(1)) 387$(call gb_CppunitTest_get_target,$(1)) : $(call gb_Jar_get_target,$(2)) 388 389endef 390 391define gb_CppunitTest_use_jars 392$(foreach jar,$(2),$(call gb_CppunitTest_use_jar,$(1),$(jar))) 393 394endef 395 396define gb_CppunitTest_use_python_ure 397$(call gb_CppunitTest_get_target,$(1)) : PYTHON_URE := $(true) 398$(call gb_CppunitTest_get_target,$(1)) :\ 399 $(call gb_Library_get_target,pythonloader) \ 400 $(call gb_Library_get_target,pyuno) \ 401 $(gb_CppunitTest_PYTHONDEPS) \ 402 $(call gb_Package_get_target,pyuno_python_scripts) 403 404endef 405 406define gb_CppunitTest_use_uiconfig 407$(call gb_CppunitTest_get_target,$(1)) : $(call gb_UIConfig_get_target,$(2)) 408 409endef 410 411define gb_CppunitTest_use_uiconfigs 412$(foreach uiconfig,$(2),$(call gb_CppunitTest_use_uiconfig,$(1),$(uiconfig))) 413 414endef 415 416# forward the call to the gb_LinkTarget implementation 417# (note: because the function name is in $(1), the other args are shifted by 1) 418define gb_CppunitTest__forward_to_Linktarget 419$(call gb_LinkTarget_$(1),$(call gb_CppunitTest_get_linktarget,$(2)),$(3),$(4),CppunitTest_$(2)) 420 421endef 422 423# copy pasta for forwarding: this could be (and was) done more elegantly, but 424# these here can be found by both git grep and ctags 425gb_CppunitTest_add_cobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 426gb_CppunitTest_add_cobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 427gb_CppunitTest_add_cxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 428gb_CppunitTest_add_cxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 429gb_CppunitTest_add_exception_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 430gb_CppunitTest_use_executable_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 431gb_CppunitTest_use_library_objects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 432gb_CppunitTest_use_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 433gb_CppunitTest_use_static_libraries = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 434gb_CppunitTest_add_objcobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 435gb_CppunitTest_add_objcobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 436gb_CppunitTest_add_objcxxobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 437gb_CppunitTest_add_objcxxobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 438gb_CppunitTest_add_cxxclrobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 439gb_CppunitTest_add_cxxclrobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 440gb_CppunitTest_add_asmobject = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 441gb_CppunitTest_add_asmobjects = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 442gb_CppunitTest_use_package = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 443gb_CppunitTest_use_packages = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 444gb_CppunitTest_set_precompiled_header = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 445gb_CppunitTest_add_sdi_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 446gb_CppunitTest_add_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 447gb_CppunitTest_set_cflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 448gb_CppunitTest_add_cxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 449gb_CppunitTest_set_yaccflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 450gb_CppunitTest_add_objcflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 451gb_CppunitTest_add_objcxxflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 452gb_CppunitTest_add_cxxclrflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 453gb_CppunitTest_add_defs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 454gb_CppunitTest_set_include = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 455gb_CppunitTest_add_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 456gb_CppunitTest_set_ldflags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 457gb_CppunitTest_add_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 458gb_CppunitTest_disable_standard_system_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 459gb_CppunitTest_use_system_darwin_frameworks = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 460gb_CppunitTest_use_system_win32_libs = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 461gb_CppunitTest_use_internal_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 462gb_CppunitTest_use_internal_bootstrap_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 463gb_CppunitTest_use_internal_comprehensive_api = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 464gb_CppunitTest_set_library_path_flags = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 465gb_CppunitTest_use_external = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 466gb_CppunitTest_use_externals = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 467gb_CppunitTest_use_custom_headers = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 468gb_CppunitTest_set_visibility_default = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 469gb_CppunitTest_set_warnings_not_errors = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 470gb_CppunitTest_set_external_code = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 471gb_CppunitTest_set_generated_cxx_suffix = $(call gb_CppunitTest__forward_to_Linktarget,$(subst gb_CppunitTest_,,$(0)),$(1),$(2),$(3)) 472 473# vim: set noet sw=4: 474
