VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Installer/InstallHelper/Makefile.kmk

Last change on this file was 107374, checked in by vboxsync, 4 weeks ago

Add/Nt/Installer: Use solid lzma compression as it reduces the installer size by half. Introduced experimental VBOX_WITH_NATIVE_NSIS_INSTALLER build config option (only works for amd64 & x86).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.1 KB
Line 
1# $Id: Makefile.kmk 107374 2024-12-18 23:51:03Z vboxsync $
2## @file
3# Sub-Makefile for the Windows Guest Additions Installer Helper DLL.
4#
5
6#
7# Copyright (C) 2010-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
28SUB_DEPTH = ../../../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31# Include Sub-Makefiles.
32include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
33
34
35#
36# VBoxGuestInstallHelper - Helps with various installation tasks.
37#
38PROGRAMS += VBoxGuestInstallHelper
39VBoxGuestInstallHelper_TEMPLATE = VBoxGuestR3Exe
40VBoxGuestInstallHelper_DEFS = _UNICODE UNICODE
41VBoxGuestInstallHelper_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
42ifdef VBOX_WITH_WDDM
43 VBoxGuestInstallHelper_DEFS += VBOX_WITH_WDDM
44endif
45if1of ($(KBUILD_TARGET_ARCH), x86)
46 VBoxGuestInstallHelper_DEFS += _WIN32_WINNT=0x0400
47else if1of ($(KBUILD_TARGET_ARCH), amd64)
48 VBoxGuestInstallHelper_DEFS += _WIN32_WINNT=0x0501
49endif
50VBoxGuestInstallHelper_DEPS = $(VBOX_SVN_REV_KMK)
51VBoxGuestInstallHelper_SDKS = ReorderCompilerIncs $(VBOX_WINPSDK_GST) $(VBOX_WINDDK_GST)
52VBoxGuestInstallHelper_INCS = ../../include
53VBoxGuestInstallHelper_SOURCES = \
54 VBoxGuestInstallHelper.cpp \
55 VBoxGuestInstallHelper.rc \
56 $(PATH_ROOT)/src/VBox/GuestHost/Installation/VBoxWinDrvCommon.cpp \
57 $(PATH_ROOT)/src/VBox/GuestHost/Installation/VBoxWinDrvInst.cpp \
58 $(PATH_ROOT)/src/VBox/GuestHost/Installation/VBoxWinDrvStore.cpp
59VBoxGuestInstallHelper_VBOX_IMPORT_CHECKER.win.x86 := nt4 # setupapi was introduced in NT4
60
61
62#
63# Stripped down DLL template for arm64.
64#
65TEMPLATE_VBoxGuestInstallHelperDllTemplateWithFewerLibs = hack
66TEMPLATE_VBoxGuestInstallHelperDllTemplateWithFewerLibs_EXTENDS := VBoxGuestR3Dll
67TEMPLATE_VBoxGuestInstallHelperDllTemplateWithFewerLibs_LATE_LIBS.x86 = \
68 $(filter-out %/VBoxGuestR3LibShared-x86.lib,$(TEMPLATE_VBoxGuestR3Dll_LATE_LIBS.x86))
69
70#
71# NSIS plugins have to match the NSIS architecture, so 32-bit x86 in our case.
72#
73# Note! Installation is required for repacking Guest Additions
74#
75DLLS += VBoxGuestInstallHelperDll
76VBoxGuestInstallHelperDll_TEMPLATE := VBoxGuestInstallHelperDllTemplateWithFewerLibs
77VBoxGuestInstallHelperDll_NAME := VBoxGuestInstallHelper
78ifndef VBOX_WITH_NATIVE_NSIS_INSTALLER
79 VBoxGuestInstallHelperDll_BLD_TRG_ARCH := x86
80endif
81VBoxGuestInstallHelperDll_INST := repackadd/resources/VBoxGuestInstallHelperDll/
82ifdef VBOX_SIGN_ADDITIONS # (See the parent makefile.)
83 VBoxGuestInstallHelperDll_INSTTYPE := stage
84 VBoxGuestInstallHelperDll_DEBUG_INSTTYPE := both
85endif
86VBoxGuestInstallHelperDll_DEFS := WIN32_LEAN_AND_MEAN=1 UNICODE _UNICODE
87if1of ($(KBUILD_TARGET_ARCH), x86)
88 VBoxGuestInstallHelperDll_DEFS += _WIN32_WINNT=0x0400
89 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := nt4
90else if1of ($(KBUILD_TARGET_ARCH), amd64)
91 VBoxGuestInstallHelperDll_DEFS += _WIN32_WINNT=0x0501
92 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := xp
93 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.amd64 := xp64
94else
95 VBoxGuestInstallHelperDll_DEFS += _WIN32_WINNT=0x0a00
96 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.x86 := w8
97 VBoxGuestInstallHelperDll_VBOX_IMPORT_CHECKER.win.arm64 := w10-1709
98endif
99VBoxGuestInstallHelperDll_SOURCES := \
100 VBoxGuestInstallHelperDll.cpp \
101 VBoxGuestInstallHelperDll.rc \
102 $(PATH_ROOT)/src/VBox/Runtime/generic/RTLogWriteUser-generic.cpp
103VBoxGuestInstallHelperDll_INCS := \
104 $(PATH_ROOT)/src/VBox/Runtime/include
105
106include $(FILE_KBUILD_SUB_FOOTER)
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