VirtualBox

Changeset 79891 in vbox for trunk/src/VBox/Installer


Ignore:
Timestamp:
Jul 19, 2019 4:16:19 PM (5 years ago)
Author:
vboxsync
Message:

*.kmk: Preparing for dropping 32-bit host support. Introducing a variable VBOX_SUPPORTED_HOST_ARCHS controlling what's supported and not. bugref:9511

Location:
trunk/src/VBox/Installer/win
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/Makefile.kmk

    r79709 r79891  
    2929include $(PATH_SUB_CURRENT)/InstallHelper/Makefile.kmk
    3030
    31 ifeq ($(KBUILD_TARGET_ARCH),x86)
    32  include $(PATH_SUB_CURRENT)/Stub/Makefile.kmk
    33  include $(PATH_SUB_CURRENT)/StubBld/Makefile.kmk
    34 endif
    35 
     31include $(PATH_SUB_CURRENT)/Stub/Makefile.kmk
     32include $(PATH_SUB_CURRENT)/StubBld/Makefile.kmk
    3633include $(PATH_SUB_CURRENT)/Resources/Makefile.kmk
    3734ifdef VBOX_WITH_MSI_HACK
     
    157154 endif
    158155else
    159  PACKING += $(PACKAGE_NAME_FINAL)
     156 PACKAGE_NAME_MULTIARCH             := $(PACKAGE_NAME_LANG)-MultiArch
     157 PACKAGE_NAME_MULTIARCH_FINAL       := $(PACKAGE_NAME_MULTIARCH).exe
     158 PACKING += $(PACKAGE_NAME_FINAL) $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL)
    160159endif
    161160BLDDIRS += \
     
    198197        $(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi \
    199198        $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi \
    200         $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd
     199        $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd \
     200        $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL)
    201201
    202202ifdef VBOX_WITH_COMBINED_PACKAGE
    203203 ifeq ($(KBUILD_TARGET_ARCH),x86)
    204204  OTHER_CLEAN += \
    205         $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \
    206205        $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd \
    207206        $(PATH_MULTIARCH_TEMP)/$(PACKAGE_NAME_MULTIARCH.x86)
     
    10471046                ) ) \
    10481047                '@echo Create multiarch EXE: $(@F)'
     1048else
     1049#
     1050# We still do the installer stub thing even if we only ship 64-bit, because we've
     1051# gotten used to having it around to install the certificate and such.
     1052#
     1053$(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \
     1054+ $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd: \
     1055                $(PACKAGE_NAME_FINAL) \
     1056                $(PATH_STAGE_BIN)/VBoxStub.exe \
     1057                $$(VBoxStubBld_1_TARGET)
     1058        $(call MSG_L1,Building Windows package w/ installer stub)
     1059        $(QUIET)$(RM) -f -- $(wildcard $(subst r$(VBOX_SVN_REV),r*, \
     1060                $@ \
     1061                $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd ) )
     1062        $(REDIRECT) -C $(@D) -- \
     1063                $(VBoxStubBld_1_TARGET) -out $@ \
     1064                        -target-$(KBUILD_TARGET_ARCH) $(PACKAGE_NAME_FINAL) \
     1065                        -stub $(PATH_STAGE_BIN)/VBoxStub.exe
     1066        $(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $@
     1067        $(call VBOX_SIGN_FILE_FN,$@)
     1068# Create repack script for this step.
     1069        $(APPEND) -nt "$(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd" \
     1070                'if ".%KBUILD_DEVTOOLS%" == "." (echo KBUILD_DEVTOOLS is not set & exit /b1)' \
     1071                'if ".%KBUILD_BIN_PATH%" == "." (echo KBUILD_BIN_PATH is not set & exit /b1)' \
     1072                $(subst $(KBUILD_BIN_PATH),%KBUILD_BIN_PATH%,$(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%, \
     1073                $(if-expr defined(VBOX_WITH_MSM_INSTALL), \
     1074                ,'call sign-dual.cmd ../../../win.amd64/$(KBUILD_TYPE)/repack/$(notdir $(PACKAGE_NAME_MULTIARCH_COMMONCAB)) || exit /b1') \
     1075                '..\bin\VBoxStubBld.exe ^' \
     1076                '  -out $(@F) ^' \
     1077                '  -target-$(KBUILD_TARGET_ARCH) $(PACKAGE_NAME_FINAL) ^' \
     1078                '  -stub ../bin/VBoxStub.exe || exit /b1' \
     1079                '$(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $(@F) || exit /b1' \
     1080                'call sign-dual.cmd $(@F) || exit /b1' \
     1081                ) ) \
     1082                '@echo Create multiarch EXE: $(@F)'
    10491083endif
    10501084
  • trunk/src/VBox/Installer/win/Stub/Makefile.kmk

    r77769 r79891  
    1919include $(KBUILD_PATH)/subheader.kmk
    2020
    21 # This has to be 32-bit, so don't include it in the 64-bit build.
    22 if "$(KBUILD_TARGET_ARCH)" == "x86"
     21TEMPLATE_VBOXSTUB = Drop the signing, we will sign it later.
     22TEMPLATE_VBOXSTUB_EXTENDS = VBOXR3STATIC
     23TEMPLATE_VBOXSTUB_POST_CMDS = $(NO_SUCH_VARIABLE)
    2324
    24  TEMPLATE_VBOXSTUB = Drop the signing, we will sign it later.
    25  TEMPLATE_VBOXSTUB_EXTENDS = VBOXR3STATIC
    26  TEMPLATE_VBOXSTUB_POST_CMDS = $(NO_SUCH_VARIABLE)
     25#
     26# Installer stub program
     27#
     28PROGRAMS += VBoxStub
     29VBoxStub_TEMPLATE= VBOXSTUB
     30VBoxStub_BLD_TRG_ARCH = x86
     31VBoxStub_DEFS    = _WIN32_WINNT=0x0501 IN_RT_R3
    2732
    28  PROGRAMS += VBoxStub
    29  VBoxStub_TEMPLATE= VBOXSTUB
    30  VBoxStub_DEFS    = _WIN32_WINNT=0x0501 IN_RT_R3
     33VBoxStub_SOURCES = \
     34        VBoxStub.cpp \
     35        VBoxStub.rc
    3136
    32  VBoxStub_SOURCES = \
    33         VBoxStub.cpp \
    34         VBoxStub.rc
     37VBoxStub_SDKS += \
     38        VBOX_NTDLL
     39ifeq ($(KBUILD_TARGET_ARCH),x86)
     40VBoxStub_LIBS += \
     41        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib \
     42        $(VBOX_LIB_RUNTIME_STATIC)
     43else
     44VBoxStub_LIBS += \
     45        $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib \
     46        $(PATH_STAGE_LIB)/RuntimeR3-x86.lib
     47endif
    3548
    36  VBoxStub_SDKS += \
    37         VBOX_NTDLL
    38  VBoxStub_LIBS = \
    39         $(VBOX_LIB_RUNTIME_STATIC) \
    40        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
    41  VBoxStub_LDFLAGS = \
    42         -DelayLoad:comctl32.dll
    43  VBoxStub_POST_CMDS = $(VBOX_CHECK_IMPORTS) --image $(out) ntdll.dll kernel32.dll
    44  VBoxStub_LNK_DEPS  = $(VBOX_CHECK_IMPORTS)
     49VBoxStub_LDFLAGS = \
     50        -DelayLoad:comctl32.dll
     51VBoxStub_POST_CMDS = $(VBOX_CHECK_IMPORTS) --image $(out) ntdll.dll kernel32.dll
     52VBoxStub_LNK_DEPS  = $(VBOX_CHECK_IMPORTS)
    4553
    46  VBoxStub.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
    47  VBoxStub.cpp_DEPS  = $(VBOX_SVN_REV_KMK)
     54VBoxStub.cpp_DEFS += VBOX_SVN_REV=$(VBOX_SVN_REV)
     55VBoxStub.cpp_DEPS  = $(VBOX_SVN_REV_KMK)
    4856
    49  # If signing mode is enabled, then add the possibility to install the code
    50  # signing certificates (public key only) automatically in /silent mode.
    51  ifdef VBOX_SIGNING_MODE
     57# If signing mode is enabled, then add the possibility to install the code
     58# signing certificates (public key only) automatically in /silent mode.
     59ifdef VBOX_SIGNING_MODE
    5260
    53   VBoxStub_SOURCES  += VBoxStubCertUtil.cpp
    54   VBoxStub_CLEAN    += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
    55   VBoxStub.cpp_DEPS += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
    56   VBoxStub.cpp_INCS += $(VBoxStub_0_OUTDIR)
    57   VBoxStub.cpp_DEFS += VBOX_WITH_CODE_SIGNING
     61 VBoxStub_SOURCES  += VBoxStubCertUtil.cpp
     62 VBoxStub_CLEAN    += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
     63 VBoxStub.cpp_DEPS += $(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
     64 VBoxStub.cpp_INCS += $(VBoxStub_0_OUTDIR)
     65 VBoxStub.cpp_DEFS += VBOX_WITH_CODE_SIGNING
    5866
    59   $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h:  | $$(dir $$@) $(VBOX_RTSIGNTOOL) $(PATH_STAGE_SYS)/VBoxDrv.sys
     67 $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h:  | $$(dir $$@) $(VBOX_RTSIGNTOOL) $(PATH_STAGE_SYS)/VBoxDrv.sys
    6068        $(RM) -f -- "$@" "[email protected]" "[email protected]" "[email protected]" "[email protected]"
    6169
     
    6371        $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert0 "[email protected]" $@
    6472        $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert0, sizeof(g_abVBoxStubTrustedCert0) }, "
    65   if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) || $(intersects win all 1,$(VBOX_WITH_CORP_CODE_SIGNING))
     73 if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) || $(intersects win all 1,$(VBOX_WITH_CORP_CODE_SIGNING))
    6674        $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(PATH_STAGE_SYS)/VBoxDrv.sys" --output "[email protected]" --der
    6775        $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert1 "[email protected]" $@
    6876        $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert1, sizeof(g_abVBoxStubTrustedCert1) }, "
    69   endif
    70   if $(intersects win_planb,$(VBOX_WITH_CORP_CODE_SIGNING))
     77 endif
     78 if $(intersects win_planb,$(VBOX_WITH_CORP_CODE_SIGNING))
    7179        $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(VBOX_RTSIGNTOOL)" --output "[email protected]" --der
    7280        $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert2 "[email protected]" $@
    7381        $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert2, sizeof(g_abVBoxStubTrustedCert2) }, "
    74   endif
     82 endif
    7583        $(APPEND) -n "$@" \
    7684                "" \
    7785                "struct { uint8_t const *pab; uint32_t cb; }" "g_aVBoxStubTrustedCerts[] = " \
    78                "{"
     86              "{"
    7987        $(SED) --append "$@" -e "" "[email protected]"
    8088        $(APPEND) -n "$@" \
    81                "};"
     89              "};"
    8290        $(RM) -f -- "[email protected]" "[email protected]" "[email protected]" "[email protected]"
    8391
    84   VBoxStubPublicCert.h:: $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
     92 VBoxStubPublicCert.h:: $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
    8593
    86  endif
     94endif
    8795
    88  # The icon location is configurable.
    89  VBoxStub.rc_INCS += $(VBoxStub_0_OUTDIR)
    90  VBoxStub.rc_DEPS += \
    91         $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
    92         $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
    93  VBoxStub.rc_CLEAN = \
    94         $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
    95         $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
     96# The icon location is configurable.
     97VBoxStub.rc_INCS += $(VBoxStub_0_OUTDIR)
     98VBoxStub.rc_DEPS += \
     99        $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
     100        $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
     101VBoxStub.rc_CLEAN = \
     102        $(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc \
     103        $(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc
    96104
    97  # Icon include file.
    98  $$(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
     105# Icon include file.
     106$$(VBoxStub_0_OUTDIR)/VBoxStub-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
    99107        $(APPEND) -t $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
    100108
    101  # Manifest.
    102  VBOX_STUB_MANIFEST_FILE := $(PATH_SUB_CURRENT)/VBoxStub.manifest
    103  $$(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc: $(VBOX_STUB_MANIFEST_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
     109# Manifest.
     110VBOX_STUB_MANIFEST_FILE := $(PATH_SUB_CURRENT)/VBoxStub.manifest
     111$$(VBoxStub_0_OUTDIR)/VBoxStub-manifest.rc: $(VBOX_STUB_MANIFEST_FILE) $(MAKEFILE_CURRENT) | $$(dir $$@)
    104112        $(APPEND) -t $@ 'APP_MANIFEST RT_MANIFEST "$(subst /,\\,$(VBOX_STUB_MANIFEST_FILE))"'
    105113
    106  # Dynamic import no. 1: MSI.DLL
    107  VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm
    108  $$(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm: $(PATH_SUB_CURRENT)/msi.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     114# Dynamic import no. 1: MSI.DLL
     115VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm
     116$$(VBoxStub_0_OUTDIR)/MsiLazyLoad.asm: $(PATH_SUB_CURRENT)/msi.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    109117        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@)
    110118        $(QUIET)$(RM) -f -- "$@"
    111119        $(VBOX_DEF_2_LAZY_LOAD) --system --library MSI.DLL --output "$@" $(filter %.def, $^)
    112120
    113  # Dynamic import no. 2: CRYPTO32.DLL
    114  VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm
    115  $$(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm: $(PATH_SUB_CURRENT)/crypt32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     121# Dynamic import no. 2: CRYPTO32.DLL
     122VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm
     123$$(VBoxStub_0_OUTDIR)/Crypt32LazyLoad.asm: $(PATH_SUB_CURRENT)/crypt32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    116124        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@)
    117125        $(QUIET)$(RM) -f -- "$@"
    118126        $(VBOX_DEF_2_LAZY_LOAD) --system --library CRYPT32.DLL --output "$@" $(filter %.def, $^)
    119127
    120  # Dynamic import no. 3: WS2_32.DLL
    121  VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm
    122  $$(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm: $(PATH_SUB_CURRENT)/ws2_32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     128# Dynamic import no. 3: WS2_32.DLL
     129VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm
     130$$(VBoxStub_0_OUTDIR)/Ws232LazyLoad.asm: $(PATH_SUB_CURRENT)/ws2_32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    123131        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@)
    124132        $(QUIET)$(RM) -f -- "$@"
    125133        $(VBOX_DEF_2_LAZY_LOAD) --system --library WS2_32.DLL --output "$@" $(filter %.def, $^)
    126134
    127  # Dynamic import no. 4: USER32.DLL
    128  VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/User32LazyLoad.asm
    129  $$(VBoxStub_0_OUTDIR)/User32LazyLoad.asm: $(PATH_SUB_CURRENT)/user32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     135# Dynamic import no. 4: USER32.DLL
     136VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/User32LazyLoad.asm
     137$$(VBoxStub_0_OUTDIR)/User32LazyLoad.asm: $(PATH_SUB_CURRENT)/user32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    130138        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@)
    131139        $(QUIET)$(RM) -f -- "$@"
    132140        $(VBOX_DEF_2_LAZY_LOAD) --system --library USER32.DLL --output "$@" $(filter %.def, $^)
    133141
    134  # Dynamic import no. 5: SHELL32.DLL
    135  VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm
    136  $$(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm: $(PATH_SUB_CURRENT)/shell32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     142# Dynamic import no. 5: SHELL32.DLL
     143VBoxStub_SOURCES += $(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm
     144$$(VBoxStub_0_OUTDIR)/Shell32LazyLoad.asm: $(PATH_SUB_CURRENT)/shell32.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    137145        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxStub,$(filter %.def, $^),$@)
    138146        $(QUIET)$(RM) -f -- "$@"
    139147        $(VBOX_DEF_2_LAZY_LOAD) --system --library SHELL32.DLL --output "$@" $(filter %.def, $^)
    140148
     149include $(FILE_KBUILD_SUB_FOOTER)
    141150
    142 endif # x86 only
    143 
    144 include $(FILE_KBUILD_SUB_FOOTER)
  • trunk/src/VBox/Installer/win/StubBld/Makefile.kmk

    r76553 r79891  
    1919include $(KBUILD_PATH)/subheader.kmk
    2020
    21 # This is only used in the 32-bit build (see ../Stub/Makefile.kmk).
    22 PROGRAMS.x86 += VBoxStubBld
     21BLDPROGS += VBoxStubBld
    2322VBoxStubBld_TEMPLATE= VBoxBldProg
    2423VBoxStubBld_DEFS    = _WIN32_WINNT=0x0400 VBOX_SVN_REV=$(VBOX_SVN_REV) $(VBOX_SVN_REV_KMK)
Note: See TracChangeset for help on using the changeset viewer.

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