VirtualBox

source: vbox/trunk/tools/kBuildUnits/vboximportchecker.kmk

Last change on this file was 106061, checked in by vboxsync, 2 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1# $Id: vboximportchecker.kmk 106061 2024-09-16 14:03:52Z vboxsync $
2## @file
3# VBox import checker unit.
4#
5
6#
7# Copyright (C) 2017-2024 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28UNIT_vboximportchecker = bldRTLdrCheckImports
29
30# Add our property.
31PROPS_SINGLE += VBOX_IMPORT_CHECKER
32PROPS_SINGLE_LNK += VBOX_IMPORT_CHECKER
33PROPS_PROGRAMS_SINGLE += VBOX_IMPORT_CHECKER
34PROPS_DLLS_SINGLE += VBOX_IMPORT_CHECKER
35PROPS_SYSMODS_SINGLE += VBOX_IMPORT_CHECKER
36
37# Helper for expanding certain variables while assigning.
38define def_unit_vboximportchecker_internal_expand_twice
39 $(target)_POST_CMDS += $$(if-expr "$$(tool_do)" != "LINK_LIBRARY",$$(NLTAB)$$(VBOX_RTLDRCHECKIMPORTS) -q -p "$$(KBUILD_DEVTOOLS)/$(bld_trg).$(bld_trg_arch)/exports/$$($(target)_2_VBOX_IMPORT_CHECKER)" $$(out),)
40endef
41
42define def_unit_vboximportchecker_target_pre
43 # Do not apply to ASAN builds as it requires newere DLLs.
44 ifneq ($(KBUILD_TYPE),asan)
45
46 # Set pass 2 variable (simpler) and act on it.
47 $(target)_2_VBOX_IMPORT_CHECKER := $(evalcall def_fn_prop_get_first_defined,VBOX_IMPORT_CHECKER)
48 ifdef $(target)_2_VBOX_IMPORT_CHECKER
49 $(target)_LNK_ORDERDEPS += $(VBOX_RTLDRCHECKIMPORTS)
50 $(eval $(def_unit_vboximportchecker_internal_expand_twice))
51 endif
52
53 endif
54
55endef
56
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette