Last active
May 6, 2021 16:02
-
-
Save y0ny0ns0n/c4e21f343ae013c9924f97c3e77452d7 to your computer and use it in GitHub Desktop.
VirtualBox 6.1.22( VirtualBox-6.1.22.tar.bz2 ) patch for windows build
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Config.kmk b/Config.kmk | |
index 687c1c2..9eaf172 100644 | |
--- a/Config.kmk | |
+++ b/Config.kmk | |
@@ -26,6 +26,12 @@ VBOX_ROOT_CONFIG_KMK_INCLUDED = 1 | |
# kBuild stuff | |
# | |
+if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) | |
+ VBOX_INTEGRITY_CHECK := /IntegrityCheck | |
+else | |
+ VBOX_INTEGRITY_CHECK := /IntegrityCheck:NO | |
+endif | |
+ | |
# Build with umask 022 (requires kBuild r2556 to work, harmless on earlier). | |
$(set-umask 022) | |
@@ -3933,7 +3939,7 @@ ifndef $(1)_VBOX_RE_SIGNED_$(n) | |
$(call MSG_TOOL,SIGNTOOL,,$<,$@) | |
$(RM) -f -- "$@" | |
$(CP) -- "$<" "$@" | |
- $(VBOX_VCC_EDITBIN) /LargeAddressAware /DynamicBase /NxCompat /Release /IntegrityCheck \ | |
+ $(VBOX_VCC_EDITBIN) /LargeAddressAware /DynamicBase /NxCompat /Release $(VBOX_INTEGRITY_CHECK) \ | |
/Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ | |
"$@" | |
$(call VBOX_SIGN_IMAGE_FN,$@) | |
@@ -4330,7 +4336,7 @@ ifdef VBOX_WITH_RAW_MODE | |
-Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Exports -NoD $(VBOX_VCC_LD_WERR) -Release -Debug -Opt:Ref -Opt:Icf \ | |
-Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ | |
-Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com | |
- ifdef VBOX_SIGNING_MODE | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) | |
TEMPLATE_VBoxRc_LDFLAGS += -IntegrityCheck | |
endif | |
TEMPLATE_VBoxRc_LIBS = \ | |
@@ -4475,7 +4481,7 @@ TEMPLATE_VBoxR0_LDFLAGS = -Ignore:4197 \ | |
ifdef VBOX_WITH_DTRACE_R0 | |
TEMPLATE_VBoxR0_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj | |
endif | |
- ifdef VBOX_SIGNING_MODE | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) | |
TEMPLATE_VBoxR0_LDFLAGS += -IntegrityCheck | |
endif | |
TEMPLATE_VBoxR0_LIBS = \ | |
@@ -4623,7 +4629,7 @@ ifeq ($(KBUILD_TARGET),win) | |
ifdef VBOX_WITH_DTRACE_R0DRV | |
TEMPLATE_VBOXR0DRV_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj | |
endif | |
- ifdef VBOX_SIGNING_MODE | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) | |
TEMPLATE_VBOXR0DRV_LDFLAGS += -IntegrityCheck | |
endif | |
TEMPLATE_VBOXR0DRV_ORDERDEPS = $(VBOX_SIGN_DRIVER_ORDERDEPS) | |
@@ -5150,7 +5156,7 @@ ifeq ($(KBUILD_TARGET),win) | |
ifdef VBOX_WITH_DTRACE_R3 | |
TEMPLATE_VBOXR3EXE_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj | |
endif | |
- if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) && defined(VBOX_WITH_HARDENING) | |
TEMPLATE_VBOXR3EXE_LDFLAGS += -IntegrityCheck | |
endif | |
@@ -6062,7 +6068,7 @@ ifeq ($(KBUILD_TARGET),win) | |
/DISALLOWLIB:libcmtd.lib \ | |
/DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE_N).lib \ | |
/DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE_N).lib | |
- if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) && defined(VBOX_WITH_HARDENING) | |
TEMPLATE_VBOXMAINEXE_LDFLAGS += -IntegrityCheck | |
endif | |
ifdef VBOX_WITH_DTRACE_R3_MAIN | |
@@ -6654,7 +6660,7 @@ ifdef VBOX_WITH_QTGUI | |
/NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \ | |
/Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ | |
/STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com | |
- if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) | |
+ if defined(VBOX_SIGNING_MODE) && defined(VBOX_CROSS_CERTIFICATE_FILE) && defined(VBOX_WITH_HARDENING) | |
TEMPLATE_VBOXQTGUIEXE_LDFLAGS += -IntegrityCheck | |
endif | |
TEMPLATE_VBOXQTGUIEXE_SDKS += $(VBOX_WINPSDK) | |
diff --git a/configure.vbs b/configure.vbs | |
index 922bae8..033e354 100644 | |
--- a/configure.vbs | |
+++ b/configure.vbs | |
@@ -1095,7 +1095,7 @@ sub CheckForVisualCPP(strOptVC, strOptVCCommon, blnOptVCExpressEdition) | |
if (strPathVCCommon <> "") Then | |
EnvAppend "PATH", ";" & strPathVCCommon & "/IDE" | |
end if | |
- if Shell(DosSlashes(strPathVC & "/bin/cl.exe"), True) <> 0 then | |
+ if Shell(DosSlashes(strPathVC & "/bin/cl.exe") & " /?", True) <> 0 then | |
MsgError "Executing '" & strClExe & "' (which we believe to be the Visual C++ compiler driver) failed." | |
exit sub | |
end if | |
@@ -1986,7 +1986,6 @@ function CheckForCurlSub(strPathCurl) | |
CheckForCurlSub = False | |
LogPrint "trying: strPathCurl=" & strPathCurl | |
if LogFileExists(strPathCurl, "include/curl/curl.h") _ | |
- And LogFindFile(strPathCurl, "libcurl.dll") <> "" _ | |
And LogFindFile(strPathCurl, "libcurl.lib") <> "" _ | |
then | |
CheckForCurlSub = True | |
@@ -2069,13 +2068,84 @@ function CheckForPython(strPathPython) | |
LogPrint "trying: strPathPython=" & strPathPython | |
if LogFileExists(strPathPython, "python.exe") then | |
- CfgPrint "VBOX_BLD_PYTHON := " & strPathPython & "\python.exe" | |
+ CfgPrint "VBOX_BLD_PYTHON := " & strPathPython & "/python.exe" | |
CheckForPython = True | |
end if | |
PrintResult "Python ", strPathPython | |
end function | |
+'' | |
+' Checks for libvpx | |
+sub CheckForVpx(strOptVpx) | |
+ dim strPathVpx, str | |
+ strVpx = "libvpx" | |
+ PrintHdr strVpx | |
+ | |
+ if strOptVpx = "" then | |
+ MsgError "Invalid path specified!" | |
+ exit sub | |
+ end if | |
+ | |
+ if g_strTargetArch = "amd64" then | |
+ strVsBuildArch = "x64" | |
+ else | |
+ strVsBuildArch = "Win32" | |
+ end if | |
+ strLibPathVpx = "lib/" & strVsBuildArch & "/vpxmd.lib" | |
+ | |
+ strPathVpx = "" | |
+ if LogFileExists(strOptVpx, "include/vpx/vpx_encoder.h") _ | |
+ And LogFileExists(strOptVpx, strLibPathVpx) _ | |
+ then | |
+ strPathVpx = UnixSlashes(PathAbs(strOptVpx)) | |
+ CfgPrint "SDK_VBOX_VPX_INCS := " & strPathVpx & "/include" | |
+ CfgPrint "SDK_VBOX_VPX_LIBS := " & strPathVpx & "/" & strLibPathVpx | |
+ else | |
+ MsgError "Can't locate " & strVpx & ". " _ | |
+ & "Please consult the configure.log and the build requirements." | |
+ exit sub | |
+ end if | |
+ | |
+ PrintResult strVpx, strPathVpx | |
+end sub | |
+ | |
+ | |
+ | |
+'' | |
+' Checks for libopus | |
+sub CheckForOpus(strOptOpus) | |
+ dim strPathOpus, str | |
+ strOpus = "libopus" | |
+ PrintHdr strOpus | |
+ | |
+ if strOptOpus = "" then | |
+ MsgError "Invalid path specified!" | |
+ exit sub | |
+ end if | |
+ | |
+ if g_strTargetArch = "amd64" then | |
+ strVsBuildArch = "x64" | |
+ else | |
+ strVsBuildArch = "Win32" | |
+ end if | |
+ strLibPathOpus = "lib/" & strVsBuildArch & "/opus.lib" | |
+ | |
+ strPathOpus = "" | |
+ if LogFileExists(strOptOpus, "include/opus.h") _ | |
+ And LogFileExists(strOptOpus, strLibPathOpus) _ | |
+ then | |
+ strPathOpus = UnixSlashes(PathAbs(strOptOpus)) | |
+ CfgPrint "SDK_VBOX_OPUS_INCS := " & strPathOpus & "/include" | |
+ CfgPrint "SDK_VBOX_OPUS_LIBS := " & strPathOpus & "/" & strLibPathOpus | |
+ else | |
+ MsgError "Can't locate " & strOpus & ". " _ | |
+ & "Please consult the configure.log and the build requirements." | |
+ exit sub | |
+ end if | |
+ | |
+ PrintResult strOpus, strPathOpus | |
+end sub | |
'' | |
' Show usage. | |
@@ -2111,6 +2181,8 @@ sub usage | |
Print " --with-libcurl=PATH " | |
Print " --with-libcurl32=PATH (only for 64-bit targets)" | |
Print " --with-python=PATH " | |
+ Print " --with-libvpx=PATH " | |
+ Print " --with-libopus=PATH " | |
end sub | |
@@ -2148,6 +2220,8 @@ Sub Main | |
strOptCurl = "" | |
strOptCurl32 = "" | |
strOptPython = "" | |
+ strOptVpx = "" | |
+ strOptOpus = "" | |
blnOptDisableCOM = False | |
blnOptDisableUDPTunnel = False | |
blnOptDisableSDL = False | |
@@ -2203,6 +2277,10 @@ Sub Main | |
strOptCurl32 = strPath | |
case "--with-python" | |
strOptPython = strPath | |
+ case "--with-libvpx" | |
+ strOptVpx = strPath | |
+ case "--with-libopus" | |
+ strOptOpus = strPath | |
case "--disable-com" | |
blnOptDisableCOM = True | |
case "--enable-com" | |
@@ -2292,6 +2370,10 @@ Sub Main | |
if (strOptPython <> "") then | |
CheckForPython strOptPython | |
end if | |
+ | |
+ CheckForVpx strOptVpx | |
+ CheckForOpus strOptOpus | |
+ | |
if g_blnInternalMode then | |
EnvPrint "call " & g_strPathDev & "/env.cmd %1 %2 %3 %4 %5 %6 %7 %8 %9" | |
end if | |
diff --git a/doc/manual/Config.kmk b/doc/manual/Config.kmk | |
index befee54..a0d1338 100644 | |
--- a/doc/manual/Config.kmk | |
+++ b/doc/manual/Config.kmk | |
@@ -192,6 +192,8 @@ ifdef VBOX_XML_CATALOG | |
# quite correctly with file:////, doing incorrect filename transformations) | |
# and on Windows (where the absolute path starts with a drive letter). | |
VBOX_FILE_URL_MAYBE_SLASH = $(if $(eq $(KBUILD_HOST),win),/,) | |
+ VBOX_PATH_MANUAL_SRC_SLASHED = $(subst :/,:///,$(VBOX_PATH_MANUAL_SRC)) | |
+ VBOX_PATH_MANUAL_OUTBASE_SLASHED = $(subst :/,:///,$(VBOX_PATH_MANUAL_OUTBASE)) | |
# | |
# To avoid network I/O for fetching DTDs, we generate catalogs mapping the public | |
# entity IDs to local files. (Obviously, only done when we have local files.) | |
@@ -210,9 +212,13 @@ ifdef VBOX_XML_CATALOG | |
' <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \ | |
' <delegateURI uriStartString="http://docbook.org/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \ | |
' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
+ ' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_SRC_SLASHED)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
+ ' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_OUTBASE_SLASHED)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
+ ' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_SRC_SLASHED)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
+ ' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_OUTBASE_SLASHED)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \ | |
'</catalog>' | |
@@ -264,9 +270,12 @@ ifdef VBOX_XML_CATALOG | |
'<?xml version="1.0"?>' \ | |
'<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \ | |
'<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \ | |
- ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-accessibility-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-accessibility-en.xml"/>' \ | |
- ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-diversity.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-diversity.xml"/>' \ | |
- ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-support-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-support-en.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-accessibility-en.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-accessibility-en.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC_SLASHED)/common/oracle-accessibility-en.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-accessibility-en.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-diversity.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-diversity.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC_SLASHED)/common/oracle-diversity.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-diversity.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-support-en.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-support-en.xml"/>' \ | |
+ ' <system systemId="$(VBOX_PATH_MANUAL_SRC_SLASHED)/common/oracle-support-en.xml" uri="$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-support-en.xml"/>' \ | |
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/user_ChangeLogImpl.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml"/>' \ | |
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl"/>' \ | |
$(foreach x,user_VBoxManage_CommandsOverview.xml user_isomakercmd-man.xml $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES) man_VBoxHeadless.xml man_vboximg-mount.xml)\ | |
diff --git a/doc/manual/Makefile.kmk b/doc/manual/Makefile.kmk | |
index 2b154a8..e69de29 100644 | |
--- a/doc/manual/Makefile.kmk | |
+++ b/doc/manual/Makefile.kmk | |
@@ -1,897 +0,0 @@ | |
-# $Id: Makefile.kmk $ | |
-## @file | |
-# Sub-Makefile for the VirtualBox User Manual, SDK reference and other manuals. | |
-# | |
- | |
-# | |
-# Copyright (C) 2006-2020 Oracle Corporation | |
-# | |
-# This file is part of VirtualBox Open Source Edition (OSE), as | |
-# available from http://www.virtualbox.org. This file is free software; | |
-# you can redistribute it and/or modify it under the terms of the GNU | |
-# General Public License (GPL) as published by the Free Software | |
-# Foundation, in version 2 as it comes in the "COPYING" file of the | |
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the | |
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. | |
-# | |
- | |
-# | |
-# This slightly messy makefile transforms the DocBook XML source for the | |
-# user manual into presentation output. We support two targets: | |
-# | |
-# -- UserManual.pdf, generated by LaTex | |
-# | |
-# -- VirtualBox.chm | |
-# | |
-# Both files end up in PATH_STAGE_BIN. | |
-# | |
-# Both targets indirectly depend on the XML files in this directory; | |
-# "indirectly" because we first copy them to PATH_TARGET and hack them | |
-# up a bit for variable substitution and such (see below). | |
-# The toolchains are roughly like this: | |
-# | |
-# -- PDF file via Apache FOP: pre-process the XML files in PATH_TARGET, | |
-# then create a .FO file (another XML format for "formatted objects") | |
-# via xsltproc, then feed the .FO file to Apache FOP to create the PDF. | |
-# | |
-# -- PDF file via LaTeX: pre-process the XML files in PATH_TARGET, then | |
-# run our custom "dblatex" perl script on UserManual.xml, which parses | |
-# the XML (using the Perl SAX parsers) and dumps a matching LaTeX file | |
-# to UserManual.tex. This is then regularly processed by pdflatex to | |
-# generate PDF. | |
-# | |
-# -- CHM file: again, pre-process the XML files in PATH_TARGET, then use | |
-# xsltproc to create a .HHP file for the Microsoft Help Compiler, then | |
-# feed that file to it. | |
-# | |
- | |
-SUB_DEPTH = ../.. | |
-include $(KBUILD_PATH)/subheader.kmk | |
- | |
-ifndef VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED | |
- include $(PATH_SUB_CURRENT)/Config.kmk | |
-endif | |
- | |
- | |
-# | |
-# Globals | |
-# | |
- | |
-# Error out if someone tries to override old globals. | |
-ifdef HTMLHELPOPTS | |
- $(error HTMLHELPOPTS was renamed to VBOX_HTMLHELP_OPTS!) | |
-endif | |
-ifdef DOCBOOKPATH | |
- $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!) | |
-endif | |
-ifdef DOCBOOKPATH | |
- $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!) | |
-endif | |
-ifdef XML_CATALOG | |
- $(error XML_CATALOG was renamed to VBOX_XML_CATALOG!) | |
-endif | |
-ifdef XML_CATALOG_DOCBOOK | |
- $(error XML_CATALOG_DOCBOOK was renamed to VBOX_XML_CATALOG_DOCBOOK!) | |
-endif | |
-ifdef VBOXMANAGEPATH | |
- $(error VBOXMANAGEPATH was renamed to VBOXMANAGEHELP_PATH!) | |
-endif | |
-ifdef PDFLATEX_INTERACTION | |
- $(error PDFLATEX_INTERACTION was renamed to VBOX_PDFLATEX_INTERACTION!) | |
-endif | |
-ifdef PDFLATEX | |
- $(error PDFLATEX was renamed to VBOX_PDFLATEX_CMD!) | |
-endif | |
-ifdef HHC | |
- $(error HHC was renamed to VBOX_HHC!) | |
-endif | |
- | |
- | |
- | |
-VBOXMANAGEHELP_PATH ?= $(PATH_STAGE_BIN)/VBoxManageHelp$(SUFF_EXE) | |
- | |
- # VBOX_PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures | |
- # without catting the log a million times. | |
-VBOX_PDFLATEX_INTERACTION ?= batchmode | |
-ifeq ($(KBUILD_HOST),win) | |
- ifndef VBOX_PDFLATEX | |
- VBOX_PDFLATEX := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/miktex-portable/*/miktex/bin/pdflatex.exe))) | |
- ifneq ($(VBOX_PDFLATEX),) | |
- VBOX_PDFLATEX_CMD = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION) | |
- endif | |
- endif | |
- ifndef VBOX_PDFLATEX | |
- # Tell MiKTeX to automatically download packages if system wide install. | |
- VBOX_PDFLATEX := pdflatex | |
- VBOX_PDFLATEX_CMD = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION) --enable-installer | |
- endif | |
-else | |
- VBOX_PDFLATEX ?= pdflatex | |
- VBOX_PDFLATEX_HALT = $(shell ( $(VBOX_PDFLATEX) -version | head -1 | grep 141592 > /dev/null ) && echo -halt-on-error ) | |
- VBOX_PDFLATEX_CMD = pdflatex $(VBOX_PDFLATEX_HALT) -interaction $(VBOX_PDFLATEX_INTERACTION) | |
-endif | |
- | |
-# Windows HTML Help Workshop compiler (stupid thing always returns an error!) | |
-VBOX_HHC = -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe | |
- | |
- | |
-# Additional xsltproc options when generating | |
-VBOX_HTMLHELP_OPTS ?= | |
- | |
-# SDK related globals. | |
-VBOX_MANUAL_APIREF_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml | |
-VBOX_DOC_XIDL_SRC = $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl | |
-VBOX_DOC_XIDL_SRC_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.xidl.tmp | |
- | |
- | |
-# | |
-# Targets | |
-# | |
- | |
-BLDDIRS += $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/, $(VBOX_MANUAL_LANGUAGES)) | |
- | |
-if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DOCS) || defined(VBOX_ONLY_SDK)) | |
- if defined(VBOX_ONLY_SDK) || defined(VBOX_WITH_DOCS_SDKREF) | |
- INSTALLS += VBox-docs-sdkref | |
- endif | |
- | |
- ifdef VBOX_WITH_DOCS_HTML | |
- INSTALLS += VBox-docs-usermanual-html | |
- VBOX_PATH_BIN_HTML = $(PATH_STAGE_BIN)/UserManual-html.zip | |
- else # Do not build html. | |
- VBOX_PATH_BIN_HTML = | |
- endif | |
- | |
- ifdef VBOX_WITH_DOCS_CHM | |
- INSTALLS += VBox-docs-usermanual-chm | |
- VBOX_PATH_BIN_CHM = $(PATH_STAGE_BIN)/VirtualBox.chm | |
- else # Do not build chm. | |
- VBOX_PATH_BIN_CHM = | |
- endif | |
- | |
- ifndef VBOX_ONLY_SDK | |
- VBOX_MANUAL_PACK += \ | |
- $(PATH_STAGE_BIN)/UserManual.pdf \ | |
- $(VBOX_PATH_BIN_HTML) \ | |
- $(VBOX_PATH_BIN_CHM) | |
- INSTALLS += VBox-docs-usermanual | |
- | |
- ifdef VBOX_WITH_DOCS_TRANSLATIONS | |
- INSTALLS += VBox-docs-usermanual-l10n | |
- VBOX_MANUAL_PACK += \ | |
- $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/UserManual_$(f).pdf) | |
- ifdef VBOX_WITH_DOCS_CHM | |
- INSTALLS += VBox-docs-usermanual-l10n-chm | |
- VBOX_MANUAL_PACK += \ | |
- $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm) | |
- endif | |
- endif | |
- endif # !VBOX_ONLY_SDK | |
- | |
- ifdef VBOX_WITH_DOCS_ACCESSIBILITY | |
- INSTALLS += VBox-docs-accessibility | |
- INSTALLS += VBox-docs-accessibility-html | |
- endif | |
- | |
- ifdef VBOX_ONLY_DOCS | |
- PACKING += $(PATH_STAGE_BIN)/VBoxDocumentation.zip | |
- endif | |
- | |
- ifdef VBOX_WITH_DOCS_TRANSLATIONS | |
- VBOX_MANUAL_LANGUAGES += $(VBOX_MANUAL_ADD_LANGUAGES) | |
- endif | |
- | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES), \ | |
- $(eval VBOX_MANUAL_XML_FILES_GENERATED_$$(lang) := \ | |
- $$(addprefix $$(VBOX_PATH_MANUAL_OUTBASE)/$$(lang)/user_,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES))) \ | |
- $$(addprefix $$(VBOX_PATH_MANUAL_OUTBASE)/overview_,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES))) \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/user_VBoxManage_CommandsOverview.xml \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/$$(lang)/user_man_VBoxHeadless.xml \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/$$(lang)/user_man_vboximg-mount.xml \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/$$(lang)/user_isomakercmd-man.xml)) | |
- | |
- VBOX_SDKREF_XML_FILES = \ | |
- SDKRef.xml | |
- | |
- VBOX_ACCESSIBILITY_XML_FILES = \ | |
- Accessibility.xml | |
- | |
- # Wildcard the images path for every supported language | |
- $(foreach f,$(VBOX_MANUAL_LANGUAGES), \ | |
- $(eval VBOX_MANUAL_PNG_FILES_$$(f) := $$(patsubst $$(VBOX_PATH_MANUAL_SRC)/$$(f)/%,%,$$(wildcard $$(VBOX_PATH_MANUAL_SRC)/$$(f)/images/*.png)))) | |
- | |
- VBOX_MANUAL_TEX_UNICODE_FILES = \ | |
- $(wildcard $(VBOX_PATH_MANUAL_SRC)/texfiles/unicode/*) | |
- | |
- VBOX_MANUAL_LATEX_FILES_TARGET = \ | |
- $(addprefix UserManual.,aux log out toc tex) | |
- | |
- VBOX_SDKREF_LATEX_FILES_TARGET = \ | |
- $(addprefix SDKRef.,aux log out toc tex) | |
- | |
- VBOX_ACCESSIBILITY_LATEX_FILES_TARGET = \ | |
- $(addprefix Accessibility.,aux log out toc tex) | |
- | |
- BLDDIRS += \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/,\ | |
- $(addsuffix /images, $(VBOX_MANUAL_LANGUAGES)) \ | |
- $(addsuffix /html-single, $(VBOX_MANUAL_LANGUAGES)) \ | |
- $(addsuffix /html-chunks, $(VBOX_MANUAL_LANGUAGES)) \ | |
- $(addsuffix /HTMLHelp, $(VBOX_MANUAL_LANGUAGES)) \ | |
- $(addsuffix /HTMLHelp/images, $(VBOX_MANUAL_LANGUAGES)) \ | |
- ) | |
- | |
- # Explicit cleaning has some overlap with default cleaning rules, since this | |
- # Makefile is using very complex conditionals for selectively creating | |
- # specific files, and not everyone remembers to use the same with "kmk clean". | |
- OTHER_CLEAN += \ | |
- $(VBOX_XML_CATALOG) \ | |
- $(VBOX_XML_CATALOG_DOCBOOK) \ | |
- $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) \ | |
- $(VBOX_XML_XREF_TO_TEXT) \ | |
- $(VBOX_XML_XREF_TO_TEXT).cat \ | |
- $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/, \ | |
- $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \ | |
- $(VBOX_MANUAL_XML_REFENTRY_FILES) \ | |
- $(patsubst man_%,%.1,$(basename $(VBOX_MANUAL_XML_REFENTRY_FILES))) \ | |
- man_VBoxHeadless.xml \ | |
- user_man_VBoxHeadless.xml \ | |
- man_vboximg-mount.xml \ | |
- user_man_vboximg-mount.xml \ | |
- isomakercmd-man.xml \ | |
- user_isomakercmd-man.xml \ | |
- $(VBOX_MANUAL_LATEX_FILES_TARGET) \ | |
- $(VBOX_MANUAL_PNG_FILES_$(lang)) \ | |
- $(notdir $(VBOX_MANUAL_TEX_UNICODE_FILES)) \ | |
- $(addprefix HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(lang))) \ | |
- html-single/UserManual.html \ | |
- $(addprefix HTMLHelp/, index.html go01.html) \ | |
- $(addprefix html-chunks/, index.html go01.html) \ | |
- $(foreach n,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 \ | |
- ,html-chunks/ch$(n).html \ | |
- html-chunks/re$(n).html \ | |
- HTMLHelp/ch$(n).html \ | |
- HTMLHelp/re$(n).html \ | |
- $(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,HTMLHelp/ch$(n)s$(d2)$(d1).html)) ) \ | |
- $(foreach n,a b c \ | |
- ,html-chunks/ap$(n).html \ | |
- HTMLHelp/ap$(n).html \ | |
- $(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,HTMLHelp/ap$(n)s$(s).html) ) \ | |
- $(foreach n,01 02 03 04 05 \ | |
- ,html-chunks/pr$(n).html \ | |
- HTMLHelp/pr$(n).html \ | |
- $(foreach s,01 02 03 04 05 06 07 08,HTMLHelp/pr$(n)s$(s).html) ) \ | |
- HTMLHelp/toc.hhc \ | |
- HTMLHelp/htmlhelp.hhp \ | |
- UserManual.pdf \ | |
- VirtualBox.chm \ | |
- ChangeLog.html \ | |
- validatemanual.run \ | |
- validateaccessibility.run \ | |
- validatesdkref.run \ | |
- )) \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/overview_,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/user_VBoxManage_CommandsOverview.xml \ | |
- $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/UserManual_$(f).pdf) \ | |
- $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm) \ | |
- $(PATH_STAGE_BIN)/UserManual.pdf \ | |
- $(PATH_STAGE_BIN)/VirtualBox.chm \ | |
- \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/, \ | |
- $(VBOX_SDKREF_LATEX_FILES_TARGET) \ | |
- SDKRef.pdf \ | |
- ) \ | |
- $(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf \ | |
- \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/, \ | |
- $(VBOX_ACCESSIBILITY_LATEX_FILES_TARGET) \ | |
- html-single/Accessibility.html \ | |
- Accessibility.pdf \ | |
- ) \ | |
- $(PATH_STAGE_BIN)/Accessibility.html \ | |
- $(PATH_STAGE_BIN)/Accessibility.pdf \ | |
- \ | |
- $(VBOX_DOC_XIDL_SRC_TMP) \ | |
- $(VBOX_MANUAL_APIREF_TMP) | |
- | |
-endif # if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DOCS) || defined(VBOX_ONLY_SDK)) | |
- | |
-# | |
-# target for installing UserManual.pdf | |
-# | |
-VBox-docs-usermanual_INST = $(INST_BIN) | |
-VBox-docs-usermanual_MODE = a+r,u+w | |
-VBox-docs-usermanual_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.pdf | |
- | |
-# | |
-# target for installing translated UserManual_*.pdf | |
-# | |
-VBox-docs-usermanual-l10n_INST = $(INST_BIN) | |
-VBox-docs-usermanual-l10n_MODE = a+r,u+w | |
-VBox-docs-usermanual-l10n_SOURCES = $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$(f)/UserManual.pdf=>UserManual_$(f).pdf) | |
- | |
-# | |
-# target for installing the chunked HTML docs | |
-# | |
-VBox-docs-usermanual-html_INST = $(INST_BIN) | |
-VBox-docs-usermanual-html_MODE = a+r,u+w | |
-VBox-docs-usermanual-html_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip=>UserManual-html.zip | |
- | |
-# | |
-# target for installing VirtualBox.chm | |
-# | |
-VBox-docs-usermanual-chm_INST = $(INST_BIN) | |
-VBox-docs-usermanual-chm_MODE = a+r,u+w | |
-VBox-docs-usermanual-chm_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.chm | |
- | |
-# | |
-# target for installing translated VirtualBox_*.chm | |
-# | |
-VBox-docs-usermanual-l10n-chm_INST = $(INST_BIN) | |
-VBox-docs-usermanual-l10n-chm_MODE = a+r,u+w | |
-VBox-docs-usermanual-l10n-chm_SOURCES = $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$(f)/VirtualBox.chm=>VirtualBox_$(f).chm) | |
- | |
-# | |
-# target for installing SDKRef.pdf | |
-# | |
-VBox-docs-sdkref_INST = $(INST_SDK)docs/ | |
-VBox-docs-sdkref_MODE = a+r,u+w | |
-VBox-docs-sdkref_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.pdf | |
- | |
-# | |
-# target for installing Accessibility.pdf | |
-# | |
-VBox-docs-accessibility_INST = $(INST_BIN) | |
-VBox-docs-accessibility_MODE = a+r,u+w | |
-VBox-docs-accessibility_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.pdf | |
- | |
-# | |
-# target for installing Accessibility.html | |
-# | |
-VBox-docs-accessibility-html_INST = $(INST_BIN) | |
-VBox-docs-accessibility-html_MODE = a+r,u+w | |
-VBox-docs-accessibility-html_SOURCES = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html | |
- | |
- | |
- | |
-if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DOCS) || defined(VBOX_ONLY_SDK)) | |
- | |
-## | |
-# Morph man pages into manual sections. | |
-# $(evalcall2 def_vbox_refentry_to_user_sect1) | |
-# @param 1 Language. | |
-# @param 2 the refentry xml base file name. | |
-# @param 3 the full refentry xml file path. | |
-define def_vbox_refentry_to_user_sect1 | |
-$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/user_$(2): $(3) \ | |
- $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@) | |
- $$(call MSG_TOOL,xsltproc $$(notdir $$(filter %.xsl,$$^)),,$$(filter %.xml,$$^),$$@) | |
- $$(QUIET)$$(RM) -f "$$@" | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl $$< | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \ | |
-man_VBoxHeadless.xml \ | |
-man_vboximg-mount.xml \ | |
-, $(evalcall2 def_vbox_refentry_to_user_sect1,$(lang),$(file),$(VBOX_PATH_MANUAL_SRC)/$(lang)/$(file)))) | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES) \ | |
-,$(evalcall2 def_vbox_refentry_to_user_sect1,$(lang),isomakercmd-man.xml,$(PATH_ROOT)/src/VBox/Runtime/common/fs/isomakercmd-man.xml)) | |
- | |
- | |
-# Generates the VBoxManage command overview include file (shared between | |
-# languages) from the refsynopsisdiv section of the man pages. | |
-$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/overview_,$(VBOX_MANUAL_XML_REFENTRY_FILES)): \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-overview.xsl \ | |
- $$(patsubst overview_%,$$(VBOX_PATH_MANUAL_SRC)/en_US/%,$$(notdir $$@)) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --output "$@" $< $(filter %.xml,$^) | |
- | |
-$(VBOX_PATH_MANUAL_OUTBASE)/user_VBoxManage_CommandsOverview.xml: $(VBOXMANAGEHELP_PATH) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_GENERATE,,$@,) | |
- $(QUIET)$(RM) -f $@ $@.dumpopts | |
- $(QUIET)$(APPEND) -tn "$@" \ | |
- '<?xml version="1.0" encoding="UTF-8"?>' \ | |
- '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">' \ | |
- '<sect1> <!-- this will be skipped via xpointer in the include. --> ' | |
- $(QUIET)$(REDIRECT) -wo $@.dumpopts -E 'VBOX_LOG_FLAGS=disabled' -E 'VBOX_LOG_DEST=nofile' \ | |
- $(if $(eq $(KBUILD_TARGET),darwin), -E 'DYLD_FALLBACK_LIBRARY_PATH=$(dir $(LIB_RUNTIME))') \ | |
- -- \ | |
- $(VBOXMANAGEHELP_PATH) --dumpopts | |
- $(QUIET)$(SED) \ | |
- -e ':a' \ | |
- -e 'N' \ | |
- -e '$(DOLLAR)!ba' \ | |
- -e 's/</\<\;/g' \ | |
- -e 's/>/\>\;/g' \ | |
- -e 's/\n*$(DOLLAR)/<\/screen>/' \ | |
- -e 's/^/<screen>/' \ | |
- --append $@ $@.dumpopts | |
- $(QUIET)$(RM) -f $@.dumpopts | |
- $(QUIET)$(APPEND) -n "$@" \ | |
- ' <remark role="VBoxManage-overview">' \ | |
- $(foreach refentry, $(filter man_VBoxManage%,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \ | |
- , ' <xi:include href="overview_$(refentry)" xpointer="element(/1)" xmlns:xi="http://www.w3.org/2001/XInclude" />') \ | |
- ' </remark>' \ | |
- '</sect1>' | |
- | |
- | |
- | |
- | |
-########################################################################################## | |
-# | |
-# Shared rules for PDF generation | |
-# | |
-########################################################################################## | |
- | |
-ifndef VBOX_OSE | |
-# copy ucs.sty and related files | |
-$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/ucs.sty): | |
- $(call MSG_L1,Copying unicode support for LaTeX) | |
- $(QUIET)$(INSTALL_STAGING) -m0644 -- $(VBOX_MANUAL_TEX_UNICODE_FILES) "$(@D)" | |
-endif | |
- | |
-# copy the PNG files. | |
-# Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
-define def_vbox_cp_images_pdf | |
-local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang) | |
-$(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \ | |
- $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@) | |
- $$(call MSG_L1,Copying temporary $$< => $$@) | |
- $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)' | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_cp_images_pdf)) | |
- | |
- | |
-########################################################################################## | |
-# | |
-# UserManual.pdf | |
-# | |
-########################################################################################## | |
- | |
- | |
-# Generate PDF from LaTeX | |
-# Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
-define def_vbox_usermanual_tex_to_pdf | |
-local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang) | |
-$$(out_dir)/UserManual.pdf: \ | |
- $$(out_dir)/UserManual.tex \ | |
- $$(if $$(VBOX_OSE),,$$(out_dir)/ucs.sty) \ | |
- $$(addprefix $$(out_dir)/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) | $$$$(dir $$$$@) | |
-# PDF generation via Latex: generate the .tex file | |
- $$(call MSG_L1,pdflatex $$< (four passes) -> $$@) | |
- $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex | |
- $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex | |
- $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex | |
- $$(QUIET)$$(REDIRECT) -w+ti /dev/null -C $$(@D) -- $$(VBOX_PDFLATEX_CMD) UserManual.tex | |
- $$(QUIET)$$(SED) -ne '/Warning: Hyper reference/p' $$(basename $$<).log | |
- $$(QUIET)$$(SED) -n \ | |
- -e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \ | |
- $$(basename $$@).log | |
- $$(call MSG_L1,Fresh LaTeX-generated PDF is now at $$@) | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_tex_to_pdf)) | |
- | |
-# Generate LaTeX from XML | |
-# Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
-define def_vbox_usermanual_xml_to_tex | |
-local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang) | |
-$$(out_dir)/UserManual.tex: \ | |
- $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \ | |
- $$(VBOX_MANUAL_XML_FILES_COMMON) \ | |
- $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \ | |
- $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \ | |
- $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@) | |
- $$(call MSG_TOOL,xsltproc $$(notdir $$(filter %.xsl,$$^)),,$$(firstword $$(filter %.xml,$$^)),$$@) | |
- $$(QUIET)$$(RM) -f $$(addprefix $$(@D)/,$$(VBOX_MANUAL_LATEX_FILES_TARGET)) | |
-# generate TeX source from processed docbook and store it in UserManual.tex.tmp; | |
-# pass current language to xsltproc in TARGETLANG variable | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG $(lang) \ | |
- -o $$@.tmp $$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $$< | |
-# for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word; | |
-# the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections | |
- $$(QUIET)$$(SED) \ | |
- -e 's|^\\QUOTE{}|\\OQ{}|g' \ | |
- -e 's|\(\W\)\\QUOTE{}|\1\\OQ{}|g' \ | |
- -e 's|\(\w\)\\QUOTE{}|\1\\CQ{}|g' \ | |
- --output $$@ $$@.tmp | |
- $$(QUIET)$$(RM) -f $$@.tmp | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_tex)) | |
- | |
-# Useful aliases | |
-usermanual UserManual.pdf:: $(PATH_STAGE_BIN)/UserManual.pdf | |
- | |
-debug-usermanual: | |
- $(MAKE) --pretty-command-printing -j1 VBOX_PDFLATEX_INTERACTION=errorstopmode $(PATH_STAGE_BIN)/UserManual.pdf | |
- | |
-# | |
-# Generate rules for validating the UserManual.xml. These are invoked | |
-# automatically at build time, but can also be manually invoked via the | |
-# 'validatemanual' and 'validatemanual_<lang>' aliases. | |
-# | |
-define def_vbox_validate_xml | |
-validatemanual_$(lang):: $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run | |
-$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/validatemanual.run: \ | |
- $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \ | |
- $$(VBOX_MANUAL_XML_FILES_COMMON) \ | |
- $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) $$(MAKEFILE_CURRENT) | $$$$(dir $$$$@) | |
- $$(call MSG_L1,Validating $$<) | |
- $$(QUIET)$$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$< | |
- $$(QUIET)$$(APPEND) -t "$$@" "done" | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_validate_xml)) | |
- | |
- | |
-# Handy aliases. | |
-validatemanual:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),validatemanual_$(lang)) | |
- | |
- | |
- | |
-# | |
-# SDKRef.pdf | |
-# | |
- | |
-# Replace <tt> tags in VirtualBox.xidl. | |
-$(VBOX_DOC_XIDL_SRC_TMP): $(VBOX_DOC_XIDL_SRC) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_L1,Generating $@) | |
- $(QUIET)$(SED) -e 's|@a \+\(\w\+\)|<tt>\1</tt>|g' \ | |
- -e 's|@c \+\(\w\+\)|<tt>\1</tt>|g' \ | |
- --output $@ $< | |
- | |
-# Generate SDKRef_apiref.xml as a docbook file excerpt that will be referenced from the SDKRef.xml. | |
-$(VBOX_MANUAL_APIREF_TMP): $(VBOX_PATH_MANUAL_SRC)/xidl2docbook.xsl $(VBOX_DOC_XIDL_SRC_TMP) | |
- $(call MSG_L1,Generating $@) | |
- $(QUIET)$(VBOX_XSLTPROC) $(VBOX_XSLTPROC_OPTS) --xinclude --nonet -o $@ $< $(VBOX_DOC_XIDL_SRC_TMP) | |
- | |
-# Turn SDKRef.xml into LaTeX. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \ | |
- $(VBOX_MANUAL_APIREF_TMP) \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \ | |
- $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run,) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_SDKREF_LATEX_FILES_TARGET)) | |
-# generate TeX source from processed docbook and store it in SDKRef.tex.tmp | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG en_US \ | |
- -o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $< | |
-# for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word; | |
-# the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections | |
- $(QUIET)$(SED) \ | |
- -e 's|^\\QUOTE{}|\\OQ{}|g' \ | |
- -e 's|\(\W\)\\QUOTE{}|\1\\OQ{}|g' \ | |
- -e 's|\(\w\)\\QUOTE{}|\1\\CQ{}|g' \ | |
- --output $@ $@.tmp | |
- $(QUIET)$(RM) -f $@.tmp | |
- | |
-# Turn SDKRef.tex into a PDF. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.pdf: \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex \ | |
- $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@) | |
- $(call MSG_L1,pdflatex $< (three passes)) | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex | |
- $(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log | |
- $(QUIET)$(SED) -n \ | |
- -e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \ | |
- $(basename $<).log | |
- $(call MSG_L1,Fresh LaTeX-generated PDF is now at $@) | |
- | |
-# Validating SDKRef.xml. It is invoked automatically at build time, | |
-# but can also be manually invoked via the 'validate-sdkref' alias. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run: \ | |
- $(VBOX_PATH_MANUAL_SRC)/en_US/SDKRef.xml \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_SDKREF_XML_FILES)) \ | |
- $(VBOX_MANUAL_APIREF_TMP) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_L1,Validating $<) | |
- $(QUIET)$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $< | |
- $(QUIET)$(APPEND) -t "$@" "done" | |
- | |
- | |
-# Handy aliases. | |
-validate-sdkref:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatesdkref.run | |
-sdkref:: $(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf | |
- | |
- | |
- | |
-# | |
-# Accessibility.pdf | |
-# | |
- | |
-# Turn Accessibility.xml into LaTeX. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex: \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl \ | |
- $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run,) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(filter %.xsl,$^)),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_ACCESSIBILITY_LATEX_FILES_TARGET)) | |
-# generate TeX source from processed docbook and store it in Accessibility.tex.tmp | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --stringparam TARGETLANG en_US \ | |
- -o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $< | |
-# for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word; | |
-# the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections | |
- $(QUIET)$(SED) \ | |
- -e 's|^\\QUOTE{}|\\OQ{}|g' \ | |
- -e 's|\(\W\)\\QUOTE{}|\1\\OQ{}|g' \ | |
- -e 's|\(\w\)\\QUOTE{}|\1\\CQ{}|g' \ | |
- --output $@ $@.tmp | |
- $(QUIET)$(RM) -f $@.tmp | |
- | |
-# Turn Accessibility.tex into a PDF. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.pdf: \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/en_US/Accessibility.tex \ | |
- $(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | $$(dir $$@) | |
- $(call MSG_L1,pdflatex $< (three passes)) | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) Accessibility.tex | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) Accessibility.tex | |
- $(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) Accessibility.tex | |
- $(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log | |
- $(QUIET)$(SED) -n \ | |
- -e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \ | |
- $(basename $<).log | |
- $(call MSG_L1,Fresh LaTeX-generated PDF is now at $@) | |
- | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html: \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \ | |
- $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \ | |
- --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \ | |
- $< | |
- | |
-# Validating Accessibility.xml. It is invoked automatically at build time, | |
-# but can also be manually invoked via the 'validate-accessibility' alias. | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run: \ | |
- $(VBOX_PATH_MANUAL_SRC)/en_US/Accessibility.xml \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_ACCESSIBILITY_XML_FILES)) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_L1,Validating $<) | |
- $(QUIET)$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $< | |
- $(QUIET)$(APPEND) -t "$@" "done" | |
- | |
- | |
-# Handy aliases. | |
-validate-accessibility:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/validateaccessibility.run | |
-accessibility:: $(PATH_STAGE_BIN)/Accessibility.pdf | |
-accessibility-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/Accessibility.html | |
- | |
- | |
- | |
-ifdef VBOX_WITH_DOCS_CHM | |
- # | |
- # VirtualBox.chm | |
- # | |
- # We first generate a .hhp help source file from the preprocessed | |
- # DocBook XML files, as defined above, then feed that into the | |
- # Microsoft Help Compiler. | |
- # | |
- VBOX_DOCBOOK_HTMLHELP_FORMATCFG = \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl | |
- | |
- # Prepare the XSL file for our title page, htmlhelp variant. | |
- $(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl: \ | |
- $(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xml $(MAKEFILE_CURRENT) | $$(dir $$@) | |
- $(call MSG_L1,xsltproc $<) | |
- $(QUIET)$(RM) -f $@.tmp $@ | |
- $(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet -o $@.tmp $(VBOX_PATH_DOCBOOK)/template/titlepage.xsl $< | |
- $(QUIET)$(MV) -f $@.tmp $@ | |
- | |
- # Generate CHM from HHP | |
- # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
- define def_vbox_usermanual_hhp_to_chm | |
- local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang) | |
- $$(out_dir)/VirtualBox.chm: \ | |
- $$(out_dir)/HTMLHelp/htmlhelp.hhp \ | |
- $$(addprefix $$(out_dir)/HTMLHelp/,$$(VBOX_MANUAL_PNG_FILES_$(lang))) \ | |
- | $$$$(dir $$$$@) | |
- $$(call MSG_L1,hhc $$<,=> $$@) | |
- $$(QUIET)$$(RM) -f $$@ | |
- $$(QUIET)$$(VBOX_HHC) $$(subst /,\\,$$<) | |
- $$(call MSG_L1,Fresh CHM is now at $$@) | |
- endef | |
- $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_hhp_to_chm)) | |
- | |
- # Generate HHP from XML | |
- # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
- define def_vbox_usermanual_xml_to_hhp | |
- local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang) | |
- $$(out_dir)/HTMLHelp/htmlhelp.hhp: \ | |
- $$(addprefix $$(VBOX_PATH_MANUAL_SRC)/$(lang)/,$$(VBOX_MANUAL_XML_FILES)) \ | |
- $$(VBOX_MANUAL_XML_FILES_COMMON) \ | |
- $$(VBOX_MANUAL_XML_FILES_GENERATED_$(lang)) \ | |
- $$(VBOX_DOCBOOK_HTMLHELP_FORMATCFG) \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl \ | |
- $$(if $$(VBOX_HAVE_XMLLINT),$$(out_dir)/validatemanual.run,) \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) | $$$$(dir $$$$@) | |
- $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@) | |
- $$(QUIET)$$(RM) -f $$@ | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$(@D)/ \ | |
- --stringparam htmlhelp.chm \ | |
- $$(subst /,\\,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/VirtualBox.chm) \ | |
- $$(HTMLHELPOPTS) $$(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl \ | |
- $$< | |
- endef | |
- $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(evalcall2 def_vbox_usermanual_xml_to_hhp)) | |
- | |
- # copy the PNG files. | |
- # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input. | |
- define def_vbox_cp_images_htmlhelp | |
- local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/HTMLHelp | |
- $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \ | |
- $$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@) | |
- $$(call MSG_L1,Copying temporary $$< => $$@) | |
- $$(QUIET)$$(INSTALL_STAGING) -m0644 -- '$$<' '$$(@D)' | |
- endef | |
- $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_htmlhelp))) | |
- | |
-endif # VBOX_WITH_DOCS_CHM | |
- | |
- | |
-# Packing the docs into a zip file | |
-$(PATH_STAGE_BIN)/VBoxDocumentation.zip: $(VBOX_MANUAL_PACK) | |
- $(call MSG_L1,Packing documentation $@) | |
- $(QUIET)$(RM) -f $@ | |
- $(QUIET)$(REDIRECT) -C $(PATH_STAGE_BIN) -- $(VBOX_ZIP) -9 $@ $(notdir $^) | |
- | |
- | |
-########################################################################################## | |
-# | |
-# UserManual.html | |
-# | |
-########################################################################################## | |
-VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG = \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl | |
- | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html: \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \ | |
- $(VBOX_MANUAL_XML_FILES_COMMON) \ | |
- $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \ | |
- $(VBOX_DOCBOOK_HTML_ONE_PAGE_FORMATCFG) \ | |
- $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \ | |
- --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl \ | |
- $< | |
- | |
-VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG = \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_SRC)/common-html-formatcfg.xsl | |
- | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_FILES)) \ | |
- $(VBOX_MANUAL_XML_FILES_COMMON) \ | |
- $(VBOX_MANUAL_XML_FILES_GENERATED_en_US) \ | |
- $(VBOX_DOCBOOK_HTML_CHUNKS_FORMATCFG) \ | |
- $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \ | |
- $(if $(VBOX_HAVE_XMLLINT),$(VBOX_PATH_MANUAL_OUTBASE)/en_US/validatemanual.run,) \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) \ | |
- --output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \ | |
- --stringparam chunk.section.depth 0 \ | |
- $(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl \ | |
- $< | |
- | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip: \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \ | |
- $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) | |
- $(call MSG_L1,Packing documentation $@) | |
- $(QUIET)$(RM) -f $@ | |
- $(QUIET)$(REDIRECT) -C $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ -- $(VBOX_ZIP) \ | |
- -9 -r $@ html-single html-chunks $(VBOX_MANUAL_PNG_FILES_en_US) | |
- | |
-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html | |
-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html | |
-html-zip:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.zip | |
- | |
- | |
-# | |
-# ChangeLog.html | |
-# | |
-# This XSLT rule formats en_US/user_ChangeLog.xml (which includes the actual change log | |
-# contained in user_ChangeLogImpl.xml) as a standalone HTML file. | |
-# | |
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html: \ | |
- $(VBOX_PATH_MANUAL_SRC)/en_US/docbook-changelog-formatcfg.xsl \ | |
- $(VBOX_PATH_MANUAL_OUTBASE)/en_US/user_ChangeLog.xml \ | |
- $(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) $(VBOX_XML_CATALOG_MANUAL) \ | |
- $(VBOX_XML_ENTITIES) | $$(dir $$@) | |
- $(call MSG_TOOL,xsltproc $(notdir $(firstword $(filter %.xsl,$^))),,$(firstword $(filter %.xml,$^)),$@) | |
- $(QUIET)$(call VBOX_XSLTPROC_WITH_CAT) --output "$@" "$<" $(filter %.xml,$^) | |
- $(call MSG_L1,Fresh ChangeLog.html is now at $@) | |
- | |
-cl-html:: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html | |
- | |
- | |
- | |
-endif # if defined(VBOX_WITH_DOCS) && (!defined(VBOX_ONLY_BUILD) || defined(VBOX_ONLY_DOCS) || defined(VBOX_ONLY_SDK)) | |
- | |
- | |
-# | |
-# VBoxManage man pages (parts also required by VBoxManage built-in help). | |
-# | |
- | |
-## | |
-# Emits rules for preprocessing refentry sources (applying remarks element), | |
-# and for producing the actual man pages. | |
-# $(evalcall2 def_vbox_refentry_to_manpage) | |
-# @param 1 The language | |
-# @param 2 The file name (no path). | |
-define def_vbox_refentry_to_manpage | |
-$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2): \ | |
- $$(VBOX_PATH_MANUAL_SRC)/$(1)/$(2) \ | |
- $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \ | |
- $$(VBOX_XML_XREF_TO_TEXT) \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@) | |
- $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@) | |
- $$(QUIET)$$(RM) -f "$$@" | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ \ | |
- $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl $$< | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@.tmp $$(VBOX_XML_XREF_TO_TEXT) $$@ | |
- $$(QUIET)$$(MV) -f -- "$$@.tmp" "$$@" | |
-if defined(VBOX_HAVE_XMLLINT) | |
- $$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$@ | |
-endif | |
- | |
-$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(patsubst man_%,%.1,$(basename $(2))): \ | |
- $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$(2) \ | |
- $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage.xsl \ | |
- $$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \ | |
- $$(VBOX_XML_ENTITIES) $$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@) | |
- $$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@) | |
- $$(QUIET)$$(RM) -f "$$@" | |
- $$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ $$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage.xsl $$< | |
-endef | |
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \ | |
-, $(evalcall2 def_vbox_refentry_to_manpage,$(lang),$(file)))) | |
- | |
- | |
-# Handy aliases. | |
-validate-manpages:: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_REFENTRY_FILES)) | |
-man-experiment:: $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(foreach file,$(VBOX_MANUAL_XML_REFENTRY_FILES) \ | |
- ,$$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/$(patsubst man_%,%.1,$(basename $(file))))) | |
- | |
-# | |
-# Manually updating the DHCP option list taken from VirtualBox.xidl | |
-# | |
-dhcpoptions: $(PATH_ROOT)/doc/manual/en_US/man_VBoxManage-dhcpserver-dhcpoptions.xsl \ | |
- $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl | |
- $(call VBOX_XSLTPROC) --output "$(PATH_ROOT)/doc/manual/en_US/man_VBoxManage-dhcpserver-dhcpoptions.xml" $+ | |
- | |
- | |
-include $(FILE_KBUILD_SUB_FOOTER) | |
- | |
diff --git a/src/VBox/Makefile.kmk b/src/VBox/Makefile.kmk | |
index 80ede29..e293f9b 100644 | |
--- a/src/VBox/Makefile.kmk | |
+++ b/src/VBox/Makefile.kmk | |
@@ -95,6 +95,11 @@ else | |
ifdef VBOX_WITH_ADDITIONS | |
include $(PATH_SUB_CURRENT)/Additions/Makefile.kmk | |
endif | |
+ ifndef VBOX_WITHOUT_ADDITIONS_ISO | |
+ $(VBOX_PATH_ADDITIONS_ISO)/VBoxGuestAdditions.iso: | |
+ $(QUIET)$(MKDIR) -p $(@D) | |
+ $(VBOX_RETRY) $(TOOL_CURL_FETCH) http://download.virtualbox.org/virtualbox/$(VBOX_VERSION_STRING_RAW)/VBoxGuestAdditions_$(VBOX_VERSION_STRING_RAW).iso -o $@ | |
+ endif | |
ifdef VBOX_WITH_VALIDATIONKIT | |
include $(PATH_SUB_CURRENT)/ValidationKit/Makefile.kmk | |
endif | |
diff --git a/src/VBox/Runtime/Makefile.kmk b/src/VBox/Runtime/Makefile.kmk | |
index a2018d6..4fa29b6 100644 | |
--- a/src/VBox/Runtime/Makefile.kmk | |
+++ b/src/VBox/Runtime/Makefile.kmk | |
@@ -2245,7 +2245,9 @@ endif | |
VBoxRT_LIBS.win = \ | |
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/vccomsup.lib \ | |
$(PATH_SDK_$(VBOX_WINDDK)_LIB)/wbemuuid.lib \ | |
- $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib | |
+ $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib \ | |
+ $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/crypt32.lib \ | |
+ $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/bcrypt.lib | |
VBoxRT_LDFLAGS.darwin = \ | |
-framework IOKit \ | |
-framework CoreFoundation \ | |
@@ -2388,7 +2390,9 @@ endif | |
VBoxRT-x86_LIBS.win = \ | |
$(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/vccomsup.lib \ | |
$(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/wbemuuid.lib \ | |
- $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib | |
+ $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib \ | |
+ $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/crypt32.lib \ | |
+ $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/bcrypt.lib | |
VBoxRT-x86_SOURCES.win = $(filter-out %.def %.rc,$(VBoxRT_SOURCES.win)) \ | |
$(VBoxRT-x86_0_OUTDIR)/VBoxRT-x86.def | |
diff --git a/src/VBox/Runtime/r3/win/VBoxRT-openssl-1.1plus.def b/src/VBox/Runtime/r3/win/VBoxRT-openssl-1.1plus.def | |
index 5ac7c9a..c96c368 100644 | |
--- a/src/VBox/Runtime/r3/win/VBoxRT-openssl-1.1plus.def | |
+++ b/src/VBox/Runtime/r3/win/VBoxRT-openssl-1.1plus.def | |
@@ -213,3 +213,8 @@ | |
BN_mod_exp_simple | |
BN_ucmp | |
+ | |
+ OpenSSL_version_num | |
+ DH_generate_parameters_ex | |
+ DH_new | |
+ ASN1_STRING_get0_data |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment