VirtualBox

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

Last change on this file was 105160, checked in by vboxsync, 5 months ago

*.kmk,bldprogs/VBoxPeSetVersion: Created a unit for setting the PE version so it can more easily be controlled per target. This is helpful with the two GINA targets in the additions, since using NT 3.51 instead of NT 3.1 as minimum avoids trouble with some AV heuristics.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1# $Id: vboxsetpeversion.kmk 105160 2024-07-05 12:02:04Z vboxsync $
2## @file
3# VBox PE version setter 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_vboxsetpeversion = VBoxPeSetVersion
29
30# Add our property.
31PROPS_SINGLE += VBOX_SET_PE_VERSION
32PROPS_SINGLE_LNK += VBOX_SET_PE_VERSION
33PROPS_PROGRAMS_SINGLE += VBOX_SET_PE_VERSION
34PROPS_DLLS_SINGLE += VBOX_SET_PE_VERSION
35PROPS_SYSMODS_SINGLE += VBOX_SET_PE_VERSION
36
37# Helper for expanding certain variables while assigning.
38define def_unit_vboxsetpeversion_internal_expand_twice
39 $(target)_POST_CMDS += $$(NLTAB)$$(VBOX_PE_SET_VERSION) $$(addprefix --,$$($(target)_2_VBOX_SET_PE_VERSION)) "$$(out)"
40endef
41
42define def_unit_vboxsetpeversion_target_pre
43
44 # Set pass 2 variable (simpler) and act on it.
45 $(target)_2_VBOX_SET_PE_VERSION := $(evalcall def_fn_prop_get_first_defined,VBOX_SET_PE_VERSION)
46 ifdef $(target)_2_VBOX_SET_PE_VERSION
47 ifneq ($(tool_do),LINK_LIBRARY)
48 $(target)_LNK_ORDERDEPS += $(VBOX_PE_SET_VERSION)
49 $(eval $(def_unit_vboxsetpeversion_internal_expand_twice))
50 endif
51 endif
52
53endef
54
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