Changeset 71926 in vbox for trunk/src/VBox
- Timestamp:
- Apr 19, 2018 11:19:27 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Installer/win/Makefile.kmk
r70729 r71926 50 50 VBOX_CAB_COMPRESSION_LEVEL := high 51 51 52 VBOX_PATH_WIN_INST_SRC := $(PATH_SUB_CURRENT) 53 VBOX_WIN_INST_OUT_DIR := $(PATH_TARGET)/Installer/win 52 VBOX_PATH_WIN_INST_SRC := $(PATH_SUB_CURRENT) 53 VBOX_WIN_INST_OUT_DIR := $(PATH_TARGET)/Installer/win 54 VBOX_WIN_INST_REPACK_DIR := $(PATH_OUT)/repack 54 55 55 56 # Note: en_US *must* come first for the dependency file generation. 56 57 ifndef VBOX_INSTALLER_LANGUAGES 57 VBOX_INSTALLER_LANGUAGES = en_US de_DE fr_FR it_IT zh_TW58 VBOX_INSTALLER_LANGUAGES += $(VBOX_INSTALLER_ADD_LANGUAGES)58 VBOX_INSTALLER_LANGUAGES = en_US de_DE fr_FR it_IT zh_TW 59 VBOX_INSTALLER_LANGUAGES += $(VBOX_INSTALLER_ADD_LANGUAGES) 59 60 endif 60 61 … … 148 149 BLDDIRS += \ 149 150 $(VBOX_WIN_INST_OUT_DIR) \ 151 $(VBOX_WIN_INST_REPACK_DIR)/ \ 150 152 $(foreach lang,$(VBOX_INSTALLER_LANGUAGES),$(VBOX_WIN_INST_OUT_DIR)/$(lang)/) \ 151 153 $(VBOX_WIN_INST_OUT_DIR)/NLS/ … … 153 155 OTHER_CLEAN += \ 154 156 $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj \ 157 $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wix \ 158 $(VBOX_WIN_INST_REPACK_DIR)/VirtualBox.wix \ 155 159 $(VBOX_WIN_INST_OUT_DIR)/VirtualBox.wixobj.dep \ 156 160 $(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \ … … 166 170 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(PACKAGE_NAME_LANG)_$(lang).wixpdb \ 167 171 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(PACKAGE_NAME_LANG)_$(lang).msi \ 172 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix \ 168 173 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj \ 169 174 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj.dep )\ 175 $(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).wix \ 170 176 $(VBOX_WIN_INST_OUT_DIR)/DirComponentsAndFiles_DTrace.wxi \ 171 177 $(VBOX_WIN_INST_OUT_DIR)/Files_Main.wxi \ … … 174 180 $(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi \ 175 181 $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi \ 182 $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd 176 183 177 184 ifdef VBOX_WITH_COMBINED_PACKAGE … … 179 186 OTHER_CLEAN += \ 180 187 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \ 188 $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd \ 181 189 $(PATH_MULTIARCH_TEMP)/$(PACKAGE_NAME_MULTIARCH.x86) 182 190 endif … … 197 205 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).msm \ 198 206 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj \ 199 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixpdb)) 207 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixpdb \ 208 $(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).wix)) 200 209 endif 201 210 … … 276 285 $(APPEND) $@ '<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">' 277 286 ifdef VBOX_WITH_DOCS_PACKING 278 $(APPEND) $@ ' <File Id="file_VirtualBox.chm" Name="VirtualBox.chm" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( PATH_STAGE_BIN)/VirtualBox.chm"></File>'287 $(APPEND) $@ ' <File Id="file_VirtualBox.chm" Name="VirtualBox.chm" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(PATH_STAGE_BIN)/VirtualBox.chm)"></File>' 279 288 $(APPEND) -n $@ $(foreach lang,$(VBOX_MANUAL_ADD_LANGUAGES), \ 280 ' <File Id="file_VirtualBox_$(lang).chm" Name="VirtualBox_$(lang).chm" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( PATH_STAGE_BIN)/VirtualBox_$(lang).chm"></File>')289 ' <File Id="file_VirtualBox_$(lang).chm" Name="VirtualBox_$(lang).chm" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(PATH_STAGE_BIN)/VirtualBox_$(lang).chm)"></File>') 281 290 endif 282 291 $(APPEND) $@ '</Include>' … … 287 296 $(APPEND) $@ '<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">' 288 297 ifdef VBOX_WITH_DOCS_PACKING 289 $(APPEND) $@ ' <File Id="file_UserManual.pdf" Name="UserManual.pdf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( PATH_STAGE_BIN)/UserManual.pdf">'298 $(APPEND) $@ ' <File Id="file_UserManual.pdf" Name="UserManual.pdf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(PATH_STAGE_BIN)/UserManual.pdf)">' 290 299 $(APPEND) $@ ' </File>' 291 300 $(APPEND) -n $@ $(foreach lang,$(VBOX_MANUAL_ADD_LANGUAGES), \ 292 ' <File Id="file_UserManual_$(lang).pdf" Name="UserManual_$(lang).pdf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( PATH_STAGE_BIN)/UserManual_$(lang).pdf">' \301 ' <File Id="file_UserManual_$(lang).pdf" Name="UserManual_$(lang).pdf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(PATH_STAGE_BIN)/UserManual_$(lang).pdf)">' \ 293 302 ' </File>') 294 303 endif … … 299 308 $(APPEND) -t $@ '<?xml version="1.0" ?>' 300 309 $(APPEND) $@ '<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">' 301 $(APPEND) $@ ' <File Id="file_License_en_US.rtf" Name="License_en_US.rtf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( VBOX_BRAND_LICENSE_RTF)">' \310 $(APPEND) $@ ' <File Id="file_License_en_US.rtf" Name="License_en_US.rtf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(VBOX_BRAND_LICENSE_RTF))">' \ 302 311 ' </File>' 303 312 $(APPEND) -n $@ $(foreach lang,$(VBOX_LICENSE_ADD_LANGUAGES), \ 304 ' <File Id="file_License_$(lang).rtf" Name="License_$(lang).rtf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$( VBOX_BRAND_$(lang)_LICENSE_RTF)">' \313 ' <File Id="file_License_$(lang).rtf" Name="License_$(lang).rtf" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" Vital="yes" Source="$(subst /,\,$(VBOX_BRAND_$(lang)_LICENSE_RTF))">' \ 305 314 ' </File>') 306 315 $(APPEND) $@ '</Include>' … … 319 328 $(foreach file, $(VBOXINST_DTRACE_LIB_ARCH_FILES) \ 320 329 , ' <File Id="file_dtrace_lib_arch_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \ 321 ' Source="$( PATH_STAGE_BIN)/dtrace/lib/$(KBUILD_TARGET_ARCH)/$(file)" />' ) \330 ' Source="$(subst /,\,$(PATH_STAGE_BIN)/dtrace/lib/$(KBUILD_TARGET_ARCH)/$(file))" />' ) \ 322 331 ' </Component>' \ 323 332 ' </Directory>' \ … … 329 338 $(foreach file, $(VBOXINST_DTRACE_TESTCASE_ARCH_FILES) \ 330 339 , ' <File Id="file_dtrace_testcase_arch_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \ 331 ' Source="$( PATH_STAGE_BIN)/dtrace/testcase/$(KBUILD_TARGET_ARCH)/$(file)" />' ) \340 ' Source="$(subst /,\,$(PATH_STAGE_BIN)/dtrace/testcase/$(KBUILD_TARGET_ARCH)/$(file))" />' ) \ 332 341 ' </Component>' \ 333 342 ' </Directory>' \ … … 338 347 $(foreach file, $(VBOXINST_DTRACE_SCRIPTS_FILES) \ 339 348 , ' <File Id="file_dtrace_scripts_$(subst -,_,$(file))" Name="$(file)" Vital="yes" ' \ 340 ' Source="$( PATH_STAGE_BIN)/dtrace/scripts/$(file)" />' ) \349 ' Source="$(subst /,\,$(PATH_STAGE_BIN)/dtrace/scripts/$(file))" />' ) \ 341 350 ' </Component>' \ 342 351 ' </Directory>') \ … … 394 403 | $$$$(dir $$$$@) 395 404 $$(call MSG_L1,Linking installer $$@) 396 $(QUIET)$(RM) -f $$(wildcard $$(@D)/$(PACKAGE_BASE)-r*_$(lang).msi $$(@D)/$(PACKAGE_BASE)-r*_$(lang).wixpdb) 405 $(QUIET)$(RM) -f $$(wildcard $$(subst r$$(VBOX_SVN_REV),r*,\ 406 $$@ \ 407 $$(basename $$@).wixpdb \ 408 $$(VBOX_WIN_INST_REPACK_DIR)/2-link-$$(PACKAGE_NAME_LANG).cmd )) 397 409 kmk_time $(VBOX_PATH_WIX)/light.exe -v -nologo \ 398 410 -loc $(VBOX_WIN_INST_OUT_DIR)/NLS/Language_$(lang).wxl \ … … 407 419 if defined(VBOX_WITH_COMBINED_PACKAGE) && !defined(VBOX_WITH_MSM_INSTALL) 408 420 $(MV) -f -- $$(@D)/common.cab $$(@D)/../common.cab 421 endif 422 ifeq ($(lang),en_US) 423 $(CP) -f -- "$(VBOX_WIN_INST_OUT_DIR)/NLS/Language_$(lang).wxl" "$(VBOX_WIN_INST_OUT_DIR)/NLS/License_$(lang).wxl" \ 424 "$(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/" 425 $(APPEND) -tn "$$(VBOX_WIN_INST_REPACK_DIR)/2-link-$$(PACKAGE_NAME_LANG).cmd" \ 426 'if ".%KBUILD_DEVTOOLS%" == "." echo KBUILD_DEVTOOLS is not set' \ 427 $(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%,\ 428 '$(VBOX_PATH_WIX)/light.exe -v -nologo ^' \ 429 ' -loc files-VirtualBox_$(lang)/Language_$(lang).wxl ^' \ 430 ' -loc files-VirtualBox_$(lang)/License_$(lang).wxl ^' \ 431 ' -ext $(VBOX_PATH_WIX)/WixUIExtension.dll ^' \ 432 ' -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll ^' \ 433 $(if-expr defined(VBOX_WITH_MSI_HACK),'-ext $(MsiHack_0_OUTDIR)/MsiHackExtension.dll ^',) \ 434 ' $(VBOX_MSI_ICE_IGNORE) ^' \ 435 ' -out $$(@F) ^' \ 436 ' $$(<F) ^' \ 437 ' $(VBOX_PATH_WIX)/difxapp_$(if-expr "$(KBUILD_TARGET_ARCH)" == "x86",x86,x64).wixlib ^' \ 438 ' || exit /b1' \ 439 ) \ 440 '@echo Created MSI installer: $$(@F)' \ 441 $(if-expr defined(VBOX_WITH_COMBINED_PACKAGE) && !defined(VBOX_WITH_MSM_INSTALL),'@echo Created: common.cab',) 442 443 $(eval OTHER_CLEAN += $(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/Language_$(lang).wxl \ 444 $(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/License_$(lang).wxl \ 445 $(VBOX_WIN_INST_REPACK_DIR)/2-link-$(PACKAGE_NAME_LANG).cmd ) 409 446 endif 410 447 endef … … 440 477 $(RM) -f $(VBOX_WIN_INST_OUT_DIR)/NLS/$(lang).mst 441 478 $(call VBOX_SIGN_FILE_FN,$$@,$(VBOX_PRODUCT) $(VBOX_VERSION_STRING)r$(VBOX_SVN_REV) ($(KBUILD_TARGET_ARCH)),,,disable-dual-signing) 479 ## @todo repack script and files 442 480 endef 443 481 … … 479 517 # 480 518 # MSI compile. 519 # We've separated the processing from the compilation for repacking reasons. 481 520 # 482 521 define def_vbox_compile_wixobj 483 522 includedep $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj.dep 484 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj: \ 523 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj \ 524 + $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix \ 525 $(if-expr "$(lang)" != "en_US",, \ 526 + $(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).wix $(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).files ): \ 485 527 $(PATH_SUB_CURRENT)/VirtualBox.wxs \ 486 528 $(PATH_SUB_CURRENT)/UserInterface.wxi \ … … 496 538 $(VBOX_MSI_DEPENDENCIES)) \ 497 539 $(VBOX_VERSION_STAMP) \ 498 | $$$$(dir $$$$@) 499 $(QUIET)$(RM) -f $@ 540 | $$$$(dir $$$$@) $(if-expr "$(lang)" != "en_US",, \ 541 $(VBOX_WIN_INST_REPACK_DIR)/ $(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/ ) 542 $(QUIET)$(RM) -f -- $@ "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix" "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).wix" 500 543 $(REDIRECT) \ 501 544 -E 'PATH_OUT=$(subst /,\,$(PATH_OUT))' \ … … 561 604 -ext $(VBOX_PATH_WIX)/WixUIExtension.dll \ 562 605 -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \ 563 -out $$@ 564 # Generate wxi dependencies based on the sourceLineNumber references in the output. 606 -p$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix 607 $(VBOX_PATH_WIX)/candle.exe $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix \ 608 -ext $(VBOX_PATH_WIX)/WixUIExtension.dll \ 609 -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \ 610 -out $$@ 611 ifeq ($(lang),en_US) 612 # Copy preprocessed wix and change source paths to be relative. Stuff not in ../bin needs copying. 613 $(SED) -e 's,$(subst /,\\,$(PATH_OUT))\\bin,..\\bin,g' \ 614 -e 's,$(subst /,\\,$(PATH_OUT_BASE))\\win.amd64\\$(KBUILD_TYPE)\\bin,..\\..\\..\\win.amd64\\$(KBUILD_TYPE)\\bin,g' \ 615 -e 's,$(subst /,\\,$(PATH_OUT_BASE))\\win.x86\\$(KBUILD_TYPE)\\bin,..\\..\\..\\win.x86\\$(KBUILD_TYPE)\\bin,g' \ 616 \ 617 -e 's,$(subst /,\\,$(PATH_ROOT))\\doc\\,files-VirtualBox_$(lang)\\,g' \ 618 -e 's,$(subst /,\\,$(VBOX_PATH_WIN_INST_SRC))\\Binary\\,files-VirtualBox_$(lang)\\,g' \ 619 -e 's,$(subst /,\\,$(dir $(VBOX_WINDOWS_ICON_FILE))),files-VirtualBox_$(lang)\\,g' \ 620 --output "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).wix" \ 621 "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix" 622 $(SED) -n \ 623 -e '/<\?ln /d' \ 624 -e '/$(subst /,\\,$(PATH_ROOT))/p' \ 625 -e '/$(subst /,\\,$(PATH_ROOT))/q2' \ 626 "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).wix" 627 $(SED) -n \ 628 -e '/<\?ln /d' \ 629 -e 's/\\/\//g' \ 630 -e 's,^.*"\($(PATH_ROOT)/doc/[^"]*\)".*$$(DOLLAR),\1,p' \ 631 -e 's,^.*"\($(VBOX_PATH_WIN_INST_SRC)/Binary/[^"]*\)".*$$(DOLLAR),\1,p' \ 632 -e 's,^.*"\($(dir $(VBOX_WINDOWS_ICON_FILE))[^"]*\)".*$$(DOLLAR),\1,p' \ 633 --output "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).files" \ 634 "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wix" 635 set -xe && for file in `$(CAT_EXT) "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).files"`; \ 636 do $(CP_EXT) -f -- "$$(DOLLAR){file}" "$(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/"; done 637 # Create repack script for this step. 638 $(APPEND) -tn "$(VBOX_WIN_INST_REPACK_DIR)/1-compile-VirtualBox_$(lang).cmd" \ 639 'if ".%KBUILD_DEVTOOLS%" == "." echo KBUILD_DEVTOOLS is not set' \ 640 $(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%,\ 641 '$(VBOX_PATH_WIX)/candle.exe VirtualBox_$(lang).wix ^' \ 642 ' -ext $(VBOX_PATH_WIX)/WixUIExtension.dll ^' \ 643 ' -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll ^' \ 644 ' -out $$(@F) || exit /b1' \ 645 ) \ 646 '@echo Created: $$(@F)' 647 endif 648 # Generate wxi dependencies based on the sourceLineNumber references in the output. Add repack file list for cleanup. 565 649 $(QUIET)$(APPEND) -t '[email protected]' '$$@: \' 566 650 $(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep.xsl "$$@" >> "[email protected]" 567 651 $(QUIET)$(VBOX_XSLTPROC) $(VBOX_PATH_WIN_INST_SRC)/dep2.xsl "$$@" | sort | $(SED) '$!N; /^\(.*\)\n\1$$$$/!P; D' >> "[email protected]" 568 652 $(QUIET)$(APPEND) -n '[email protected]' '' '' 653 ifeq ($(lang),en_US) 654 $(QUIET)$(APPEND) -n '[email protected]' 'define VBOX_REPACK_FILES_VirtualBox_$(lang)' 655 $(QUIET)$(CAT_EXT) "$(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).files" >> '[email protected]' 656 $(QUIET)$(APPEND) -n '[email protected]' '' 'endef' 657 endif 658 659 $(eval BLDDIRS += $(VBOX_WIN_INST_REPACK_DIR)/files-VirtualBox_$(lang)/) 660 $(eval OTHER_CLEAN += $(VBOX_REPACK_FILES_VirtualBox_$(lang)) $(VBOX_WIN_INST_REPACK_DIR)/VirtualBox_$(lang).files) 569 661 endef 570 662 … … 577 669 define def_vbox_compile_msm 578 670 includedep $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj 579 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj: \ 671 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj \ 672 + $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wix \ 673 $(if-expr "$(lang)" != "en_US",, \ 674 + $(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).wix): \ 580 675 $(PATH_SUB_CURRENT)/VBoxMerge$(module).wxs \ 581 676 $(PATH_SUB_CURRENT)/VBoxMerge$(module).wxi \ … … 591 686 $(VBOX_MSI_DEPENDENCIES) \ 592 687 $(VBOX_VERSION_STAMP) \ 593 | $$$$(dir $$$$@) 594 $(QUIET)$(RM) -f $@688 | $$$$(dir $$$$@) $(VBOX_WIN_INST_REPACK_DIR)/ 689 $(QUIET)$(RM) -f -- "$@" "$(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wix" "$(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).wix" 595 690 $(REDIRECT) \ 596 691 -E 'PATH_OUT=$(subst /,\,$(PATH_OUT))' \ … … 653 748 -ext $(VBOX_PATH_WIX)/WixUIExtension.dll \ 654 749 -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \ 655 -out $$@ 750 -p$(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wix 751 $(VBOX_PATH_WIX)/candle.exe $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wix \ 752 -ext $(VBOX_PATH_WIX)/WixUIExtension.dll \ 753 -ext $(VBOX_PATH_WIX)/WixDifxAppExtension.dll \ 754 -out $$@ 755 ifeq ($(lang),en_US) 756 $(SED) -e 's,$(subst /,\\,$(PATH_OUT))\\bin,..\\bin,g' \ 757 -e 's,$(subst /,\\,$(PATH_ROOT))\\doc\\,files-VirtualBox_$(lang)\\,g' \ 758 -e 's,$(subst /,\\,$(VBOX_PATH_WIN_INST_SRC))\\Binary\\,files-VirtualBox_$(lang)\\,g' \ 759 -e 's,$(subst /,\\,$(dir $(VBOX_WINDOWS_ICON_FILE))),files-VirtualBox_$(lang)\\,g' \ 760 --output "$(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).wix" \ 761 "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VBoxMerge$(module)_$(lang).wix" 762 $(SED) -n \ 763 -e '/<\?ln /d' \ 764 -e '/$(subst /,\\,$(PATH_ROOT))/p' \ 765 -e '/$(subst /,\\,$(PATH_ROOT))/q2' \ 766 "$(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).wix" 767 $(SED) -n \ 768 -e '/<\?ln /d' \ 769 -e 's/\\/\//g' \ 770 -e 's,^.*"\($(PATH_ROOT)/doc/[^"]*\)".*$$(DOLLAR),\1,p' \ 771 -e 's,^.*"\($(VBOX_PATH_WIN_INST_SRC)/Binary/[^"]*\)".*$$(DOLLAR),\1,p' \ 772 -e 's,^.*"\($(dir $(VBOX_WINDOWS_ICON_FILE))[^"]*\)".*$$(DOLLAR),\1,p' \ 773 --output "$(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).files" \ 774 "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/VBoxMerge$(module)_$(lang).wix" 775 $(MKDIR) -p -- "$(VBOX_WIN_INST_REPACK_DIR)/files-VBoxMerge$(module)_$(lang)/" 776 set -xe && for file in `$(CAT_EXT) "$(VBOX_WIN_INST_REPACK_DIR)/VBoxMerge$(module)_$(lang).files"`; \ 777 do $(CP_EXT) -f -- "$$(DOLLAR){file}" "$(VBOX_WIN_INST_REPACK_DIR)/files-VBoxMerge$(module)_$(lang)/"; done 778 ## @todo repack script 779 endif 656 780 # Generate wxi dependencies based on the sourceLineNumber references in the output. 657 781 $(QUIET)$(APPEND) -t '[email protected]' '$$@: \' … … 738 862 # 739 863 define def_vbox_create_mst 740 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(lang).mst: \ 864 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(lang).mst \ 865 + $(VBOX_WIN_INST_REPACK_DIR)/$(lang).mst: \ 741 866 $(VBOX_WIN_INST_OUT_DIR)/en_US/$(PACKAGE_NAME_LANG)_en_US.msi \ 742 867 $(VBOX_WIN_INST_OUT_DIR)/$(lang)/VirtualBox_$(lang).wixobj \ … … 748 873 $(if-expr defined(VBOX_WITH_MSI_HACK),$(MsiHack_0_OUTDIR)/MsiHack.dll,) \ 749 874 $(if-expr defined(VBOX_WITH_MSI_HACK),$(MsiHack_0_OUTDIR)/MsiHackExtension.dll,) \ 750 | $$$$(dir $$$$@) 875 | $$$$(dir $$$$@) $(VBOX_WIN_INST_REPACK_DIR)/ 751 876 $(call MSG_L1,Creating language diff for $(lang)) 752 877 kmk_time $(VBOX_PATH_WIX)/light.exe -v -nologo \ … … 761 886 $(VBOX_PATH_WIX)/difxapp_$(if-expr "$(KBUILD_TARGET_ARCH)" == "x86",x86,x64).wixlib 762 887 $(REDIRECT) -C $$(@D) -- $(VBOX_PATH_MSITRAN) -g $$< $(PACKAGE_NAME_LANG)_$(lang).msi $(lang).mst 888 $(CP) -f -- "$(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(lang).mst" "$(VBOX_WIN_INST_REPACK_DIR)/$(lang).mst" 763 889 $(RM) -f -- $$(@D)/$(PACKAGE_NAME_LANG)_$(lang).msi \ 764 890 $$(@D)/$(PACKAGE_NAME_LANG)_$(lang).wixpdb \ … … 783 909 784 910 # The multilingual installer rule. 785 $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi: \ 911 $(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG).msi \ 912 + $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd: \ 786 913 $(VBOX_WIN_INST_OUT_DIR)/en_US/$(PACKAGE_NAME_LANG)_en_US.msi \ 787 914 $(foreach lang,$(filter-out en_US,$(VBOX_INSTALLER_LANGUAGES)),$(VBOX_WIN_INST_OUT_DIR)/$(lang)/$(lang).mst) 788 915 $(call MSG_L1,Creating final multilingual MSI) 789 $(QUIET)$(RM) -f $(wildcard $(@D)/$(PACKAGE_BASE)-r*.msi) 916 $(QUIET)$(RM) -f -- \ 917 $(wildcard $(@D)/$(PACKAGE_BASE)-r*.msi $(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_BASE)-r*.cmd ) 790 918 $(CP) -f -- "$<" "$@" 791 919 … … 797 925 $(REDIRECT) -C $(@D) -- cscript.exe /nologo $(VBOX_PATH_WISUMINFO) $@ $(VBOX_INS_PROD_LANG) 798 926 $(call VBOX_SIGN_FILE_FN,$@,$(VBOX_PRODUCT) $(VBOX_VERSION_STRING)r$(VBOX_SVN_REV) ($(KBUILD_TARGET_ARCH)),,,disable-dual-signing) 927 928 # Create repack script for this step. 929 $(APPEND) -nt "$(VBOX_WIN_INST_REPACK_DIR)/3-multilingual-$(PACKAGE_NAME_LANG).cmd" \ 930 'if ".%KBUILD_DEVTOOLS%" == "." echo KBUILD_DEVTOOLS is not set' \ 931 'if ".%KBUILD_BIN_PATH%" == "." echo KBUILD_BIN_PATH is not set' \ 932 'copy /y "$(<F)" "$(@F)" || exit /b1' \ 933 $(subst $(KBUILD_BIN_PATH),%KBUILD_BIN_PATH%,$(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%,\ 934 $(foreach lang,$(filter-out en_US,$(VBOX_INSTALLER_LANGUAGES)), \ 935 '$(VBOX_PATH_MSIDB) -d $(@F) -r $(lang).mst || exit /b1' \ 936 'cscript.exe /nologo $(VBOX_PATH_WISUBSTG) $(@F) $(lang).mst $(VBOX_BRAND_$(lang)_LANG_ID) || exit /b1') \ 937 'cscript.exe /nologo $(VBOX_PATH_WISUBSTG) $(@F) || exit /b1' \ 938 'cscript.exe /nologo $(VBOX_PATH_WISUMINFO) $(@F) $(VBOX_INS_PROD_LANG) || exit /b1' \ 939 '( $(call VBOX_SIGN_FILE_FN,$(@F),$(VBOX_PRODUCT) $(VBOX_VERSION_STRING)r$(VBOX_SVN_REV) ($(KBUILD_TARGET_ARCH)),,,disable-dual-signing,&&) ) || exit /b1' \ 940 ) ) \ 941 'copy /y "$(@F)" "$(notdir $(PACKAGE_NAME_FINAL))" || exit /b1' \ 942 '@echo Create multilanguage MSI: $(@F)' 943 799 944 800 945 # Copy multilingual installer to bin. … … 811 956 # need to do this once; so do it on x86 only. 812 957 # 813 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL): \ 958 $(PATH_STAGE_BIN)/$(PACKAGE_NAME_MULTIARCH_FINAL) \ 959 + $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd: \ 814 960 $(PATH_MULTIARCH_TEMP)/$(PACKAGE_NAME_MULTIARCH.x86) \ 815 961 $(PATH_MULTIARCH_TEMP)/$(PACKAGE_NAME_MULTIARCH.amd64) \ … … 817 963 $$(VBoxStubBld_1_TARGET) 818 964 $(call MSG_L1,Building Windows combined package) 965 $(QUIET)$(RM) -f -- $(wildcard $(subst r$(VBOX_SVN_REV),r*, \ 966 $@ \ 967 $(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(PACKAGE_NAME_MULTIARCH_FINAL).cmd )) 819 968 $(if-expr defined(VBOX_WITH_MSM_INSTALL),,$(call VBOX_SIGN_FILE_FN,$(PACKAGE_NAME_MULTIARCH_COMMONCAB))) 820 969 $(REDIRECT) -C $(@D) -- \ … … 826 975 $(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $@ 827 976 $(call VBOX_SIGN_FILE_FN,$@) 977 # Create repack script for this step. 978 $(APPEND) -nt "$(VBOX_WIN_INST_REPACK_DIR)/4-multiarch-$(@F).cmd" \ 979 'if ".%KBUILD_DEVTOOLS%" == "." echo KBUILD_DEVTOOLS is not set' \ 980 'if ".%KBUILD_BIN_PATH%" == "." echo KBUILD_BIN_PATH is not set' \ 981 $(subst $(KBUILD_BIN_PATH),%KBUILD_BIN_PATH%,$(subst $(KBUILD_DEVTOOLS),%KBUILD_DEVTOOLS%, \ 982 $(if-expr defined(VBOX_WITH_MSM_INSTALL), \ 983 ,'( $(call VBOX_SIGN_FILE_FN,../../../win.amd64/$(KBUILD_TYPE)/repack/$(notdir $(PACKAGE_NAME_MULTIARCH_COMMONCAB)),,,,,&&) ) || exit /b1') \ 984 '..\bin\VBoxStubBld.exe ^' \ 985 ' -out $(@F) ^' \ 986 ' -target-x86 $(PACKAGE_NAME_MULTIARCH.x86) ^' \ 987 ' -target-amd64 ../../../win.amd64/$(KBUILD_TYPE)/repack/$(PACKAGE_NAME_MULTIARCH.amd64) ^' \ 988 $(if-expr defined(VBOX_WITH_MSM_INSTALL),\ 989 ,' -target-all ../../../win.amd64/$(KBUILD_TYPE)/repack/$(notdir $(PACKAGE_NAME_MULTIARCH_COMMONCAB)) ^' ) \ 990 ' -stub ../bin/VBoxStub.exe || exit /b1' \ 991 '$(VBOX_VCC_EDITBIN) /IntegrityCheck:NO $(@F) || exit /b1' \ 992 '( $(call VBOX_SIGN_FILE_FN,$(@F),,,,,&&) ) || exit /b1' \ 993 ) ) \ 994 '@echo Create multiarch EXE: $(@F)' 828 995 endif 829 996
Note:
See TracChangeset
for help on using the changeset viewer.