VirtualBox

Changeset 98431 in vbox for trunk


Ignore:
Timestamp:
Feb 2, 2023 12:10:49 PM (2 years ago)
Author:
vboxsync
Message:

Main/*.kmk: Automatic scm cleanups. bugref:10348

Location:
trunk/src/VBox/Main
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/Makefile.kmk

    r98341 r98431  
    7878ifneq ($(KBUILD_TARGET),win)
    7979 ifndef VBOX_WITH_XPCOM
    80 $(error "VBox: VBOX_WITH_XPCOM isn't defined")
    81  endif
    82 VBOX_MAIN_DEFS += VBOX_WITH_GENERIC_SESSION_WATCHER
     80  $(error "VBox: VBOX_WITH_XPCOM isn't defined")
     81 endif
     82 VBOX_MAIN_DEFS += VBOX_WITH_GENERIC_SESSION_WATCHER
    8383endif
    8484ifdef VBOX_WITH_AUDIO_ALSA
    85 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_ALSA
     85 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_ALSA
    8686endif
    8787ifdef VBOX_WITH_AUDIO_DEBUG
    88 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_DEBUG
     88 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_DEBUG
    8989endif
    9090ifdef VBOX_WITH_AUDIO_OSS
    91 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_OSS
     91 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_OSS
    9292endif
    9393ifdef VBOX_WITH_AUDIO_PULSE
    94 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_PULSE
     94 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_PULSE
    9595endif
    9696ifdef VBOX_WITH_AUDIO_RECORDING
    97 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_RECORDING
     97 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_RECORDING
    9898endif
    9999ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
    100 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_VALIDATIONKIT
     100 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_VALIDATIONKIT
    101101endif
    102102ifdef VBOX_WITH_AUDIO_VRDE
    103 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_VRDE
     103 VBOX_MAIN_DEFS += VBOX_WITH_AUDIO_VRDE
    104104endif
    105105ifdef VBOX_WITH_COPYTOGUEST
    106 VBOX_MAIN_DEFS += VBOX_WITH_COPYTOGUEST
     106 VBOX_MAIN_DEFS += VBOX_WITH_COPYTOGUEST
    107107endif
    108108ifdef VBOX_WITH_E1000
    109 VBOX_MAIN_DEFS += VBOX_WITH_E1000
     109 VBOX_MAIN_DEFS += VBOX_WITH_E1000
    110110endif
    111111ifdef VBOX_WITH_EXTPACK
    112 VBOX_MAIN_DEFS += VBOX_WITH_EXTPACK
     112 VBOX_MAIN_DEFS += VBOX_WITH_EXTPACK
    113113endif
    114114ifdef VBOX_WITH_GUEST_CONTROL
    115 VBOX_MAIN_DEFS += VBOX_WITH_GUEST_CONTROL
     115 VBOX_MAIN_DEFS += VBOX_WITH_GUEST_CONTROL
    116116endif
    117117ifdef VBOX_WITH_GUEST_PROPS
    118 VBOX_MAIN_DEFS += VBOX_WITH_GUEST_PROPS
     118 VBOX_MAIN_DEFS += VBOX_WITH_GUEST_PROPS
    119119 ifdef VBOX_WITH_GUEST_PROPS_RDONLY_GUEST
    120 VBOX_MAIN_DEFS += VBOX_WITH_GUEST_PROPS_RDONLY_GUEST
     120  VBOX_MAIN_DEFS += VBOX_WITH_GUEST_PROPS_RDONLY_GUEST
    121121 endif
    122122endif
    123123ifdef VBOX_WITH_HGCM
    124 VBOX_MAIN_DEFS += VBOX_WITH_HGCM
     124 VBOX_MAIN_DEFS += VBOX_WITH_HGCM
    125125endif
    126126ifdef VBOX_WITH_HOSTNETIF_API
    127 VBOX_MAIN_DEFS += VBOX_WITH_HOSTNETIF_API
     127 VBOX_MAIN_DEFS += VBOX_WITH_HOSTNETIF_API
    128128endif
    129129ifdef VBOX_WITH_DHCPD
    130 VBOX_MAIN_DEFS += VBOX_WITH_DHCPD
     130 VBOX_MAIN_DEFS += VBOX_WITH_DHCPD
    131131endif
    132132ifdef VBOX_WITH_LIVE_MIGRATION
    133 VBOX_MAIN_DEFS += VBOX_WITH_LIVE_MIGRATION
     133 VBOX_MAIN_DEFS += VBOX_WITH_LIVE_MIGRATION
    134134endif
    135135ifdef VBOX_WITH_MIDL_PROXY_STUB
    136 VBOX_MAIN_DEFS += VBOX_WITH_MIDL_PROXY_STUB
     136 VBOX_MAIN_DEFS += VBOX_WITH_MIDL_PROXY_STUB
    137137endif
    138138ifdef VBOX_WITH_NETFLT
    139 VBOX_MAIN_DEFS += VBOX_WITH_NETFLT
     139 VBOX_MAIN_DEFS += VBOX_WITH_NETFLT
    140140endif
    141141if defined(VBOX_WITH_VMNET) && "$(KBUILD_TARGET)" == "darwin"
    142 VBOX_MAIN_DEFS += VBOX_WITH_VMNET
     142 VBOX_MAIN_DEFS += VBOX_WITH_VMNET
    143143endif
    144144ifdef VBOX_WITH_CLOUD_NET
    145 VBOX_MAIN_DEFS += VBOX_WITH_CLOUD_NET
     145 VBOX_MAIN_DEFS += VBOX_WITH_CLOUD_NET
    146146endif
    147147ifdef VBOX_WITH_PCI_PASSTHROUGH
    148 VBOX_MAIN_DEFS += VBOX_WITH_PCI_PASSTHROUGH
     148 VBOX_MAIN_DEFS += VBOX_WITH_PCI_PASSTHROUGH
    149149endif
    150150ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
    151 VBOX_MAIN_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
     151 VBOX_MAIN_DEFS += VBOX_WITH_PDM_ASYNC_COMPLETION
    152152endif
    153153ifdef VBOX_WITH_RECORDING
    154 VBOX_MAIN_DEFS += VBOX_WITH_RECORDING
     154 VBOX_MAIN_DEFS += VBOX_WITH_RECORDING
    155155endif
    156156ifdef VBOX_WITH_SDS
    157 VBOX_MAIN_DEFS += VBOX_WITH_SDS
     157 VBOX_MAIN_DEFS += VBOX_WITH_SDS
    158158endif
    159159ifdef VBOX_WITH_SHARED_CLIPBOARD
    160 VBOX_MAIN_DEFS += VBOX_WITH_SHARED_CLIPBOARD
     160 VBOX_MAIN_DEFS += VBOX_WITH_SHARED_CLIPBOARD
    161161 ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
    162162  VBOX_MAIN_DEFS += VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     
    164164endif
    165165if defined(VBOX_WITH_LIBCURL) && defined(VBOX_WITH_UPDATE_AGENT)
    166 VBOX_MAIN_DEFS += VBOX_WITH_UPDATE_AGENT
     166 VBOX_MAIN_DEFS += VBOX_WITH_UPDATE_AGENT
    167167endif
    168168ifdef VBOX_WITH_USB_CARDREADER
    169 VBOX_MAIN_DEFS += VBOX_WITH_USB_CARDREADER
     169 VBOX_MAIN_DEFS += VBOX_WITH_USB_CARDREADER
    170170endif
    171171ifdef VBOX_WITH_USB_CARDREADER_TEST
    172 VBOX_MAIN_DEFS += VBOX_WITH_USB_CARDREADER_TEST
     172 VBOX_MAIN_DEFS += VBOX_WITH_USB_CARDREADER_TEST
    173173endif
    174174ifdef VBOX_WITH_VIRTIO
    175 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO
     175 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO
    176176endif
    177177ifdef VBOX_WITH_VIRTIO_1_0
    178 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO_1_0
     178 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO_1_0
    179179endif
    180180ifdef VBOX_WITH_VIRTIO_NET_1_0
    181 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO_NET_1_0
     181 VBOX_MAIN_DEFS += VBOX_WITH_VIRTIO_NET_1_0
    182182endif
    183183ifdef VBOX_WITH_VMSVGA
    184 VBOX_MAIN_DEFS += VBOX_WITH_VMSVGA
     184 VBOX_MAIN_DEFS += VBOX_WITH_VMSVGA
    185185endif
    186186ifdef VBOX_WITH_VMSVGA3D
    187 VBOX_MAIN_DEFS += VBOX_WITH_VMSVGA3D
     187 VBOX_MAIN_DEFS += VBOX_WITH_VMSVGA3D
    188188endif
    189189ifdef VBOX_WITH_VUSB
    190 VBOX_MAIN_DEFS += VBOX_WITH_VUSB
     190 VBOX_MAIN_DEFS += VBOX_WITH_VUSB
    191191endif
    192192ifdef VBOX_WITH_EHCI
    193193 ifdef VBOX_WITH_USB
    194  VBOX_MAIN_DEFS += VBOX_WITH_EHCI
     194  VBOX_MAIN_DEFS += VBOX_WITH_EHCI
    195195 endif
    196196endif
     
    214214if defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" == "win"
    215215 OTHERS         += \
    216         $(VBOX_IDL_FILE.MSCOM)
     216        $(VBOX_IDL_FILE.MSCOM)
    217217 OTHER_CLEAN    += \
    218         $(VBOX_IDL_FILE.MSCOM)
     218        $(VBOX_IDL_FILE.MSCOM)
    219219
    220220 INSTALLS += VBox-mscom-bindings-include VBox-mscom-bindings-lib
     
    226226 VBox-mscom-bindings-lib_MODE = a+r,u+w
    227227 VBox-mscom-bindings-lib_SOURCES = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    228         $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     228        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    229229 VBox-mscom-bindings-lib_CLEAN = $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    230         $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     230        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    231231
    232232 BLDDIRS += $(VBOX_PATH_SDK)/bindings/mscom/idl
     
    238238 OTHERS         += $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) $(VBOX_IDL_HEADER.XPCOM)
    239239 OTHER_CLEAN    += \
    240         $(VBOX_IDL_FILE.XPCOM) \
    241         $(VBOX_IDL_HEADER.XPCOM) \
    242         $(VBOX_IDL_TYPELIB.XPCOM)
     240        $(VBOX_IDL_FILE.XPCOM) \
     241        $(VBOX_IDL_HEADER.XPCOM) \
     242        $(VBOX_IDL_TYPELIB.XPCOM)
    243243
    244244 INSTALLS += VBox-xpcom-bindings-lib
     
    250250 VBOX_MAIN_PREREQS += $(VBOX_IDL_TYPELIB.XPCOM) $(VBOX_IDL_HEADER.XPCOM)
    251251 BLDDIRS += \
    252         $(VBOX_PATH_SDK)/bindings/xpcom/idl \
    253         $(VBOX_PATH_SDK)/bindings/xpcom/include
     252        $(VBOX_PATH_SDK)/bindings/xpcom/idl \
     253        $(VBOX_PATH_SDK)/bindings/xpcom/include
    254254 # disable VBoxSDS for XPCOM
    255255 override VBOX_WITH_SDS =
     
    303303docs.main docs.Main: $(PATH_TARGET)/docs.Main
    304304if !defined(VBOX_ONLY_DOCS) && defined(VBOX_WITH_ALL_DOXYGEN_TARGETS)
    305 docs:                $(PATH_TARGET)/docs.Main
     305 docs: $(PATH_TARGET)/docs.Main
    306306else
    307 docs:
     307 docs:
    308308endif
    309309
     
    320320 else if $(KBUILD_KMK_REVISION) >= 3256 && "$(KBUILD_TARGET)" != "darwin" && !defined(VBOX_WITHOUT_PRECOMPILED_HEADERS)
    321321  if $(VBOX_GCC_VERSION_CXX) >= 50000 # GCC 4.x runs into trouble compiling the header.
    322 VBoxAPIWrap_USES           = gccprecomp
    323 VBoxAPIWrap_PCH_HDR       := $(PATH_SUB_CURRENT)/src-all/xpcom/VBoxAPIWrap-precomp_gcc.h
     322   VBoxAPIWrap_USES        = gccprecomp
     323   VBoxAPIWrap_PCH_HDR    := $(PATH_SUB_CURRENT)/src-all/xpcom/VBoxAPIWrap-precomp_gcc.h
    324324  endif
    325325 endif
     
    327327        $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
    328328        $(if-expr defined(VBOX_ONLY_EXTPACKS) \
    329         , $(addprefix $(VBoxAPIWrap_0_OUTDIR)/,$(filter \
    330         Cloud%\
    331         DataStreamWrap.cpp\
    332         %FormValueWrap.cpp\
    333         %FormWrap.cpp\
    334         StringArrayWrap.cpp\
    335         , $(notdir $(VBOX_MAIN_APIWRAPPER_GEN_SRCS)))) \
    336         , $(VBOX_MAIN_APIWRAPPER_GEN_SRCS))
     329        , $(addprefix $(VBoxAPIWrap_0_OUTDIR)/,$(filter \
     330        Cloud% \
     331        DataStreamWrap.cpp \
     332        %FormValueWrap.cpp \
     333        %FormWrap.cpp \
     334        StringArrayWrap.cpp \
     335        , $(notdir $(VBOX_MAIN_APIWRAPPER_GEN_SRCS)))) \
     336        , $(VBOX_MAIN_APIWRAPPER_GEN_SRCS))
    337337 VBoxAPIWrap_INTERMEDIATES   = $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
    338338 VBoxAPIWrap_DEFS.win.x86   += _WIN32_WINNT=0x0500
     
    394394 VBox-python-glue_CLEAN = \
    395395        $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py \
    396         $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants_err_h_1.txt
     396        $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants_err_h_1.txt
    397397 $(call KB_FN_DO_PASS0_ON_TARGET,VBox-python-glue)
    398398 $(call KB_FN_AUTO_CMD_DEPS,$(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py)
    399399 $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants.py \
    400  + $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants_err_h_1.txt:  \
    401                 $(VBOX_PATH_MAIN_SRC)/glue/constants-python.xsl \
    402                 $(VBOX_PATH_MAIN_SRC)/glue/vbox-err-consts.sed \
    403                 $(PATH_ROOT)/include/iprt/err.h \
    404                 $(PATH_ROOT)/include/VBox/err.h \
    405                 $(VBOX_XIDL_FILE) \
    406                 | $$(dir $$@)
     400 + $(VBox-python-glue_0_OUTDIR)/VirtualBox_constants_err_h_1.txt: \
     401                $(VBOX_PATH_MAIN_SRC)/glue/constants-python.xsl \
     402                $(VBOX_PATH_MAIN_SRC)/glue/vbox-err-consts.sed \
     403                $(PATH_ROOT)/include/iprt/err.h \
     404                $(PATH_ROOT)/include/VBox/err.h \
     405                $(VBOX_XIDL_FILE) \
     406                | $$(dir $$@)
    407407        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    408408        $(call MSG_TOOL,xsltproc,Python constants,$<,$@)
     
    418418if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on for *very* long
    419419
    420 #
    421 # Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema
    422 # These two files are used by both VBoxC and VBoxSVC.
    423 #
    424 BLDDIRS += $(PATH_TARGET)/Main
    425 
    426 testschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
    427 
    428 
    429 #
    430 # Trust anchors and certificates -> .cpp
    431 #
    432 VBOX_SVC_CERTS_FILE = $(VBoxSVC_0_OUTDIR)/TrustAnchorsAndCerts.cpp
    433 VBOX_SVC_CERTS := \
    434        UefiMicrosoftKek=MicCorKEKCA2011_2011-06-24.crt \
    435        UefiMicrosoftCa=MicCorUEFCA2011_2011-06-27.crt \
    436        UefiMicrosoftProPca=MicWinProPCA2011_2011-10-19.crt \
    437        UefiOracleDefPk=OrclUefiDefPk2021_2021-09-29.crt
    438 
    439 VBOX_SVC_CERT_NAMES := $(foreach cert,$(VBOX_SVC_CERTS),$(firstword $(subst =,$(SPACE) ,$(cert))))
    440 VBOX_SVC_PATH_CERTIFICATES := $(PATH_SUB_CURRENT)/Certificates
    441 
    442 $$(VBOX_SVC_CERTS_FILE): $(MAKEFILE_CURRENT) \
    443                 $(foreach cert,$(VBOX_SVC_CERTS),$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SPACE) ,$(cert)))) \
    444                 $(VBOX_BIN2C) \
    445                 | $$(dir $$@)
     420 #
     421 # Generate SchemaDefs.h and SchemaDefs.cpp from XML Schema
     422 # These two files are used by both VBoxC and VBoxSVC.
     423 #
     424 BLDDIRS += $(PATH_TARGET)/Main
     425
     426 testschemadefs: $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
     427
     428
     429 #
     430 # Trust anchors and certificates -> .cpp
     431 #
     432 VBOX_SVC_CERTS_FILE = $(VBoxSVC_0_OUTDIR)/TrustAnchorsAndCerts.cpp
     433 VBOX_SVC_CERTS := \
     434        UefiMicrosoftKek=MicCorKEKCA2011_2011-06-24.crt \
     435        UefiMicrosoftCa=MicCorUEFCA2011_2011-06-27.crt \
     436        UefiMicrosoftProPca=MicWinProPCA2011_2011-10-19.crt \
     437        UefiOracleDefPk=OrclUefiDefPk2021_2021-09-29.crt
     438
     439 VBOX_SVC_CERT_NAMES := $(foreach cert,$(VBOX_SVC_CERTS),$(firstword $(subst =,$(SPACE) ,$(cert))))
     440 VBOX_SVC_PATH_CERTIFICATES := $(PATH_SUB_CURRENT)/Certificates
     441
     442 $$(VBOX_SVC_CERTS_FILE): $(MAKEFILE_CURRENT) \
     443                $(foreach cert,$(VBOX_SVC_CERTS),$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SPACE) ,$(cert)))) \
     444                $(VBOX_BIN2C) \
     445                | $$(dir $$@)
    446446        $(QUIET)$(RM) -f -- $@
    447447        $(QUIET)$(APPEND) -n "$@" \
     
    454454                "$@")
    455455
    456 OTHER_CLEAN += $(VBOX_SVC_CERTS_FILE)
    457 
    458 tst-main-certificates: $(VBOX_SVC_CERTS_FILE)
    459 
    460 
    461 #
    462 # VBoxSDS executable
    463 #
    464 if defined(VBOX_WITH_SDS) && "$(KBUILD_TARGET)" == "win"
    465 PROGRAMS.win += VBoxSDS
    466 VBoxSDS_TEMPLATE = VBoxMainExe
    467 VBoxSDS_DEFS += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x0600
    468  ifdef VBOX_WITH_VBOXSDL
    469 VBoxSDS_DEFS += VBOX_WITH_VBOXSDL
    470  endif
    471  ifdef VBOX_WITH_HEADLESS
    472 VBoxSDS_DEFS += VBOX_WITH_HEADLESS
    473  endif
    474  ifdef VBOX_WITH_QTGUI
    475 VBoxSDS_DEFS += VBOX_WITH_QTGUI
    476  endif
    477  ifdef VBOX_WITH_VBOXSVC_SESSION_0
    478 VBoxSDS_DEFS += VBOX_WITH_VBOXSVC_SESSION_0
    479  endif
    480 VBoxSDS_INCS = \
    481         include \
    482         $(VBoxSDS_0_OUTDIR) \
    483         $(VBoxCOM_0_OUTDIR)
    484 VBoxSDS_INTERMEDIATES = \
    485         $(VBOX_MAIN_PREREQS)
    486 VBoxSDS_SOURCES = \
    487         src-global/win/VBoxSDS.cpp \
    488         src-global/win/VirtualBoxSDSImpl.cpp \
    489         src-global/win/VBoxSDS.rc \
    490         src-all/MachineLaunchVMCommonWorker.cpp
    491 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxSDS) # Sets VBoxSDS_0_OUTDIR
    492 
    493 src-global/win/VBoxSDS.rc_INCS = $(VBoxSDS_0_OUTDIR)
    494 src-global/win/VBoxSDS.rc_DEPS = $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc #$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs
    495 VBoxSDS_CLEAN                   = $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc #$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs
    496 
    497 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc)
    498 $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc: $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
     456 OTHER_CLEAN += $(VBOX_SVC_CERTS_FILE)
     457
     458 tst-main-certificates: $(VBOX_SVC_CERTS_FILE)
     459
     460
     461 #
     462 # VBoxSDS executable
     463 #
     464 if defined(VBOX_WITH_SDS) && "$(KBUILD_TARGET)" == "win"
     465  PROGRAMS.win += VBoxSDS
     466  VBoxSDS_TEMPLATE = VBoxMainExe
     467  VBoxSDS_DEFS += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x0600
     468  ifdef VBOX_WITH_VBOXSDL
     469   VBoxSDS_DEFS += VBOX_WITH_VBOXSDL
     470  endif
     471  ifdef VBOX_WITH_HEADLESS
     472   VBoxSDS_DEFS += VBOX_WITH_HEADLESS
     473  endif
     474  ifdef VBOX_WITH_QTGUI
     475   VBoxSDS_DEFS += VBOX_WITH_QTGUI
     476  endif
     477  ifdef VBOX_WITH_VBOXSVC_SESSION_0
     478   VBoxSDS_DEFS += VBOX_WITH_VBOXSVC_SESSION_0
     479  endif
     480  VBoxSDS_INCS = \
     481        include \
     482        $(VBoxSDS_0_OUTDIR) \
     483        $(VBoxCOM_0_OUTDIR)
     484  VBoxSDS_INTERMEDIATES = \
     485        $(VBOX_MAIN_PREREQS)
     486  VBoxSDS_SOURCES = \
     487        src-global/win/VBoxSDS.cpp \
     488        src-global/win/VirtualBoxSDSImpl.cpp \
     489        src-global/win/VBoxSDS.rc \
     490        src-all/MachineLaunchVMCommonWorker.cpp
     491  $(call KB_FN_DO_PASS0_ON_TARGET,VBoxSDS) # Sets VBoxSDS_0_OUTDIR
     492
     493  src-global/win/VBoxSDS.rc_INCS = $(VBoxSDS_0_OUTDIR)
     494  src-global/win/VBoxSDS.rc_DEPS = $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc #$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs
     495  VBoxSDS_CLEAN                 = $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc #$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs
     496
     497  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc)
     498  $(VBoxSDS_0_OUTDIR)/VBoxSDS-icon.rc: $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
    499499        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    500500        $(APPEND) -t $@ '1 ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
    501501
    502 # $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs)
    503 # $(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    504 #       $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    505 #       $(VBOX_XSLTPROC) \
    506 #               --stringparam Application "VirtualBox System" \
    507 #               --stringparam Module VBoxSDS \
    508 #               -o $@ \
    509 #               $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
    510 #               $(VBOX_XIDL_FILE)
    511 #
    512 endif #if defined(VBOX_WITH_SDS) && "$(KBUILD_TARGET)" == "win"
    513 
    514 #
    515 # VBoxSVC executable
    516 #
    517 PROGRAMS += VBoxSVC
    518 VBoxSVC_TEMPLATE = VBoxMainExe
    519 if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win"
    520  VBoxSVC_USES    += vccprecomp
    521  VBoxSVC_PCH_HDR := $(PATH_SUB_CURRENT)/src-server/win/precomp_vcc.h
    522 else if $(KBUILD_KMK_REVISION) >= 3256 && "$(KBUILD_TARGET)" != "darwin" && !defined(VBOX_WITHOUT_PRECOMPILED_HEADERS)
    523  if $(VBOX_GCC_VERSION_CXX) >= 50000 # GCC 4.x runs into trouble compiling the header.
    524 VBoxSVC_USES    += gccprecomp
    525 VBoxSVC_PCH_HDR := $(PATH_SUB_CURRENT)/src-server/xpcom/precomp_gcc.h
    526  endif
    527 endif
    528 VBoxSVC_DEFS = \
    529         IN_VBOXSVC \
    530         VBOX_MAIN_SETTINGS_ADDONS \
    531         IN_VMM_STATIC \
    532         $(VBOX_MAIN_DEFS) \
    533         $(if $(VBOX_WITH_VBOXSDL),VBOX_WITH_VBOXSDL,) \
    534         $(if $(VBOX_WITH_HEADLESS),VBOX_WITH_HEADLESS,) \
    535         $(if $(VBOX_WITH_QTGUI),VBOX_WITH_QTGUI,) \
    536         $(if $(VBOX_WITH_AHCI),VBOX_WITH_AHCI,) \
    537         $(if $(VBOX_WITH_LSILOGIC),VBOX_WITH_LSILOGIC,) \
    538         $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
    539         $(if $(VBOX_WITH_RESOURCE_USAGE_API),VBOX_WITH_RESOURCE_USAGE_API,) \
    540         $(if $(VBOX_WITH_UNATTENDED),VBOX_WITH_UNATTENDED,) \
    541         $(if $(VBOX_WITH_DBUS),VBOX_WITH_DBUS,) \
    542         $(if $(VBOX_WITH_DBUS),$(if $(VBOX_USB_WITH_DBUS),VBOX_USB_WITH_DBUS,),) \
    543         $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
    544         $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
    545         $(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,) \
    546         $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
    547         $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
    548         $(if $(VBOX_WITH_TPM),VBOX_WITH_TPM,) \
    549         $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,) \
    550         $(if-expr defined(VBOX_WITH_SDS),VBOX_WITH_SDS,)
    551 ifdef VBOX_WITH_USB
    552  VBoxSVC_DEFS += \
    553         VBOX_WITH_USB \
    554         $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \
    555         $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
    556 endif
    557 VBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x0600
    558 # Try to load and use libhal at runtime for probing removable media
    559 # VBoxSVC_DEFS.linux += VBOX_USE_LIBHAL
    560 VBoxSVC_DEFS.solaris += VBOX_USE_LIBHAL
    561 
    562 if $(KBUILD_TARGET) != "win" && $(VBOX_GCC_VERSION_CXX) >= 40900 # gcc 4.9.x (4.8.x is causing endless RT_ELEMENT trouble)
    563  VBoxSVC_CXXFLAGS = -Wunused -Wconversion
    564 endif
    565 
    566 VBoxSVC_INCS = \
    567         include \
    568         $(VBoxSVC_0_OUTDIR) \
    569         $(dir $(VBOX_XML_SCHEMADEFS_H)) \
    570         $(VBOX_MAIN_APIWRAPPER_INCS) \
    571         . \
    572         $(VBOX_GRAPHICS_INCS)
    573 VBoxSVC_INCS.win = \
    574         $(VBoxCOM_0_OUTDIR)
    575 ifdef VBOX_WITH_USB
    576  VBoxSVC_INCS.os2 = \
    577         $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
    578 endif
    579 
    580 VBoxSVC_LIBS += \
    581         $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
    582         $(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \
    583         $(LIB_DDU)
    584 
    585 VBoxSVC_SDKS = VBoxLibPng VBoxZlib
    586 VBoxSVC_LIBS.solaris = \
    587         adm \
    588         nsl \
    589         devinfo \
    590         socket
    591 
    592 VBoxSVC_LIBS.win += \
    593         $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/dnsapi.lib
    594 
    595 VBoxSVC_INTERMEDIATES = \
    596         $(VBOX_MAIN_PREREQS) \
    597         $(VBOX_XML_SCHEMADEFS_H) \
    598         $(VBOX_AUTOGEN_EVENT_H) \
    599         $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \
    600         $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
    601 
    602 VBoxSVC_SOURCES = \
    603         $(VBOX_SVC_CERTS_FILE) \
    604         $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
    605         src-all/AuthLibrary.cpp \
    606         src-all/CryptoUtils.cpp \
    607         src-all/DisplayPNGUtil.cpp \
    608         src-all/DisplayResampleImage.cpp \
    609         src-all/DisplayUtils.cpp \
    610         src-all/EventImpl.cpp \
    611         src-all/Global.cpp \
    612         src-all/GlobalStatusConversion.cpp \
    613         src-all/HashedPw.cpp \
    614         src-all/Logging.cpp \
    615         src-all/NvramStoreImpl.cpp \
    616         src-all/PCIDeviceAttachmentImpl.cpp \
    617         src-all/ProgressImpl.cpp \
    618         src-all/SecretKeyStore.cpp \
    619   src-all/SharedFolderImpl.cpp \
    620         src-all/AutoCaller.cpp \
    621         src-all/ThreadTask.cpp \
    622         src-all/VirtualBoxBase.cpp \
    623         src-all/VirtualBoxErrorInfoImpl.cpp \
    624         $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
    625         src-server/CertificateImpl.cpp \
    626         src-server/ApplianceImpl.cpp \
    627         src-server/ApplianceImplExport.cpp \
    628         src-server/ApplianceImplImport.cpp \
    629         src-server/AudioAdapterImpl.cpp \
    630         src-server/AudioSettingsImpl.cpp \
    631         src-server/BandwidthControlImpl.cpp \
    632         src-server/BandwidthGroupImpl.cpp \
    633         src-server/BIOSSettingsImpl.cpp \
    634         src-server/RecordingSettingsImpl.cpp \
    635         src-server/RecordingScreenSettingsImpl.cpp \
    636         src-server/GraphicsAdapterImpl.cpp \
    637         src-server/ClientWatcher.cpp \
    638         src-server/ClientToken.cpp \
    639         src-server/CloudProviderManagerImpl.cpp \
    640         src-server/CPUProfileImpl.cpp \
    641         src-server/DataStreamImpl.cpp \
    642         src-server/DHCPServerImpl.cpp \
    643         src-server/DHCPConfigImpl.cpp \
    644         ../NetworkServices/Dhcpd/DhcpOptions.cpp \
    645         src-server/NetworkServiceRunner.cpp \
    646         src-server/NATNetworkImpl.cpp \
    647         $(if $(VBOX_WITH_CLOUD_NET), \
    648         src-server/CloudNetworkImpl.cpp \
    649         ,) \
    650         src-server/GuestDebugControlImpl.cpp \
    651         src-server/GuestOSTypeImpl.cpp \
    652         src-server/HostDnsService.cpp \
    653         src-server/HostImpl.cpp \
    654         src-server/HostAudioDeviceImpl.cpp \
    655         src-server/HostNetworkInterfaceImpl.cpp \
    656         src-server/HostPower.cpp \
    657         $(if $(VBOX_WITH_LIBCURL), \
    658         $(if $(VBOX_WITH_UPDATE_AGENT), \
    659         src-server/UpdateAgentImpl.cpp,), \
    660         ) \
    661         src-server/HostVideoInputDeviceImpl.cpp \
    662         src-server/HostDrivePartitionImpl.cpp \
    663         src-server/HostDriveImpl.cpp \
    664         src-server/MachineImpl.cpp \
    665         src-all/MachineLaunchVMCommonWorker.cpp \
    666         src-server/MachineImplCloneVM.cpp \
    667         src-server/MachineImplMoveVM.cpp \
    668         src-server/Matching.cpp \
    669         src-server/MediumAttachmentImpl.cpp \
    670         src-server/MediumFormatImpl.cpp \
    671         src-server/MediumImpl.cpp \
    672         src-server/MediumLock.cpp \
    673         src-server/MediumIOImpl.cpp \
    674         src-server/NATEngineImpl.cpp \
    675         src-server/NetworkAdapterImpl.cpp \
    676         src-server/ParallelPortImpl.cpp \
    677         src-server/ProgressProxyImpl.cpp \
    678         src-server/SerialPortImpl.cpp \
    679         src-server/SnapshotImpl.cpp \
    680         src-server/StorageControllerImpl.cpp \
    681         src-server/SystemPropertiesImpl.cpp \
    682         src-server/TokenImpl.cpp \
    683         src-server/TrustedPlatformModuleImpl.cpp \
    684         src-server/UefiVariableStoreImpl.cpp \
    685         $(if $(VBOX_WITH_UNATTENDED), \
    686         src-server/UnattendedImpl.cpp \
    687         src-server/UnattendedInstaller.cpp \
    688         src-server/UnattendedOs2Installer.cpp \
    689         src-server/UnattendedScript.cpp \
    690         src-all/TextScript.cpp \
    691         ,) \
    692         src-server/USBControllerImpl.cpp \
    693         src-server/USBDeviceFiltersImpl.cpp \
    694         src-server/VFSExplorerImpl.cpp \
    695         src-server/VirtualBoxImpl.cpp \
    696         src-server/VRDEServerImpl.cpp \
    697         src-server/generic/AutostartDb-generic.cpp \
    698         xml/ovfreader.cpp \
    699         xml/Settings.cpp \
    700         $(VBOX_XML_SCHEMADEFS_CPP) \
    701         $(VBOX_AUTOGEN_EVENT_CPP) \
    702         $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
    703         $(if $(VBOX_WITH_XPCOM),src-server/xpcom/server.cpp,)
    704 
    705 ifdef VBOX_WITH_MAIN_NLS
    706 VBoxSVC_SOURCES += \
    707         src-all/VirtualBoxTranslator.cpp \
    708         src-all/QMTranslatorImpl.cpp
    709 endif
    710 
    711 ifn1of ($(KBUILD_TARGET), win darwin)
    712 VBoxSVC_SOURCES += $(PATH_ROOT)/src/VBox/Devices/Network/slirp/resolv_conf_parser.c
    713 #$(PATH_ROOT)/src/VBox/Devices/Network/slirp/resolv_conf_parser.c_DEFS += LOG_GROUP=LOG_GROUP_MAIN
    714 endif
    715 
    716 VBoxSVC_SOURCES.darwin = \
    717         src-server/darwin/iokit.cpp \
    718         src-server/darwin/HostPowerDarwin.cpp \
    719         src-server/darwin/HostDnsServiceDarwin.cpp
    720 ifdef VBOX_WITH_VMNET
    721  VBoxSVC_SOURCES.darwin += \
    722         src-server/HostOnlyNetworkImpl.cpp
    723 endif
    724 
    725 VBoxSVC_SOURCES.win = \
    726         src-server/win/svcmain.cpp \
    727         src-server/win/svchlp.cpp \
    728         src-server/win/HostPowerWin.cpp \
    729         src-server/win/VBoxSVC.rc \
    730         src-server/win/HostDnsServiceWin.cpp
    731 
    732 VBoxSVC_SOURCES.linux = \
    733         src-server/linux/HostHardwareLinux.cpp \
    734         src-server/linux/HostDnsServiceLinux.cpp \
    735         $(if $(VBOX_WITH_DBUS),src-server/linux/HostPowerLinux.cpp) \
    736         src-server/HostDnsServiceResolvConf.cpp
    737 
    738 VBoxSVC_SOURCES.solaris = \
    739         src-server/linux/vbox-libhal.cpp \
    740         src-server/solaris/DynLoadLibSolaris.cpp \
    741         src-server/HostDnsServiceResolvConf.cpp
    742 
    743 VBoxSVC_SOURCES.os2 = \
    744         src-server/HostDnsServiceResolvConf.cpp
    745 
    746 VBoxSVC_SOURCES.freebsd = \
    747         src-server/freebsd/HostHardwareFreeBSD.cpp \
    748         src-server/HostDnsServiceResolvConf.cpp
    749 
    750 VBoxSVC_LDFLAGS.freebsd += -lcam
    751 
    752 
    753 ifdef VBOX_WITH_USB
    754  ifdef VBOX_WITH_SYSFS_BY_DEFAULT
    755   src-server/linux/USBProxyBackendLinux.cpp_DEFS += VBOX_WITH_SYSFS_BY_DEFAULT
    756  endif
    757  VBoxSVC_SOURCES  += \
    758         src-server/USBDeviceFilterImpl.cpp \
    759         src-server/USBProxyService.cpp \
    760         src-server/USBProxyBackend.cpp \
    761         src-server/generic/USBProxyBackendUsbIp.cpp \
    762         src-server/HostUSBDeviceImpl.cpp
    763  VBoxSVC_SOURCES.darwin  +=  src-server/darwin/USBProxyBackendDarwin.cpp
    764  VBoxSVC_SOURCES.linux   +=   src-server/linux/USBProxyBackendLinux.cpp
    765  VBoxSVC_SOURCES.linux   +=   src-server/linux/USBGetDevices.cpp
    766  VBoxSVC_SOURCES.os2     +=     src-server/os2/USBProxyBackendOs2.cpp
    767  VBoxSVC_SOURCES.solaris += src-server/solaris/USBProxyBackendSolaris.cpp
    768  VBoxSVC_SOURCES.win     +=     src-server/win/USBProxyBackendWindows.cpp
    769  VBoxSVC_SOURCES.freebsd += src-server/freebsd/USBProxyBackendFreeBSD.cpp
    770 endif
    771 
    772 ifdef VBOX_WITH_NETFLT
    773  VBoxSVC_SDKS.win += VBoxWinNewDevLib
     502  # $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs)
     503  # $(VBoxSDS_0_OUTDIR)/VBoxSDS.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     504  #     $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
     505  #     $(VBOX_XSLTPROC) \
     506  #             --stringparam Application "VirtualBox System" \
     507  #             --stringparam Module VBoxSDS \
     508  #             -o $@ \
     509  #             $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
     510  #             $(VBOX_XIDL_FILE)
     511  #
     512 endif #if defined(VBOX_WITH_SDS) && "$(KBUILD_TARGET)" == "win"
     513
     514 #
     515 # VBoxSVC executable
     516 #
     517 PROGRAMS += VBoxSVC
     518 VBoxSVC_TEMPLATE = VBoxMainExe
     519 if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win"
     520  VBoxSVC_USES   += vccprecomp
     521  VBoxSVC_PCH_HDR := $(PATH_SUB_CURRENT)/src-server/win/precomp_vcc.h
     522 else if $(KBUILD_KMK_REVISION) >= 3256 && "$(KBUILD_TARGET)" != "darwin" && !defined(VBOX_WITHOUT_PRECOMPILED_HEADERS)
     523  if $(VBOX_GCC_VERSION_CXX) >= 50000 # GCC 4.x runs into trouble compiling the header.
     524   VBoxSVC_USES += gccprecomp
     525   VBoxSVC_PCH_HDR := $(PATH_SUB_CURRENT)/src-server/xpcom/precomp_gcc.h
     526  endif
     527 endif
     528 VBoxSVC_DEFS = \
     529        IN_VBOXSVC \
     530        VBOX_MAIN_SETTINGS_ADDONS \
     531        IN_VMM_STATIC \
     532        $(VBOX_MAIN_DEFS) \
     533        $(if $(VBOX_WITH_VBOXSDL),VBOX_WITH_VBOXSDL,) \
     534        $(if $(VBOX_WITH_HEADLESS),VBOX_WITH_HEADLESS,) \
     535        $(if $(VBOX_WITH_QTGUI),VBOX_WITH_QTGUI,) \
     536        $(if $(VBOX_WITH_AHCI),VBOX_WITH_AHCI,) \
     537        $(if $(VBOX_WITH_LSILOGIC),VBOX_WITH_LSILOGIC,) \
     538        $(if $(VBOX_WITH_LINUX_COMPILER_H),VBOX_WITH_LINUX_COMPILER_H,) \
     539        $(if $(VBOX_WITH_RESOURCE_USAGE_API),VBOX_WITH_RESOURCE_USAGE_API,) \
     540        $(if $(VBOX_WITH_UNATTENDED),VBOX_WITH_UNATTENDED,) \
     541        $(if $(VBOX_WITH_DBUS),VBOX_WITH_DBUS,) \
     542        $(if $(VBOX_WITH_DBUS),$(if $(VBOX_USB_WITH_DBUS),VBOX_USB_WITH_DBUS,),) \
     543        $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
     544        $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
     545        $(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,) \
     546        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
     547        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
     548        $(if $(VBOX_WITH_TPM),VBOX_WITH_TPM,) \
     549        $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,) \
     550        $(if-expr defined(VBOX_WITH_SDS),VBOX_WITH_SDS,)
     551 ifdef VBOX_WITH_USB
     552  VBoxSVC_DEFS += \
     553        VBOX_WITH_USB \
     554        $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \
     555        $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
     556 endif
     557 VBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x0600
     558 # Try to load and use libhal at runtime for probing removable media
     559 # VBoxSVC_DEFS.linux += VBOX_USE_LIBHAL
     560 VBoxSVC_DEFS.solaris += VBOX_USE_LIBHAL
     561
     562 if $(KBUILD_TARGET) != "win" && $(VBOX_GCC_VERSION_CXX) >= 40900 # gcc 4.9.x (4.8.x is causing endless RT_ELEMENT trouble)
     563  VBoxSVC_CXXFLAGS = -Wunused -Wconversion
     564 endif
     565
     566 VBoxSVC_INCS = \
     567        include \
     568        $(VBoxSVC_0_OUTDIR) \
     569        $(dir $(VBOX_XML_SCHEMADEFS_H)) \
     570        $(VBOX_MAIN_APIWRAPPER_INCS) \
     571        . \
     572        $(VBOX_GRAPHICS_INCS)
     573 VBoxSVC_INCS.win = \
     574        $(VBoxCOM_0_OUTDIR)
     575 ifdef VBOX_WITH_USB
     576  VBoxSVC_INCS.os2 = \
     577        $(PATH_ROOT)/src/VBox/HostDrivers/VBoxUSB/os2
     578 endif
     579
     580 VBoxSVC_LIBS += \
     581        $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
     582        $(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \
     583        $(LIB_DDU)
     584
     585 VBoxSVC_SDKS = VBoxLibPng VBoxZlib
     586 VBoxSVC_LIBS.solaris = \
     587        adm \
     588        nsl \
     589        devinfo \
     590        socket
     591
    774592 VBoxSVC_LIBS.win += \
    775         $(PATH_STAGE_LIB)/WinNetConfigDll$(VBOX_SUFF_LIB) \
    776         $(PATH_STAGE_LIB)/VBoxDrvCfgDll$(VBOX_SUFF_LIB) \
    777         $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
    778         $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
    779 endif
    780 VBoxSVC_LDFLAGS.darwin    = -framework IOKit -framework SystemConfiguration
    781 
    782 ifdef VBOX_WITH_3D_ACCELERATION
    783  VBoxSVC_DEFS            += VBOX_WITH_3D_ACCELERATION
    784  VBoxSVC_LIBS            += $(PATH_STAGE_LIB)/VBoxOGLTest$(VBOX_SUFF_LIB)
    785  VBoxSVC_LDFLAGS.darwin  += -framework OpenGL
    786 endif
    787 
    788 ifeq ($(KBUILD_TYPE),debug)
    789  VBoxSVC_LDFLAGS.linux   += -rdynamic # for backtrace_symbols()
    790 endif
    791 
    792 ifdef VBOX_WITH_RESOURCE_USAGE_API
    793  VBoxSVC_SOURCES += \
    794         src-server/PerformanceImpl.cpp \
    795         src-server/Performance.cpp
    796  VBoxSVC_SOURCES.darwin  +=  src-server/darwin/PerformanceDarwin.cpp
    797  VBoxSVC_SOURCES.freebsd += src-server/freebsd/PerformanceFreeBSD.cpp
    798  VBoxSVC_SOURCES.linux   +=   src-server/linux/PerformanceLinux.cpp
    799  VBoxSVC_SOURCES.os2     +=     src-server/os2/PerformanceOs2.cpp
    800  VBoxSVC_SOURCES.solaris += src-server/solaris/PerformanceSolaris.cpp
    801  VBoxSVC_SOURCES.win     +=     src-server/win/PerformanceWin.cpp
    802  VBoxSVC_LDFLAGS.darwin  += -lproc
    803  VBoxSVC_LDFLAGS.solaris += -lkstat -lnvpair
    804  VBoxSVC_LDFLAGS.win     += psapi.lib powrprof.lib
    805 endif
    806 
    807 ifdef VBOX_WITH_HOSTNETIF_API
    808  VBoxSVC_SOURCES.win     +=     src-server/win/NetIf-win.cpp
    809  VBoxSVC_SOURCES.linux   +=   src-server/linux/NetIf-linux.cpp
    810  VBoxSVC_SOURCES.os2     +=     src-server/os2/NetIf-os2.cpp
    811  VBoxSVC_SOURCES.darwin  +=  src-server/darwin/NetIf-darwin.cpp
    812  VBoxSVC_SOURCES.solaris += src-server/solaris/NetIf-solaris.cpp
    813  VBoxSVC_SOURCES.freebsd += src-server/freebsd/NetIf-freebsd.cpp
    814  VBoxSVC_DEFS            += VBOX_WITH_HOSTNETIF_API
    815  if1of ($(KBUILD_TARGET), linux darwin solaris freebsd)
    816   VBoxSVC_SOURCES        += src-server/generic/NetIf-generic.cpp
    817  endif
    818 endif
    819 
    820 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxSVC) # Sets VBoxSVC_0_OUTDIR
    821 
    822 ifdef VBOX_WITH_MAIN_USB_ID_DATABASE # Generate a database of USB vendor IDs and device IDs.
    823  VBoxSVC_DEFS    += VBOX_WITH_MAIN_USB_ID_DATABASE
    824  VBoxSVC_SOURCES += $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp
    825  VBoxSVC_CLEAN   += $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp
    826 
    827  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp)
    828  $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp:  $$(USBIdDatabaseGenerator_1_TARGET) \
    829                 $(PATH_SUB_CURRENT)/src-server/usb.ids $(PATH_SUB_CURRENT)/src-server/custom.ids | $$(dir $$@)
     593        $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/dnsapi.lib
     594
     595 VBoxSVC_INTERMEDIATES = \
     596        $(VBOX_MAIN_PREREQS) \
     597        $(VBOX_XML_SCHEMADEFS_H) \
     598        $(VBOX_AUTOGEN_EVENT_H) \
     599        $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \
     600        $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
     601
     602 VBoxSVC_SOURCES = \
     603        $(VBOX_SVC_CERTS_FILE) \
     604        $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
     605        src-all/AuthLibrary.cpp \
     606        src-all/CryptoUtils.cpp \
     607        src-all/DisplayPNGUtil.cpp \
     608        src-all/DisplayResampleImage.cpp \
     609        src-all/DisplayUtils.cpp \
     610        src-all/EventImpl.cpp \
     611        src-all/Global.cpp \
     612        src-all/GlobalStatusConversion.cpp \
     613        src-all/HashedPw.cpp \
     614        src-all/Logging.cpp \
     615        src-all/NvramStoreImpl.cpp \
     616        src-all/PCIDeviceAttachmentImpl.cpp \
     617        src-all/ProgressImpl.cpp \
     618        src-all/SecretKeyStore.cpp \
     619        src-all/SharedFolderImpl.cpp \
     620        src-all/AutoCaller.cpp \
     621        src-all/ThreadTask.cpp \
     622        src-all/VirtualBoxBase.cpp \
     623        src-all/VirtualBoxErrorInfoImpl.cpp \
     624        $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
     625        src-server/CertificateImpl.cpp \
     626        src-server/ApplianceImpl.cpp \
     627        src-server/ApplianceImplExport.cpp \
     628        src-server/ApplianceImplImport.cpp \
     629        src-server/AudioAdapterImpl.cpp \
     630        src-server/AudioSettingsImpl.cpp \
     631        src-server/BandwidthControlImpl.cpp \
     632        src-server/BandwidthGroupImpl.cpp \
     633        src-server/BIOSSettingsImpl.cpp \
     634        src-server/RecordingSettingsImpl.cpp \
     635        src-server/RecordingScreenSettingsImpl.cpp \
     636        src-server/GraphicsAdapterImpl.cpp \
     637        src-server/ClientWatcher.cpp \
     638        src-server/ClientToken.cpp \
     639        src-server/CloudProviderManagerImpl.cpp \
     640        src-server/CPUProfileImpl.cpp \
     641        src-server/DataStreamImpl.cpp \
     642        src-server/DHCPServerImpl.cpp \
     643        src-server/DHCPConfigImpl.cpp \
     644        ../NetworkServices/Dhcpd/DhcpOptions.cpp \
     645        src-server/NetworkServiceRunner.cpp \
     646        src-server/NATNetworkImpl.cpp \
     647        $(if $(VBOX_WITH_CLOUD_NET), \
     648        src-server/CloudNetworkImpl.cpp \
     649        ,) \
     650        src-server/GuestDebugControlImpl.cpp \
     651        src-server/GuestOSTypeImpl.cpp \
     652        src-server/HostDnsService.cpp \
     653        src-server/HostImpl.cpp \
     654        src-server/HostAudioDeviceImpl.cpp \
     655        src-server/HostNetworkInterfaceImpl.cpp \
     656        src-server/HostPower.cpp \
     657        $(if $(VBOX_WITH_LIBCURL), \
     658        $(if $(VBOX_WITH_UPDATE_AGENT), \
     659        src-server/UpdateAgentImpl.cpp,), \
     660        ) \
     661        src-server/HostVideoInputDeviceImpl.cpp \
     662        src-server/HostDrivePartitionImpl.cpp \
     663        src-server/HostDriveImpl.cpp \
     664        src-server/MachineImpl.cpp \
     665        src-all/MachineLaunchVMCommonWorker.cpp \
     666        src-server/MachineImplCloneVM.cpp \
     667        src-server/MachineImplMoveVM.cpp \
     668        src-server/Matching.cpp \
     669        src-server/MediumAttachmentImpl.cpp \
     670        src-server/MediumFormatImpl.cpp \
     671        src-server/MediumImpl.cpp \
     672        src-server/MediumLock.cpp \
     673        src-server/MediumIOImpl.cpp \
     674        src-server/NATEngineImpl.cpp \
     675        src-server/NetworkAdapterImpl.cpp \
     676        src-server/ParallelPortImpl.cpp \
     677        src-server/ProgressProxyImpl.cpp \
     678        src-server/SerialPortImpl.cpp \
     679        src-server/SnapshotImpl.cpp \
     680        src-server/StorageControllerImpl.cpp \
     681        src-server/SystemPropertiesImpl.cpp \
     682        src-server/TokenImpl.cpp \
     683        src-server/TrustedPlatformModuleImpl.cpp \
     684        src-server/UefiVariableStoreImpl.cpp \
     685        $(if $(VBOX_WITH_UNATTENDED), \
     686        src-server/UnattendedImpl.cpp \
     687        src-server/UnattendedInstaller.cpp \
     688        src-server/UnattendedOs2Installer.cpp \
     689        src-server/UnattendedScript.cpp \
     690        src-all/TextScript.cpp \
     691        ,) \
     692        src-server/USBControllerImpl.cpp \
     693        src-server/USBDeviceFiltersImpl.cpp \
     694        src-server/VFSExplorerImpl.cpp \
     695        src-server/VirtualBoxImpl.cpp \
     696        src-server/VRDEServerImpl.cpp \
     697        src-server/generic/AutostartDb-generic.cpp \
     698        xml/ovfreader.cpp \
     699        xml/Settings.cpp \
     700        $(VBOX_XML_SCHEMADEFS_CPP) \
     701        $(VBOX_AUTOGEN_EVENT_CPP) \
     702        $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
     703        $(if $(VBOX_WITH_XPCOM),src-server/xpcom/server.cpp,)
     704
     705 ifdef VBOX_WITH_MAIN_NLS
     706  VBoxSVC_SOURCES += \
     707        src-all/VirtualBoxTranslator.cpp \
     708        src-all/QMTranslatorImpl.cpp
     709 endif
     710
     711 ifn1of ($(KBUILD_TARGET), win darwin)
     712  VBoxSVC_SOURCES += $(PATH_ROOT)/src/VBox/Devices/Network/slirp/resolv_conf_parser.c
     713  #$(PATH_ROOT)/src/VBox/Devices/Network/slirp/resolv_conf_parser.c_DEFS += LOG_GROUP=LOG_GROUP_MAIN
     714 endif
     715
     716 VBoxSVC_SOURCES.darwin = \
     717        src-server/darwin/iokit.cpp \
     718        src-server/darwin/HostPowerDarwin.cpp \
     719        src-server/darwin/HostDnsServiceDarwin.cpp
     720 ifdef VBOX_WITH_VMNET
     721  VBoxSVC_SOURCES.darwin += \
     722        src-server/HostOnlyNetworkImpl.cpp
     723 endif
     724
     725 VBoxSVC_SOURCES.win = \
     726        src-server/win/svcmain.cpp \
     727        src-server/win/svchlp.cpp \
     728        src-server/win/HostPowerWin.cpp \
     729        src-server/win/VBoxSVC.rc \
     730        src-server/win/HostDnsServiceWin.cpp
     731
     732 VBoxSVC_SOURCES.linux = \
     733        src-server/linux/HostHardwareLinux.cpp \
     734        src-server/linux/HostDnsServiceLinux.cpp \
     735        $(if $(VBOX_WITH_DBUS),src-server/linux/HostPowerLinux.cpp) \
     736        src-server/HostDnsServiceResolvConf.cpp
     737
     738 VBoxSVC_SOURCES.solaris = \
     739        src-server/linux/vbox-libhal.cpp \
     740        src-server/solaris/DynLoadLibSolaris.cpp \
     741        src-server/HostDnsServiceResolvConf.cpp
     742
     743 VBoxSVC_SOURCES.os2 = \
     744        src-server/HostDnsServiceResolvConf.cpp
     745
     746 VBoxSVC_SOURCES.freebsd = \
     747        src-server/freebsd/HostHardwareFreeBSD.cpp \
     748        src-server/HostDnsServiceResolvConf.cpp
     749
     750 VBoxSVC_LDFLAGS.freebsd += -lcam
     751
     752
     753 ifdef VBOX_WITH_USB
     754  ifdef VBOX_WITH_SYSFS_BY_DEFAULT
     755   src-server/linux/USBProxyBackendLinux.cpp_DEFS += VBOX_WITH_SYSFS_BY_DEFAULT
     756  endif
     757  VBoxSVC_SOURCES += \
     758        src-server/USBDeviceFilterImpl.cpp \
     759        src-server/USBProxyService.cpp \
     760        src-server/USBProxyBackend.cpp \
     761        src-server/generic/USBProxyBackendUsbIp.cpp \
     762        src-server/HostUSBDeviceImpl.cpp
     763  VBoxSVC_SOURCES.darwin += src-server/darwin/USBProxyBackendDarwin.cpp
     764  VBoxSVC_SOURCES.linux  += src-server/linux/USBProxyBackendLinux.cpp
     765  VBoxSVC_SOURCES.linux  += src-server/linux/USBGetDevices.cpp
     766  VBoxSVC_SOURCES.os2    += src-server/os2/USBProxyBackendOs2.cpp
     767  VBoxSVC_SOURCES.solaris += src-server/solaris/USBProxyBackendSolaris.cpp
     768  VBoxSVC_SOURCES.win    += src-server/win/USBProxyBackendWindows.cpp
     769  VBoxSVC_SOURCES.freebsd += src-server/freebsd/USBProxyBackendFreeBSD.cpp
     770 endif
     771
     772 ifdef VBOX_WITH_NETFLT
     773  VBoxSVC_SDKS.win += VBoxWinNewDevLib
     774  VBoxSVC_LIBS.win += \
     775        $(PATH_STAGE_LIB)/WinNetConfigDll$(VBOX_SUFF_LIB) \
     776        $(PATH_STAGE_LIB)/VBoxDrvCfgDll$(VBOX_SUFF_LIB) \
     777        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     778        $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
     779 endif
     780 VBoxSVC_LDFLAGS.darwin   = -framework IOKit -framework SystemConfiguration
     781
     782 ifdef VBOX_WITH_3D_ACCELERATION
     783  VBoxSVC_DEFS           += VBOX_WITH_3D_ACCELERATION
     784  VBoxSVC_LIBS           += $(PATH_STAGE_LIB)/VBoxOGLTest$(VBOX_SUFF_LIB)
     785  VBoxSVC_LDFLAGS.darwin += -framework OpenGL
     786 endif
     787
     788 ifeq ($(KBUILD_TYPE),debug)
     789  VBoxSVC_LDFLAGS.linux  += -rdynamic # for backtrace_symbols()
     790 endif
     791
     792 ifdef VBOX_WITH_RESOURCE_USAGE_API
     793  VBoxSVC_SOURCES += \
     794        src-server/PerformanceImpl.cpp \
     795        src-server/Performance.cpp
     796  VBoxSVC_SOURCES.darwin += src-server/darwin/PerformanceDarwin.cpp
     797  VBoxSVC_SOURCES.freebsd += src-server/freebsd/PerformanceFreeBSD.cpp
     798  VBoxSVC_SOURCES.linux  += src-server/linux/PerformanceLinux.cpp
     799  VBoxSVC_SOURCES.os2    += src-server/os2/PerformanceOs2.cpp
     800  VBoxSVC_SOURCES.solaris += src-server/solaris/PerformanceSolaris.cpp
     801  VBoxSVC_SOURCES.win    += src-server/win/PerformanceWin.cpp
     802  VBoxSVC_LDFLAGS.darwin += -lproc
     803  VBoxSVC_LDFLAGS.solaris += -lkstat -lnvpair
     804  VBoxSVC_LDFLAGS.win    += psapi.lib powrprof.lib
     805 endif
     806
     807 ifdef VBOX_WITH_HOSTNETIF_API
     808  VBoxSVC_SOURCES.win    += src-server/win/NetIf-win.cpp
     809  VBoxSVC_SOURCES.linux  += src-server/linux/NetIf-linux.cpp
     810  VBoxSVC_SOURCES.os2    += src-server/os2/NetIf-os2.cpp
     811  VBoxSVC_SOURCES.darwin += src-server/darwin/NetIf-darwin.cpp
     812  VBoxSVC_SOURCES.solaris += src-server/solaris/NetIf-solaris.cpp
     813  VBoxSVC_SOURCES.freebsd += src-server/freebsd/NetIf-freebsd.cpp
     814  VBoxSVC_DEFS           += VBOX_WITH_HOSTNETIF_API
     815  if1of ($(KBUILD_TARGET), linux darwin solaris freebsd)
     816   VBoxSVC_SOURCES       += src-server/generic/NetIf-generic.cpp
     817  endif
     818 endif
     819
     820 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxSVC) # Sets VBoxSVC_0_OUTDIR
     821
     822 ifdef VBOX_WITH_MAIN_USB_ID_DATABASE # Generate a database of USB vendor IDs and device IDs.
     823  VBoxSVC_DEFS   += VBOX_WITH_MAIN_USB_ID_DATABASE
     824  VBoxSVC_SOURCES += $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp
     825  VBoxSVC_CLEAN  += $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp
     826
     827  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp)
     828  $(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp: $$(USBIdDatabaseGenerator_1_TARGET) \
     829                $(PATH_SUB_CURRENT)/src-server/usb.ids $(PATH_SUB_CURRENT)/src-server/custom.ids | $$(dir $$@)
    830830        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    831831        $(call MSG_GENERATE,USBIdDatabase,$@,$(USBIdDatabaseGenerator_1_TARGET))
    832832        $(QUIET)$(USBIdDatabaseGenerator_1_TARGET) -o "$@" $(filter %.ids,$^)
    833833
    834  BLDPROGS += USBIdDatabaseGenerator
    835  USBIdDatabaseGenerator_TEMPLATE = VBoxAdvBldProg
    836  USBIdDatabaseGenerator_SOURCES = src-server/USBIdDatabaseGenerator.cpp
    837 else
    838  VBoxSVC_SOURCES += src-server/USBIdDatabaseStub.cpp
    839 endif
    840 
    841 src-server/win/VBoxSVC.rc_INCS = $(VBoxSVC_0_OUTDIR)
    842 src-server/win/VBoxSVC.rc_DEPS = $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
    843 VBoxSVC_CLEAN                  += $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
    844 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc)
    845 $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc: $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
     834  BLDPROGS += USBIdDatabaseGenerator
     835  USBIdDatabaseGenerator_TEMPLATE = VBoxAdvBldProg
     836  USBIdDatabaseGenerator_SOURCES = src-server/USBIdDatabaseGenerator.cpp
     837 else
     838  VBoxSVC_SOURCES += src-server/USBIdDatabaseStub.cpp
     839 endif
     840
     841 src-server/win/VBoxSVC.rc_INCS = $(VBoxSVC_0_OUTDIR)
     842 src-server/win/VBoxSVC.rc_DEPS = $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
     843 VBoxSVC_CLEAN                 += $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc
     844 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc)
     845 $(VBoxSVC_0_OUTDIR)/VBoxSVC-icon.rc: $(VBOX_WINDOWS_ICON_FILE) | $$(dir $$@)
    846846        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    847847        $(APPEND) -t $@ '1 ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
    848848
    849 ifndef VBOX_WITH_MIDL_PROXY_STUB
    850  src-server/win/VBoxSVC.rc_DEPS += $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs
    851  VBoxSVC_CLEAN                  += $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs
    852  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs)
    853  $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     849 ifndef VBOX_WITH_MIDL_PROXY_STUB
     850  src-server/win/VBoxSVC.rc_DEPS += $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs
     851  VBoxSVC_CLEAN                 += $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs
     852  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs)
     853  $(VBoxSVC_0_OUTDIR)/VBoxSVC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    854854        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    855855        $(VBOX_XSLTPROC) \
     
    859859                $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
    860860                $(VBOX_XIDL_FILE)
    861 endif
    862 
    863 ## @todo r=klaus unfortunately we don't have xmllint everywhere, would be
    864 # good to check the validity for every VirtualBox.xidl change.
    865 #$(VBOX_XIDL_FILE).validated.ts: $(VBOX_XIDL_FILE_SRC)
    866 #       xmllint --dtdvalid $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.dtd --noout $<
    867 #       $(QUIET)$(CP) --changed -fv $< $(VBOX_XIDL_FILE).validated.ts
    868 #
    869 #OTHERS += $(VBOX_XIDL_FILE).validated.ts
    870 #OTHER_CLEAN += $(VBOX_XIDL_FILE).validated.ts
    871 
    872 testvalidxidl: $(VBOX_XIDL_FILE_SRC)
     861 endif
     862
     863 ## @todo r=klaus unfortunately we don't have xmllint everywhere, would be
     864 # good to check the validity for every VirtualBox.xidl change.
     865 #$(VBOX_XIDL_FILE).validated.ts: $(VBOX_XIDL_FILE_SRC)
     866 #      xmllint --dtdvalid $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.dtd --noout $<
     867 #      $(QUIET)$(CP) --changed -fv $< $(VBOX_XIDL_FILE).validated.ts
     868 #
     869 #OTHERS += $(VBOX_XIDL_FILE).validated.ts
     870 #OTHER_CLEAN += $(VBOX_XIDL_FILE).validated.ts
     871
     872 testvalidxidl: $(VBOX_XIDL_FILE_SRC)
    873873        xmllint --dtdvalid $(VBOX_PATH_MAIN_SRC)/idl/VirtualBox.dtd --noout $<
    874874
    875875
    876 #
    877 # Embed some constraints from XML Schema file into VBoxSVC
    878 #
    879 VBOX_XML_SCHEMA = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings.xsd
    880 
    881 $(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
     876 #
     877 # Embed some constraints from XML Schema file into VBoxSVC
     878 #
     879 VBOX_XML_SCHEMA = $(VBOX_PATH_MAIN_SRC)/xml/VirtualBox-settings.xsd
     880
     881 $(VBOX_XML_SCHEMADEFS_H): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
    882882        $(call MSG_GENERATE,SchemaDefs,$@,$<)
    883883        $(QUIET)$(VBOX_XSLTPROC)  --stringparam mode declare -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA)
    884884
    885 $(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
     885 $(VBOX_XML_SCHEMADEFS_CPP): $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA) | $$(dir $$@)
    886886        $(call MSG_GENERATE,SchemaDefs,$@,$<)
    887887        $(QUIET)$(VBOX_XSLTPROC)  --stringparam mode define  -o $@ $(VBOX_XML_SCHEMADEFS_XSL) $(VBOX_XML_SCHEMA)
    888888
    889 testvalidsettings: $(VBOX_XML_SCHEMA)
     889 testvalidsettings: $(VBOX_XML_SCHEMA)
    890890        xmllint --schema $< --noout $(HOME)/.VirtualBox/VirtualBox.xml
    891891        xmllint --schema $< --noout $(HOME)/.VirtualBox/Machines/*/*.xml
     
    893893        xmllint --schema $< --noout $(HOME)/VirtualBox\ VMs/*/*.vbox
    894894
    895 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
    896 
    897 
    898 #
    899 # Generate some event stuff for VBoxSVC and VBoxC.
    900 #
    901 
    902 # Events
    903 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_EVENT_H).ts)
    904 $(VBOX_AUTOGEN_EVENT_H).ts +| $(VBOX_AUTOGEN_EVENT_H): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     895 OTHER_CLEAN += $(VBOX_XML_SCHEMADEFS_H) $(VBOX_XML_SCHEMADEFS_CPP)
     896
     897
     898 #
     899 # Generate some event stuff for VBoxSVC and VBoxC.
     900 #
     901
     902 # Events
     903 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_EVENT_H).ts)
     904 $(VBOX_AUTOGEN_EVENT_H).ts +| $(VBOX_AUTOGEN_EVENT_H): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    905905        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    906906        $(call MSG_TOOL,xsltproc,autogen events,$<,$@)
     
    908908        $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_EVENT_H)"
    909909
    910 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_EVENT_CPP).ts)
    911 $(VBOX_AUTOGEN_EVENT_CPP).ts +| $(VBOX_AUTOGEN_EVENT_CPP): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     910 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_EVENT_CPP).ts)
     911 $(VBOX_AUTOGEN_EVENT_CPP).ts +| $(VBOX_AUTOGEN_EVENT_CPP): $(VBOX_PATH_MAIN_SRC)/idl/comimpl.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    912912        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    913913        $(call MSG_TOOL,xsltproc,autogen events,$<,$@)
     
    915915        $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_EVENT_CPP)"
    916916
    917 OTHER_CLEAN += $(VBOX_AUTOGEN_EVENT_H).ts $(VBOX_AUTOGEN_EVENT_H) $(VBOX_AUTOGEN_EVENT_CPP).ts $(VBOX_AUTOGEN_EVENT_CPP)
    918 
    919 # Enum stringifiers
    920 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts)
    921 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     917 OTHER_CLEAN += $(VBOX_AUTOGEN_EVENT_H).ts $(VBOX_AUTOGEN_EVENT_H) $(VBOX_AUTOGEN_EVENT_CPP).ts $(VBOX_AUTOGEN_EVENT_CPP)
     918
     919 # Enum stringifiers
     920 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts)
     921 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    922922        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    923923        $(call MSG_TOOL,xsltproc,autogen enum stringifiers,$<,$@)
     
    925925        $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_STRINGIFY_ENUMS_H)"
    926926
    927 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts)
    928 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     927 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts)
     928 $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts +| $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP): $(VBOX_PATH_MAIN_SRC)/idl/stringify-enums.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    929929        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    930930        $(call MSG_TOOL,xsltproc,autogen enum stringifiers,$<,$@)
     
    932932        $(QUIET)$(CP) --changed -fv -- "$@" "$(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP)"
    933933
    934 OTHER_CLEAN += $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP)
    935 
    936 ifdef VBOX_WITH_XPCOM
    937 #
    938 # VBoxSVCM - VBoxSVC wrapper module
    939 #
    940 DLLS += VBoxSVCM
    941 VBoxSVCM_TEMPLATE       = VBoxMainComp
    942 VBoxSVCM_DEFS           = IN_RING3 $(VBOX_MAIN_DEFS)
    943  ifdef VBOX_WITH_HARDENING
    944 VBoxSVCM_DEFS         += VBOX_WITH_HARDENING
    945  endif
    946 VBoxSVCM_INCS           = \
    947         include \
    948         $(VBoxC_0_OUTDIR) \
    949         .
    950 VBoxSVCM_INTERMEDIATES = $(VBOX_MAIN_PREREQS)
    951 VBoxSVCM_SOURCES        = \
    952         src-server/xpcom/server_module.cpp
    953 VBoxSVCM_LDFLAGS.darwin = \
    954         -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \
    955         -exported_symbols_list $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
    956  ifeq ($(KBUILD_TARGET),darwin)
    957 VBoxSVCM_ORDERDEPS     += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
    958 VBoxSVCM_CLEAN         += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
    959 $$(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def:
     934 OTHER_CLEAN += $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP).ts $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP)
     935
     936 ifdef VBOX_WITH_XPCOM
     937  #
     938  # VBoxSVCM - VBoxSVC wrapper module
     939  #
     940  DLLS += VBoxSVCM
     941  VBoxSVCM_TEMPLATE     = VBoxMainComp
     942  VBoxSVCM_DEFS         = IN_RING3 $(VBOX_MAIN_DEFS)
     943  ifdef VBOX_WITH_HARDENING
     944   VBoxSVCM_DEFS      += VBOX_WITH_HARDENING
     945  endif
     946  VBoxSVCM_INCS         = \
     947        include \
     948        $(VBoxC_0_OUTDIR) \
     949        .
     950  VBoxSVCM_INTERMEDIATES = $(VBOX_MAIN_PREREQS)
     951  VBoxSVCM_SOURCES      = \
     952        src-server/xpcom/server_module.cpp
     953  VBoxSVCM_LDFLAGS.darwin = \
     954        -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \
     955        -exported_symbols_list $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
     956  ifeq ($(KBUILD_TARGET),darwin)
     957   VBoxSVCM_ORDERDEPS  += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
     958   VBoxSVCM_CLEAN      += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
     959   $$(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def:
    960960        $(RM) -f $@
    961961        $(APPEND) $@ _NSGetModule
    962  endif
    963 VBoxSVCM_INTERMEDIATES += $(VBOX_IDL_HEADER.XPCOM)
    964 
    965  # 32-bit version of the module.
    966  ifdef VBOX_WITH_32_ON_64_MAIN_API
    967 DLLS += VBoxSVCM-x86
    968 VBoxSVCM-x86_TEMPLATE = VBoxMainComp-x86
    969 VBoxSVCM-x86_EXTENDS  = VBoxSVCM
    970  endif
    971 
    972 endif # VBOX_WITH_XPCOM
    973 
    974 
    975 #
    976 # VBoxC module
    977 #
    978 DLLS += VBoxC
    979 VBoxC_TEMPLATE  = VBoxMainComp
    980 if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win"
    981  VBoxC_USES     = vccprecomp
    982  VBoxC_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/win/precomp_vcc.h
    983 else if $(KBUILD_KMK_REVISION) >= 3256 && "$(KBUILD_TARGET)" != "darwin" && !defined(VBOX_WITHOUT_PRECOMPILED_HEADERS)
    984  if $(VBOX_GCC_VERSION_CXX) >= 50000 # GCC 4.x runs into trouble compiling the header.
    985 VBoxC_USES    += gccprecomp
    986 VBoxC_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/xpcom/precomp_gcc.h
    987  endif
    988 endif
    989 VBoxC_DEFS = \
    990         IN_RING3 \
    991         $(VBOX_MAIN_DEFS) \
    992         VBOX_COM_INPROC \
    993         $(if $(VBOX_WITH_EFI),VBOX_WITH_EFI,) \
    994         $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
    995         $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
    996         $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
    997         $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) \
    998         $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
    999         $(if $(VBOX_WITH_VRDEAUTH_IN_VBOXSVC),VBOX_WITH_VRDEAUTH_IN_VBOXSVC,) \
    1000         $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
    1001         $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
    1002         $(if $(VBOX_WITH_TPM),VBOX_WITH_TPM,) \
    1003         $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,)
    1004 ifdef VBOX_WITH_NETSHAPER
    1005  VBoxC_DEFS += VBOX_WITH_NETSHAPER
    1006 endif
    1007 VBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
    1008 VBoxC_DEFS.win.x86 += _WIN32_WINNT=0x0500
    1009 VBoxC_DEFS.win.amd64 += _WIN32_WINNT=0x0510
    1010 
    1011 if $(KBUILD_TARGET) != "win" && $(VBOX_GCC_VERSION_CXX) >= 40900 # gcc 4.9.x (4.8.x is causing endless RT_ELEMENT trouble)
    1012 # VBoxC_CXXFLAGS = -Wunused -Wconversion
    1013 endif
    1014 
    1015 VBoxC_SDKS = VBoxLibPng VBoxZlib
    1016 
    1017 ifdef VBOX_WITH_RECORDING
    1018  ifdef VBOX_WITH_LIBVPX
    1019   VBoxC_SDKS += VBoxLibVpx
    1020   VBoxC_DEFS += VBOX_WITH_LIBVPX
    1021  endif
    1022  VBoxC_SOURCES += \
    1023         src-client/EBMLWriter.cpp \
    1024         src-client/WebMWriter.cpp \
    1025         src-client/Recording.cpp \
    1026         src-client/RecordingInternals.cpp \
    1027         src-client/RecordingCodec.cpp \
    1028         src-client/RecordingStream.cpp \
    1029         src-client/RecordingUtils.cpp
    1030 
    1031  ifdef VBOX_WITH_AUDIO_RECORDING
    1032   VBoxC_DEFS += VBOX_WITH_AUDIO_RECORDING
    1033   # Needed in VBoxSVC for ISystemProperties.
    1034   src-server/SystemPropertiesImpl.cpp_DEFS += VBOX_WITH_AUDIO_RECORDING
    1035   ifdef VBOX_WITH_LIBOGG
    1036    VBOX_MAIN_DEFS += VBOX_WITH_LIBOGG
    1037    VBoxC_SDKS     += VBoxLibOgg
    1038    VBoxC_DEFS     += VBOX_WITH_LIBOGG
    1039    ## @todo We need this for libvorbis down below. Remove once the libvorbis @todo is resolved.
    1040    VBoxSVC_SDKS   += VBoxLibOgg
    1041   endif
    1042   ifdef VBOX_WITH_LIBVORBIS
    1043    VBOX_MAIN_DEFS += VBOX_WITH_LIBVORBIS
    1044    VBoxC_SDKS     += VBoxLibVorbis
    1045    ## @todo We also need to specify this for VBoxSVC, as we need to have VBOX_WITH_LIBVORBIS defined
    1046    ##       for SystemProperties::getSupportedRecordingAudioCodecs().
    1047    #        SystemPropertiesImpl_DEFS += VBOX_WITH_LIBVORBIS didn't work for precompiled headers on Windows --
    1048    #        needs to be solved properly so that we can remove the following _SDKS from VBoxSVC again.
    1049    VBoxSVC_SDKS   += VBoxLibVorbis
    1050   endif
    1051   VBoxC_SOURCES += src-client/DrvAudioRec.cpp
    1052  endif # VBOX_WITH_AUDIO_RECORDING
    1053 endif # VBOX_WITH_RECORDING
    1054 
    1055 ifdef VBOX_WITH_OPENSSL_FIPS
    1056 VBoxC_SDKS += VBoxOpenSsl
    1057 endif
    1058 
    1059 VBoxC_INCS          = \
    1060         include \
    1061         $(VBoxC_0_OUTDIR) \
    1062         $(VBOX_MAIN_APIWRAPPER_INCS) \
    1063         $(dir $(VBOX_XML_SCHEMADEFS_H)) \
    1064         $(VBOX_MAIN_APIWRAPPER_DIR)/dtrace \
    1065         $(VBOX_GRAPHICS_INCS)
    1066 VBoxC_INCS.win      = \
    1067         $(VBoxCOM_0_OUTDIR) \
    1068         .
    1069 
    1070 VBoxC_LDFLAGS.darwin = \
    1071         -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxC.dylib \
    1072         -exported_symbols_list $(VBoxC_0_OUTDIR)/VBoxC.def \
    1073         -framework IOKit
    1074 VBoxC_LDFLAGS.win += /MANIFEST \
    1075         /DELAYLOAD:user32.dll
    1076 
    1077 
    1078 VBoxC_LIBS += \
    1079         $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB)
    1080 VBoxC_LIBS.win += \
    1081         $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/psapi.lib \
    1082         $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
    1083 ifdef VBOX_WITH_NETFLT
    1084  VBoxC_SDKS.win += VBoxWinNewDevLib
     962  endif
     963  VBoxSVCM_INTERMEDIATES += $(VBOX_IDL_HEADER.XPCOM)
     964
     965  # 32-bit version of the module.
     966  ifdef VBOX_WITH_32_ON_64_MAIN_API
     967   DLLS += VBoxSVCM-x86
     968   VBoxSVCM-x86_TEMPLATE = VBoxMainComp-x86
     969   VBoxSVCM-x86_EXTENDS = VBoxSVCM
     970  endif
     971
     972 endif # VBOX_WITH_XPCOM
     973
     974
     975 #
     976 # VBoxC module
     977 #
     978 DLLS += VBoxC
     979 VBoxC_TEMPLATE = VBoxMainComp
     980 if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win"
     981  VBoxC_USES    = vccprecomp
     982  VBoxC_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/win/precomp_vcc.h
     983 else if $(KBUILD_KMK_REVISION) >= 3256 && "$(KBUILD_TARGET)" != "darwin" && !defined(VBOX_WITHOUT_PRECOMPILED_HEADERS)
     984  if $(VBOX_GCC_VERSION_CXX) >= 50000 # GCC 4.x runs into trouble compiling the header.
     985   VBoxC_USES += gccprecomp
     986   VBoxC_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/xpcom/precomp_gcc.h
     987  endif
     988 endif
     989 VBoxC_DEFS = \
     990        IN_RING3 \
     991        $(VBOX_MAIN_DEFS) \
     992        VBOX_COM_INPROC \
     993        $(if $(VBOX_WITH_EFI),VBOX_WITH_EFI,) \
     994        $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
     995        $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
     996        $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
     997        $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) \
     998        $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
     999        $(if $(VBOX_WITH_VRDEAUTH_IN_VBOXSVC),VBOX_WITH_VRDEAUTH_IN_VBOXSVC,) \
     1000        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
     1001        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
     1002        $(if $(VBOX_WITH_TPM),VBOX_WITH_TPM,) \
     1003        $(if $(VBOX_WITH_FULL_VM_ENCRYPTION),VBOX_WITH_FULL_VM_ENCRYPTION,)
     1004 ifdef VBOX_WITH_NETSHAPER
     1005  VBoxC_DEFS += VBOX_WITH_NETSHAPER
     1006 endif
     1007 VBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
     1008 VBoxC_DEFS.win.x86 += _WIN32_WINNT=0x0500
     1009 VBoxC_DEFS.win.amd64 += _WIN32_WINNT=0x0510
     1010
     1011 if $(KBUILD_TARGET) != "win" && $(VBOX_GCC_VERSION_CXX) >= 40900 # gcc 4.9.x (4.8.x is causing endless RT_ELEMENT trouble)
     1012  # VBoxC_CXXFLAGS = -Wunused -Wconversion
     1013 endif
     1014
     1015 VBoxC_SDKS = VBoxLibPng VBoxZlib
     1016
     1017 ifdef VBOX_WITH_RECORDING
     1018  ifdef VBOX_WITH_LIBVPX
     1019   VBoxC_SDKS += VBoxLibVpx
     1020   VBoxC_DEFS += VBOX_WITH_LIBVPX
     1021  endif
     1022  VBoxC_SOURCES += \
     1023        src-client/EBMLWriter.cpp \
     1024        src-client/WebMWriter.cpp \
     1025        src-client/Recording.cpp \
     1026        src-client/RecordingInternals.cpp \
     1027        src-client/RecordingCodec.cpp \
     1028        src-client/RecordingStream.cpp \
     1029        src-client/RecordingUtils.cpp
     1030
     1031  ifdef VBOX_WITH_AUDIO_RECORDING
     1032   VBoxC_DEFS += VBOX_WITH_AUDIO_RECORDING
     1033   # Needed in VBoxSVC for ISystemProperties.
     1034   src-server/SystemPropertiesImpl.cpp_DEFS += VBOX_WITH_AUDIO_RECORDING
     1035   ifdef VBOX_WITH_LIBOGG
     1036    VBOX_MAIN_DEFS += VBOX_WITH_LIBOGG
     1037    VBoxC_SDKS    += VBoxLibOgg
     1038    VBoxC_DEFS    += VBOX_WITH_LIBOGG
     1039    ## @todo We need this for libvorbis down below. Remove once the libvorbis @todo is resolved.
     1040    VBoxSVC_SDKS  += VBoxLibOgg
     1041   endif
     1042   ifdef VBOX_WITH_LIBVORBIS
     1043    VBOX_MAIN_DEFS += VBOX_WITH_LIBVORBIS
     1044    VBoxC_SDKS    += VBoxLibVorbis
     1045    ## @todo We also need to specify this for VBoxSVC, as we need to have VBOX_WITH_LIBVORBIS defined
     1046    ##       for SystemProperties::getSupportedRecordingAudioCodecs().
     1047    #        SystemPropertiesImpl_DEFS += VBOX_WITH_LIBVORBIS didn't work for precompiled headers on Windows --
     1048    #        needs to be solved properly so that we can remove the following _SDKS from VBoxSVC again.
     1049    VBoxSVC_SDKS  += VBoxLibVorbis
     1050   endif
     1051   VBoxC_SOURCES += src-client/DrvAudioRec.cpp
     1052  endif # VBOX_WITH_AUDIO_RECORDING
     1053 endif # VBOX_WITH_RECORDING
     1054
     1055 ifdef VBOX_WITH_OPENSSL_FIPS
     1056  VBoxC_SDKS += VBoxOpenSsl
     1057 endif
     1058
     1059 VBoxC_INCS         = \
     1060        include \
     1061        $(VBoxC_0_OUTDIR) \
     1062        $(VBOX_MAIN_APIWRAPPER_INCS) \
     1063        $(dir $(VBOX_XML_SCHEMADEFS_H)) \
     1064        $(VBOX_MAIN_APIWRAPPER_DIR)/dtrace \
     1065        $(VBOX_GRAPHICS_INCS)
     1066 VBoxC_INCS.win     = \
     1067        $(VBoxCOM_0_OUTDIR) \
     1068        .
     1069
     1070 VBoxC_LDFLAGS.darwin = \
     1071        -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxC.dylib \
     1072        -exported_symbols_list $(VBoxC_0_OUTDIR)/VBoxC.def \
     1073        -framework IOKit
     1074 VBoxC_LDFLAGS.win += /MANIFEST \
     1075        /DELAYLOAD:user32.dll
     1076
     1077
     1078 VBoxC_LIBS += \
     1079        $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB)
    10851080 VBoxC_LIBS.win += \
    1086         $(PATH_STAGE_LIB)/WinNetConfigDll$(VBOX_SUFF_LIB) \
    1087         $(PATH_STAGE_LIB)/VBoxDrvCfgDll$(VBOX_SUFF_LIB) \
    1088         $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
    1089         $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
    1090  VBoxC_LDFLAGS.win += \
     1081        $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/psapi.lib \
     1082        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
     1083 ifdef VBOX_WITH_NETFLT
     1084  VBoxC_SDKS.win += VBoxWinNewDevLib
     1085  VBoxC_LIBS.win += \
     1086        $(PATH_STAGE_LIB)/WinNetConfigDll$(VBOX_SUFF_LIB) \
     1087        $(PATH_STAGE_LIB)/VBoxDrvCfgDll$(VBOX_SUFF_LIB) \
     1088        $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/comsupp.lib \
     1089        $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
     1090  VBoxC_LDFLAGS.win += \
    10911091        /DELAYLOAD:newdev.dll \
    10921092        /DELAYLOAD:setupapi.dll \
    10931093        /DELAYLOAD:iphlpapi.dll
    1094 endif
    1095 
    1096 ifdef VBOX_WITH_DRAG_AND_DROP
    1097  VBoxC_LIBS += $(PATH_STAGE_LIB)/VBoxDnDHostR3Lib$(VBOX_SUFF_LIB)
    1098 endif
    1099 
    1100 VBoxC_INTERMEDIATES = \
    1101         $(VBOX_MAIN_PREREQS) \
    1102         $(VBOX_XML_SCHEMADEFS_H) \
    1103         $(VBOX_AUTOGEN_EVENT_H) \
    1104         $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \
    1105         $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
    1106 
    1107 VBoxC_SOURCES += \
    1108         $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
    1109         src-all/CryptoUtils.cpp \
    1110   src-all/ConsoleSharedFolderImpl.cpp \
    1111         src-all/DisplayPNGUtil.cpp \
    1112         src-all/DisplayResampleImage.cpp \
    1113         src-all/EventImpl.cpp \
    1114         src-all/Global.cpp \
    1115         src-all/GlobalStatusConversion.cpp \
    1116         src-all/HashedPw.cpp \
    1117         src-all/Logging.cpp \
    1118         src-all/NvramStoreImpl.cpp \
    1119         src-all/PCIDeviceAttachmentImpl.cpp \
    1120         src-all/ProgressImpl.cpp \
    1121         src-all/SecretKeyStore.cpp \
    1122         src-all/AutoCaller.cpp \
    1123         src-all/ThreadTask.cpp \
    1124         src-all/VirtualBoxBase.cpp \
    1125         src-all/VirtualBoxErrorInfoImpl.cpp \
    1126         $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
    1127         src-client/UsbWebcamInterface.cpp \
    1128         $(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
    1129         src-client/AdditionsFacilityImpl.cpp \
    1130         src-client/BusAssignmentManager.cpp \
    1131         $(if $(VBOX_WITH_PCI_PASSTHROUGH),src-client/PCIRawDevImpl.cpp,) \
    1132         src-client/ClientTokenHolder.cpp \
    1133         src-client/ConsoleImpl.cpp \
    1134         src-client/ConsoleImpl2.cpp \
    1135         src-client/ConsoleImplTeleporter.cpp \
    1136         src-client/ConsoleVRDPServer.cpp \
    1137         src-client/DisplayImpl.cpp \
    1138         src-client/DisplayImplLegacy.cpp \
    1139         src-client/DisplaySourceBitmapImpl.cpp \
    1140         src-client/EmulatedUSBImpl.cpp \
    1141         src-client/GuestImpl.cpp \
    1142         src-client/GuestCtrlImpl.cpp \
    1143         src-client/KeyboardImpl.cpp \
    1144         src-client/MachineDebuggerImpl.cpp \
    1145         src-client/MouseImpl.cpp \
    1146         src-client/RemoteUSBDeviceImpl.cpp \
    1147         src-client/SessionImpl.cpp \
    1148         src-client/USBDeviceImpl.cpp \
    1149         src-client/VBoxDriversRegister.cpp \
    1150         src-client/VirtualBoxClientImpl.cpp \
    1151         src-client/VMMDevInterface.cpp \
    1152         xml/Settings.cpp \
    1153         $(VBOX_AUTOGEN_EVENT_CPP) \
    1154         $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
    1155         $(VBOX_XML_SCHEMADEFS_CPP)
    1156 
    1157 ifdef VBOX_WITH_MAIN_NLS
    1158 VBoxC_SOURCES += \
    1159         src-all/VirtualBoxTranslator.cpp \
    1160         src-all/QMTranslatorImpl.cpp
    1161 endif
    1162 
    1163 # Experimental cloud support
    1164 if defined(VBOX_WITH_CLOUD_NET)
    1165  if defined(VBOX_WITH_LIBSSH)
    1166   VBoxC_SDKS += VBoxLibSsh VBoxOpenSsl
    1167   VBoxC_DEFS += VBOX_WITH_LIBSSH
    1168  endif
    1169  VBoxC_SOURCES += src-client/CloudGateway.cpp
    1170 
    1171  VBoxC_SOURCES       += \
    1172         $(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm
    1173  VBoxC_CLEAN         += $(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm
    1174  $$(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm: $(PATH_SUB_CURRENT)/src-all/VBoxLibSsh.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
     1094 endif
     1095
     1096 ifdef VBOX_WITH_DRAG_AND_DROP
     1097  VBoxC_LIBS += $(PATH_STAGE_LIB)/VBoxDnDHostR3Lib$(VBOX_SUFF_LIB)
     1098 endif
     1099
     1100 VBoxC_INTERMEDIATES = \
     1101        $(VBOX_MAIN_PREREQS) \
     1102        $(VBOX_XML_SCHEMADEFS_H) \
     1103        $(VBOX_AUTOGEN_EVENT_H) \
     1104        $(VBOX_AUTOGEN_STRINGIFY_ENUMS_H) \
     1105        $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
     1106
     1107 VBoxC_SOURCES += \
     1108        $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d \
     1109        src-all/CryptoUtils.cpp \
     1110        src-all/ConsoleSharedFolderImpl.cpp \
     1111        src-all/DisplayPNGUtil.cpp \
     1112        src-all/DisplayResampleImage.cpp \
     1113        src-all/EventImpl.cpp \
     1114        src-all/Global.cpp \
     1115        src-all/GlobalStatusConversion.cpp \
     1116        src-all/HashedPw.cpp \
     1117        src-all/Logging.cpp \
     1118        src-all/NvramStoreImpl.cpp \
     1119        src-all/PCIDeviceAttachmentImpl.cpp \
     1120        src-all/ProgressImpl.cpp \
     1121        src-all/SecretKeyStore.cpp \
     1122        src-all/AutoCaller.cpp \
     1123        src-all/ThreadTask.cpp \
     1124        src-all/VirtualBoxBase.cpp \
     1125        src-all/VirtualBoxErrorInfoImpl.cpp \
     1126        $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
     1127        src-client/UsbWebcamInterface.cpp \
     1128        $(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
     1129        src-client/AdditionsFacilityImpl.cpp \
     1130        src-client/BusAssignmentManager.cpp \
     1131        $(if $(VBOX_WITH_PCI_PASSTHROUGH),src-client/PCIRawDevImpl.cpp,) \
     1132        src-client/ClientTokenHolder.cpp \
     1133        src-client/ConsoleImpl.cpp \
     1134        src-client/ConsoleImpl2.cpp \
     1135        src-client/ConsoleImplTeleporter.cpp \
     1136        src-client/ConsoleVRDPServer.cpp \
     1137        src-client/DisplayImpl.cpp \
     1138        src-client/DisplayImplLegacy.cpp \
     1139        src-client/DisplaySourceBitmapImpl.cpp \
     1140        src-client/EmulatedUSBImpl.cpp \
     1141        src-client/GuestImpl.cpp \
     1142        src-client/GuestCtrlImpl.cpp \
     1143        src-client/KeyboardImpl.cpp \
     1144        src-client/MachineDebuggerImpl.cpp \
     1145        src-client/MouseImpl.cpp \
     1146        src-client/RemoteUSBDeviceImpl.cpp \
     1147        src-client/SessionImpl.cpp \
     1148        src-client/USBDeviceImpl.cpp \
     1149        src-client/VBoxDriversRegister.cpp \
     1150        src-client/VirtualBoxClientImpl.cpp \
     1151        src-client/VMMDevInterface.cpp \
     1152        xml/Settings.cpp \
     1153        $(VBOX_AUTOGEN_EVENT_CPP) \
     1154        $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
     1155        $(VBOX_XML_SCHEMADEFS_CPP)
     1156
     1157 ifdef VBOX_WITH_MAIN_NLS
     1158  VBoxC_SOURCES += \
     1159        src-all/VirtualBoxTranslator.cpp \
     1160        src-all/QMTranslatorImpl.cpp
     1161 endif
     1162
     1163 # Experimental cloud support
     1164 if defined(VBOX_WITH_CLOUD_NET)
     1165  if defined(VBOX_WITH_LIBSSH)
     1166   VBoxC_SDKS += VBoxLibSsh VBoxOpenSsl
     1167   VBoxC_DEFS += VBOX_WITH_LIBSSH
     1168  endif
     1169  VBoxC_SOURCES += src-client/CloudGateway.cpp
     1170
     1171  VBoxC_SOURCES      += \
     1172        $(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm
     1173  VBoxC_CLEAN        += $(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm
     1174  $$(VBoxC_0_OUTDIR)/VBoxLibSshLazyLoad.asm: $(PATH_SUB_CURRENT)/src-all/VBoxLibSsh.def $(VBOX_DEF_2_LAZY_LOAD) | $$(dir $$@)
    11751175        $(call MSG_TOOL,VBoxDef2LazyLoad,VBoxC,$(filter %.def, $^),$@)
    11761176        $(QUIET)$(RM) -f -- "$@"
    11771177        $(VBOX_DEF_2_LAZY_LOAD) --explicit-load-function --library VBoxLibSsh --output "$@" $(filter %.def, $^)
    11781178
    1179 endif
    1180 
    1181 # Audio bits.
    1182 VBoxC_SOURCES += \
    1183         src-client/AudioDriver.cpp \
    1184         $(if $(VBOX_WITH_AUDIO_VRDE),src-client/DrvAudioVRDE.cpp,)
    1185 
    1186 VBoxC_SOURCES.win = \
    1187         src-client/win/dllmain.cpp \
    1188         src-client/win/VBoxC.def \
    1189         src-client/win/VBoxC.rc
    1190 ifdef VBOX_WITH_GUEST_CONTROL
     1179 endif
     1180
     1181 # Audio bits.
    11911182 VBoxC_SOURCES += \
    1192         src-client/GuestSessionImplTasks.cpp \
    1193         src-client/GuestCtrlPrivate.cpp \
    1194         src-client/GuestDirectoryImpl.cpp \
    1195         src-client/GuestFileImpl.cpp \
    1196         src-client/GuestFsObjInfoImpl.cpp \
    1197         src-client/GuestProcessImpl.cpp \
    1198         src-client/GuestSessionImpl.cpp
    1199 endif
    1200 ifdef VBOX_WITH_DRAG_AND_DROP
    1201  VBoxC_SOURCES += \
    1202         src-client/GuestDnDPrivate.cpp \
    1203         src-client/GuestDnDSourceImpl.cpp \
    1204         src-client/GuestDnDTargetImpl.cpp \
    1205         $(PATH_ROOT)/src/VBox/GuestHost/DragAndDrop/DnDUtils.cpp
    1206 endif
    1207 ifdef VBOX_WITH_XPCOM
    1208  VBoxC_SOURCES += \
    1209         src-client/xpcom/module.cpp
    1210 endif
    1211 ifdef VBOX_WITH_HGCM
    1212  VBoxC_SOURCES += \
    1213         src-client/HGCMObjects.cpp \
    1214         src-client/HGCMThread.cpp \
    1215         src-client/HGCM.cpp
    1216 endif
    1217 ifdef VBOX_WITH_USB
    1218  VBoxC_SOURCES += \
    1219         src-client/RemoteUSBBackend.cpp
    1220 endif
    1221 ifndef VBOX_WITH_VRDEAUTH_IN_VBOXSVC
    1222  VBoxC_SOURCES += \
    1223         src-all/AuthLibrary.cpp
    1224 endif
    1225 
    1226 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxC) # Sets VBoxC_0_OUTDIR
    1227 
    1228 ifeq ($(KBUILD_TARGET),darwin)
    1229  VBoxC_ORDERDEPS += $(VBoxC_0_OUTDIR)/VBoxC.def
    1230  VBoxC_CLEAN     += $(VBoxC_0_OUTDIR)/VBoxC.def
    1231  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxC_0_OUTDIR)/VBoxC.def)
    1232  $(VBoxC_0_OUTDIR)/VBoxC.def:
     1183        src-client/AudioDriver.cpp \
     1184        $(if $(VBOX_WITH_AUDIO_VRDE),src-client/DrvAudioVRDE.cpp,)
     1185
     1186 VBoxC_SOURCES.win = \
     1187        src-client/win/dllmain.cpp \
     1188        src-client/win/VBoxC.def \
     1189        src-client/win/VBoxC.rc
     1190 ifdef VBOX_WITH_GUEST_CONTROL
     1191  VBoxC_SOURCES += \
     1192        src-client/GuestSessionImplTasks.cpp \
     1193        src-client/GuestCtrlPrivate.cpp \
     1194        src-client/GuestDirectoryImpl.cpp \
     1195        src-client/GuestFileImpl.cpp \
     1196        src-client/GuestFsObjInfoImpl.cpp \
     1197        src-client/GuestProcessImpl.cpp \
     1198        src-client/GuestSessionImpl.cpp
     1199 endif
     1200 ifdef VBOX_WITH_DRAG_AND_DROP
     1201  VBoxC_SOURCES += \
     1202        src-client/GuestDnDPrivate.cpp \
     1203        src-client/GuestDnDSourceImpl.cpp \
     1204        src-client/GuestDnDTargetImpl.cpp \
     1205        $(PATH_ROOT)/src/VBox/GuestHost/DragAndDrop/DnDUtils.cpp
     1206 endif
     1207 ifdef VBOX_WITH_XPCOM
     1208  VBoxC_SOURCES += \
     1209        src-client/xpcom/module.cpp
     1210 endif
     1211 ifdef VBOX_WITH_HGCM
     1212  VBoxC_SOURCES += \
     1213        src-client/HGCMObjects.cpp \
     1214        src-client/HGCMThread.cpp \
     1215        src-client/HGCM.cpp
     1216 endif
     1217 ifdef VBOX_WITH_USB
     1218  VBoxC_SOURCES += \
     1219        src-client/RemoteUSBBackend.cpp
     1220 endif
     1221 ifndef VBOX_WITH_VRDEAUTH_IN_VBOXSVC
     1222  VBoxC_SOURCES += \
     1223        src-all/AuthLibrary.cpp
     1224 endif
     1225
     1226 $(call KB_FN_DO_PASS0_ON_TARGET,VBoxC) # Sets VBoxC_0_OUTDIR
     1227
     1228 ifeq ($(KBUILD_TARGET),darwin)
     1229  VBoxC_ORDERDEPS += $(VBoxC_0_OUTDIR)/VBoxC.def
     1230  VBoxC_CLEAN    += $(VBoxC_0_OUTDIR)/VBoxC.def
     1231  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxC_0_OUTDIR)/VBoxC.def)
     1232  $(VBoxC_0_OUTDIR)/VBoxC.def:
    12331233        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    12341234        $(RM) -f $@
    12351235        $(APPEND) $@ _NSGetModule
    12361236        $(APPEND) $@ _VBoxDriversRegister
    1237 endif
    1238 
    1239 src-client/ConsoleImpl.cpp_DEFS = \
    1240         $(if $(VBOX_WITH_OPENSSL_FIPS), VBOX_OPENSSL_FIPS,)
    1241 
    1242 
    1243 src-client/win/VBoxC.rc_DEPS = $(VBoxC_0_OUTDIR)/VBoxC.rgs $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    1244 VBoxC_CLEAN.win             += $(VBoxC_0_OUTDIR)/VBoxC.rgs
    1245 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxC_0_OUTDIR)/VBoxC.rgs)
    1246 $(VBoxC_0_OUTDIR)/VBoxC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
     1237 endif
     1238
     1239 src-client/ConsoleImpl.cpp_DEFS = \
     1240        $(if $(VBOX_WITH_OPENSSL_FIPS), VBOX_OPENSSL_FIPS,)
     1241
     1242
     1243 src-client/win/VBoxC.rc_DEPS = $(VBoxC_0_OUTDIR)/VBoxC.rgs $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     1244 VBoxC_CLEAN.win            += $(VBoxC_0_OUTDIR)/VBoxC.rgs
     1245 $(call KB_FN_AUTO_CMD_DEPS,$(VBoxC_0_OUTDIR)/VBoxC.rgs)
     1246 $(VBoxC_0_OUTDIR)/VBoxC.rgs: $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl $(VBOX_XIDL_FILE) | $$(dir $$@)
    12471247        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    12481248        $(VBOX_XSLTPROC) \
     
    12531253                $(VBOX_XIDL_FILE)
    12541254
    1255 ifdef VBOX_WITH_32_ON_64_MAIN_API
    1256  #
    1257  # 32-bit VBox API Client In-Process module.
    1258  #
    1259  # This is currently just a 32-bit version of VBoxC.  It might be desirable to
    1260  # split up VBoxC into a simple client and a VM client part later, in which
    1261  # case this module will be a simple client.
    1262  #
    1263  # Note! One important thing is that the typelib for this DLL must be build
    1264  #       with the /env win32 switch and the VBoxC typelib with /env amd64, if
    1265  #       not they will overwrite each others typelib module entry.
    1266  #
    1267  DLLS += VBoxClient-x86
    1268  VBoxClient-x86_TEMPLATE = VBoxMainComp-x86
    1269  VBoxClient-x86_EXTENDS = VBoxC
    1270 if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win" ## @todo fix inheritance (fixed in r3253)
    1271  VBoxClient-x86_USES     = vccprecomp
    1272  VBoxClient-x86_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/win/precomp_vcc.h
    1273 endif
    1274  VBoxClient-x86_SDKS = $(filter-out VBoxLibVpx,$(VBoxC_SDKS))
    1275  VBoxClient-x86_DEFS = VBOX_COM_INPROC_API_CLIENT \
    1276         $(filter-out VBOX_WITH_RECORDING VBOX_WITH_AUDIO_RECORDING \
    1277                  VBOX_WITH_LIBVPX,$(VBoxC_DEFS))
    1278  VBoxClient-x86_INCS.win = \
    1279         $(VBoxClient-x86_0_OUTDIR) \
    1280         $(VBoxCOM-x86_0_OUTDIR) \
    1281         $(VBoxC_INCS.win)
    1282  VBoxClient-x86_SOURCES = \
    1283         src-all/EventImpl.cpp \
    1284         src-all/Global.cpp \
    1285         src-all/GlobalStatusConversion.cpp \
    1286         src-all/AutoCaller.cpp \
    1287         src-all/ThreadTask.cpp \
    1288         src-all/VirtualBoxBase.cpp \
    1289         src-all/VirtualBoxErrorInfoImpl.cpp \
    1290         src-client/ClientTokenHolder.cpp \
    1291         src-client/SessionImpl.cpp \
    1292         src-client/VirtualBoxClientImpl.cpp \
    1293         $(VBOX_AUTOGEN_EVENT_CPP) \
    1294         $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
    1295         $(VBOX_XML_SCHEMADEFS_CPP)
    1296  ifdef VBOX_WITH_MAIN_NLS
    1297  VBoxClient-x86_SOURCES += \
    1298         src-all/VirtualBoxTranslator.cpp \
    1299         src-all/QMTranslatorImpl.cpp
    1300  endif
    1301  VBoxClient-x86_SOURCES.win = \
    1302         src-client/win/dllmain.cpp \
    1303         src-client/win/VBoxClient-x86.def \
    1304         src-client/win/VBoxClient-x86.rc
    1305  ifdef VBOX_WITH_XPCOM
    1306   VBoxClient-x86_SOURCES += \
    1307         src-client/xpcom/module.cpp
    1308  endif
    1309  VBoxClient-x86_LIBS = \
    1310         $(PATH_STAGE_LIB)/VBoxAPIWrap-x86$(VBOX_SUFF_LIB)
    1311  VBoxClient-x86_LIBS.win = $(NO_SUCH_VARIABLE)
    1312  VBoxClient-x86_LIBS.win.x86 += \
    1313         $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib \
    1314         $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/WbemUuid.Lib
    1315  VBoxClient-x86_CLEAN.win += $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs
    1316  $(call KB_FN_DO_PASS0_ON_TARGET,VBoxClient-x86) # Sets VBoxClient-x86_0_OUTDIR
    1317 
    1318  src-client/win/VBoxClient-x86.rc_DEPS = \
    1319         $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs \
    1320         $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
    1321 
    1322  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs)
    1323  $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs: \
    1324                 $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
    1325                 $(VBOX_XIDL_FILE) | $$(dir $$@)
     1255 ifdef VBOX_WITH_32_ON_64_MAIN_API
     1256  #
     1257  # 32-bit VBox API Client In-Process module.
     1258  #
     1259  # This is currently just a 32-bit version of VBoxC.  It might be desirable to
     1260  # split up VBoxC into a simple client and a VM client part later, in which
     1261  # case this module will be a simple client.
     1262  #
     1263  # Note! One important thing is that the typelib for this DLL must be build
     1264  #       with the /env win32 switch and the VBoxC typelib with /env amd64, if
     1265  #       not they will overwrite each others typelib module entry.
     1266  #
     1267  DLLS += VBoxClient-x86
     1268  VBoxClient-x86_TEMPLATE = VBoxMainComp-x86
     1269  VBoxClient-x86_EXTENDS = VBoxC
     1270  if defined(VBOX_WITH_PRECOMPILED_HEADERS) && "$(KBUILD_TARGET)" == "win" ## @todo fix inheritance (fixed in r3253)
     1271   VBoxClient-x86_USES   = vccprecomp
     1272   VBoxClient-x86_PCH_HDR := $(PATH_SUB_CURRENT)/src-client/win/precomp_vcc.h
     1273  endif
     1274  VBoxClient-x86_SDKS = $(filter-out VBoxLibVpx,$(VBoxC_SDKS))
     1275  VBoxClient-x86_DEFS = VBOX_COM_INPROC_API_CLIENT \
     1276        $(filter-out VBOX_WITH_RECORDING VBOX_WITH_AUDIO_RECORDING \
     1277        VBOX_WITH_LIBVPX,$(VBoxC_DEFS))
     1278  VBoxClient-x86_INCS.win = \
     1279        $(VBoxClient-x86_0_OUTDIR) \
     1280        $(VBoxCOM-x86_0_OUTDIR) \
     1281        $(VBoxC_INCS.win)
     1282  VBoxClient-x86_SOURCES = \
     1283        src-all/EventImpl.cpp \
     1284        src-all/Global.cpp \
     1285        src-all/GlobalStatusConversion.cpp \
     1286        src-all/AutoCaller.cpp \
     1287        src-all/ThreadTask.cpp \
     1288        src-all/VirtualBoxBase.cpp \
     1289        src-all/VirtualBoxErrorInfoImpl.cpp \
     1290        src-client/ClientTokenHolder.cpp \
     1291        src-client/SessionImpl.cpp \
     1292        src-client/VirtualBoxClientImpl.cpp \
     1293        $(VBOX_AUTOGEN_EVENT_CPP) \
     1294        $(VBOX_AUTOGEN_STRINGIFY_ENUMS_CPP) \
     1295        $(VBOX_XML_SCHEMADEFS_CPP)
     1296  ifdef VBOX_WITH_MAIN_NLS
     1297   VBoxClient-x86_SOURCES += \
     1298        src-all/VirtualBoxTranslator.cpp \
     1299        src-all/QMTranslatorImpl.cpp
     1300  endif
     1301  VBoxClient-x86_SOURCES.win = \
     1302        src-client/win/dllmain.cpp \
     1303        src-client/win/VBoxClient-x86.def \
     1304        src-client/win/VBoxClient-x86.rc
     1305  ifdef VBOX_WITH_XPCOM
     1306   VBoxClient-x86_SOURCES += \
     1307        src-client/xpcom/module.cpp
     1308  endif
     1309  VBoxClient-x86_LIBS = \
     1310        $(PATH_STAGE_LIB)/VBoxAPIWrap-x86$(VBOX_SUFF_LIB)
     1311  VBoxClient-x86_LIBS.win = $(NO_SUCH_VARIABLE)
     1312  VBoxClient-x86_LIBS.win.x86 += \
     1313        $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib \
     1314        $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/WbemUuid.Lib
     1315  VBoxClient-x86_CLEAN.win += $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs
     1316  $(call KB_FN_DO_PASS0_ON_TARGET,VBoxClient-x86) # Sets VBoxClient-x86_0_OUTDIR
     1317
     1318  src-client/win/VBoxClient-x86.rc_DEPS = \
     1319        $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs \
     1320        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
     1321
     1322  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs)
     1323  $(VBoxClient-x86_0_OUTDIR)/VBoxClient-x86.rgs: \
     1324                $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
     1325                $(VBOX_XIDL_FILE) | $$(dir $$@)
    13261326        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    13271327        $(VBOX_XSLTPROC) \
     
    13311331                $(VBOX_PATH_MAIN_SRC)/src-all/win/VirtualBox_rgs.xsl \
    13321332                $(VBOX_XIDL_FILE)
    1333 endif
    1334 
    1335 #
    1336 # The VBoxExtPackHelperApp.
    1337 #
    1338 ifdef VBOX_WITH_EXTPACK
    1339  PROGRAMS += VBoxExtPackHelperApp
    1340  VBoxExtPackHelperApp_TEMPLATE = VBoxR3SetUidToRoot
    1341  VBoxExtPackHelperApp_LDFLAGS.darwin = -framework Security
    1342  VBoxExtPackHelperApp_LDFLAGS.win = /SUBSYSTEM:windows
    1343  VBoxExtPackHelperApp_SOURCES = \
    1344         src-helper-apps/VBoxExtPackHelperApp.cpp \
    1345         src-all/ExtPackUtil.cpp
    1346  VBoxExtPackHelperApp_SOURCES.win = \
    1347         src-helper-apps/VBoxExtPackHelperApp.rc
    1348  VBoxExtPackHelperApp_LIBS = \
    1349         $(LIB_RUNTIME)
    1350 endif # VBOX_WITH_EXTPACK
    1351 
    1352 #
    1353 # VolInfo
    1354 #
    1355 ifdef VBOX_WITH_DEVMAPPER
    1356  PROGRAMS.linux      += VBoxVolInfo
    1357  VBoxVolInfo_TEMPLATE = VBoxR3SetUidToRoot
    1358  VBoxVolInfo_SOURCES = src-helper-apps/VBoxVolInfo.cpp
    1359  VBoxVolInfo_LIBS     = devmapper
    1360 endif
     1333 endif
     1334
     1335 #
     1336 # The VBoxExtPackHelperApp.
     1337 #
     1338 ifdef VBOX_WITH_EXTPACK
     1339  PROGRAMS += VBoxExtPackHelperApp
     1340  VBoxExtPackHelperApp_TEMPLATE = VBoxR3SetUidToRoot
     1341  VBoxExtPackHelperApp_LDFLAGS.darwin = -framework Security
     1342  VBoxExtPackHelperApp_LDFLAGS.win = /SUBSYSTEM:windows
     1343  VBoxExtPackHelperApp_SOURCES = \
     1344        src-helper-apps/VBoxExtPackHelperApp.cpp \
     1345        src-all/ExtPackUtil.cpp
     1346  VBoxExtPackHelperApp_SOURCES.win = \
     1347        src-helper-apps/VBoxExtPackHelperApp.rc
     1348  VBoxExtPackHelperApp_LIBS = \
     1349        $(LIB_RUNTIME)
     1350 endif # VBOX_WITH_EXTPACK
     1351
     1352 #
     1353 # VolInfo
     1354 #
     1355 ifdef VBOX_WITH_DEVMAPPER
     1356  PROGRAMS.linux     += VBoxVolInfo
     1357  VBoxVolInfo_TEMPLATE = VBoxR3SetUidToRoot
     1358  VBoxVolInfo_SOURCES = src-helper-apps/VBoxVolInfo.cpp
     1359  VBoxVolInfo_LIBS    = devmapper
     1360 endif
    13611361
    13621362
     
    13651365
    13661366
    1367 #
    1368 # VBoxCOM - COM Abstraction Layer library
    1369 #
    1370 LIBRARIES += VBoxCOM
    1371 VBoxCOM_TEMPLATE        = VBoxMainLib
    1372 VBoxCOM_INTERMEDIATES   = $(VBOX_MAIN_PREREQS) \
    1373                           $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
    1374 VBoxCOM_SOURCES         = \
    1375         glue/com.cpp \
    1376         glue/VBoxLogRelCreate.cpp \
    1377         glue/GetVBoxUserHomeDirectory.cpp \
    1378         glue/initterm.cpp \
    1379         glue/string.cpp \
    1380         glue/string-base64.cpp \
    1381         glue/AutoLock.cpp \
    1382         glue/EventQueue.cpp \
    1383         glue/NativeEventQueue.cpp \
    1384         glue/ErrorInfo.cpp \
    1385         glue/errorprint.cpp
    1386 VBoxCOM_INCS          += $(VBOX_MAIN_APIWRAPPER_INCS) \
    1387         include
    1388 ifeq ($(KBUILD_TARGET),win)
    1389  ifdef VBOX_WITH_MIDL_PROXY_STUB
    1390   VBoxCOM_DEFS.win      = VBOX_WITH_AUTO_COM_REG_UPDATE
    1391  endif
    1392  ifdef VBOX_WITH_SDS
    1393   VBoxCOM_DEFS.win     += VBOX_WITH_SDS
    1394  endif
    1395  VBoxCOM_DEFS.x86       = _WIN32_WINNT=0x0500
    1396  VBoxCOM_DEFS.amd64     = _WIN32_WINNT=0x0510
    1397  VBoxCOM_SOURCES       += \
    1398         $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
    1399  VBoxCOM_CLEAN          = \
    1400         $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    1401         $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
    1402         $(VBoxCOM_0_OUTDIR)/dlldata.c \
    1403         $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
    1404         $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    1405  VBoxCOM_CLEAN        += \
    1406         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
    1407         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
    1408         $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
    1409         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
    1410         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
    1411  VBoxCOM_BLDDIRS      = $(VBoxCOM_0_OUTDIR)/legacy/
    1412 else # !win
    1413  VBoxCOM_SOURCES       += \
    1414         $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
    1415         glue/xpcom/helpers.cpp
    1416 endif # !win
    1417 
    1418 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
    1419 glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
    1420 else
    1421 glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
    1422 endif
    1423 
    1424 # 32-bit version of VBoxCOM.
    1425 if defined(VBOX_WITH_32_ON_64_MAIN_API) && !defined(VBOX_ONLY_EXTPACKS)
    1426  LIBRARIES += VBoxCOM-x86
    1427  VBoxCOM-x86_TEMPLATE = VBoxMainLib-x86
    1428  VBoxCOM-x86_EXTENDS  = VBoxCOM
     1367 #
     1368 # VBoxCOM - COM Abstraction Layer library
     1369 #
     1370 LIBRARIES += VBoxCOM
     1371 VBoxCOM_TEMPLATE       = VBoxMainLib
     1372 VBoxCOM_INTERMEDIATES  = $(VBOX_MAIN_PREREQS) \
     1373        $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
     1374 VBoxCOM_SOURCES        = \
     1375        glue/com.cpp \
     1376        glue/VBoxLogRelCreate.cpp \
     1377        glue/GetVBoxUserHomeDirectory.cpp \
     1378        glue/initterm.cpp \
     1379        glue/string.cpp \
     1380        glue/string-base64.cpp \
     1381        glue/AutoLock.cpp \
     1382        glue/EventQueue.cpp \
     1383        glue/NativeEventQueue.cpp \
     1384        glue/ErrorInfo.cpp \
     1385        glue/errorprint.cpp
     1386 VBoxCOM_INCS         += $(VBOX_MAIN_APIWRAPPER_INCS) \
     1387        include
    14291388 ifeq ($(KBUILD_TARGET),win)
    1430   VBoxCOM-x86_CLEAN   = \
    1431         $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \
    1432         $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c \
    1433         $(VBoxCOM-x86_0_OUTDIR)/dlldata.c \
    1434         $(VBoxCOM-x86_0_OUTDIR)/VirtualBox.h \
    1435         $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
    1436  endif
    1437 endif
    1438 
    1439 # -MD version for the GUI in -MDd builds.
    1440 ifeq ($(KBUILD_TARGET).$(VBOX_VCC_CRT_TYPE),win.d)
    1441  ifndef VBOX_ONLY_EXTPACKS
    1442   LIBRARIES += VBoxCOM-GUI
     1389  ifdef VBOX_WITH_MIDL_PROXY_STUB
     1390   VBoxCOM_DEFS.win     = VBOX_WITH_AUTO_COM_REG_UPDATE
     1391  endif
     1392  ifdef VBOX_WITH_SDS
     1393   VBoxCOM_DEFS.win    += VBOX_WITH_SDS
     1394  endif
     1395  VBoxCOM_DEFS.x86      = _WIN32_WINNT=0x0500
     1396  VBoxCOM_DEFS.amd64    = _WIN32_WINNT=0x0510
     1397  VBoxCOM_SOURCES      += \
     1398        $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
     1399  VBoxCOM_CLEAN         = \
     1400        $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
     1401        $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
     1402        $(VBoxCOM_0_OUTDIR)/dlldata.c \
     1403        $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
     1404        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     1405  VBoxCOM_CLEAN       += \
     1406        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
     1407        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
     1408        $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
     1409        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
     1410        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
     1411  VBoxCOM_BLDDIRS     = $(VBoxCOM_0_OUTDIR)/legacy/
     1412 else # !win
     1413  VBoxCOM_SOURCES      += \
     1414        $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
     1415        glue/xpcom/helpers.cpp
     1416 endif # !win
     1417
     1418 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
     1419  glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
     1420 else
     1421  glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
     1422 endif
     1423
     1424 # 32-bit version of VBoxCOM.
     1425 if defined(VBOX_WITH_32_ON_64_MAIN_API) && !defined(VBOX_ONLY_EXTPACKS)
     1426  LIBRARIES += VBoxCOM-x86
     1427  VBoxCOM-x86_TEMPLATE = VBoxMainLib-x86
     1428  VBoxCOM-x86_EXTENDS = VBoxCOM
     1429  ifeq ($(KBUILD_TARGET),win)
     1430   VBoxCOM-x86_CLEAN  = \
     1431        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \
     1432        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c \
     1433        $(VBoxCOM-x86_0_OUTDIR)/dlldata.c \
     1434        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox.h \
     1435        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
     1436  endif
     1437 endif
     1438
     1439 # -MD version for the GUI in -MDd builds.
     1440 ifeq ($(KBUILD_TARGET).$(VBOX_VCC_CRT_TYPE),win.d)
     1441  ifndef VBOX_ONLY_EXTPACKS
     1442   LIBRARIES += VBoxCOM-GUI
     1443   USES += qt5
     1444   VBoxCOM-GUI_TEMPLATE = $(if-expr defined(VBOX_WITH_HARDENING),VBoxQtGuiDll,VBoxQtGuiExe)
     1445   VBoxCOM-GUI_EXTENDS = VBoxCOM
     1446  endif
     1447 endif
     1448
     1449 # define qt5 tools for translation even if VBOX_ONLY_EXTPACKS is enabled
     1450 ifdef VBOX_WITH_NLS
    14431451  USES += qt5
    1444   VBoxCOM-GUI_TEMPLATE = $(if-expr defined(VBOX_WITH_HARDENING),VBoxQtGuiDll,VBoxQtGuiExe)
    1445   VBoxCOM-GUI_EXTENDS  = VBoxCOM
    1446  endif
    1447 endif
    1448 
    1449 # define qt5 tools for translation even if VBOX_ONLY_EXTPACKS is enabled
    1450 ifdef VBOX_WITH_NLS
    1451  USES += qt5
    1452 endif
     1452 endif
    14531453
    14541454
     
    14721472 VBoxMain-hardening-inst_INST = $(INST_BIN)components/
    14731473 VBoxMain-hardening-inst_SYMLINKS = \
    1474         VBoxDDU.so=>../VBoxDDU.so \
    1475         VBoxRT.so=>../VBoxRT.so \
    1476         VBoxVMM.so=>../VBoxVMM.so \
    1477         VBoxXPCOM.so=>../VBoxXPCOM.so
     1474        VBoxDDU.so=>../VBoxDDU.so \
     1475        VBoxRT.so=>../VBoxRT.so \
     1476        VBoxVMM.so=>../VBoxVMM.so \
     1477        VBoxXPCOM.so=>../VBoxXPCOM.so
    14781478endif
    14791479
     
    14991499 endif
    15001500 ifdef VBOX_WITH_SDS_CLIENT_WATCHER
    1501   VBoxProxyStub_DEFS   +=  VBOX_WITH_SDS_CLIENT_WATCHER,)
     1501  VBoxProxyStub_DEFS   += VBOX_WITH_SDS_CLIENT_WATCHER,)
    15021502 endif
    15031503 VBoxProxyStub_DEFS.win.x86 = WIN32
     
    15241524        src-all/win/VBoxProxyStub.def \
    15251525        src-all/win/VBoxProxyStubLegacy.rc \
    1526         src-all/win/VBoxProxyStub.c
     1526        src-all/win/VBoxProxyStub.c
    15271527 src-all/win/VBoxProxyStubLegacy.rc_DEPS = $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
    15281528
     
    15361536        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c \
    15371537        $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \
    1538         src-all/win/VBoxProxyStub.c \
    1539         src-all/win/VBoxProxyStub-x86.rc \
    1540         src-all/win/VBoxProxyStub.def
     1538        src-all/win/VBoxProxyStub.c \
     1539        src-all/win/VBoxProxyStub-x86.rc \
     1540        src-all/win/VBoxProxyStub.def
    15411541  src-all/win/VBoxProxyStub-x86.rc_DEPS = $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb
    15421542 endif
     
    15451545
    15461546ifdef VBOX_WITH_MAIN_NLS
    1547 #
    1548 # NLS stuff.
    1549 #
    1550 include $(PATH_SUB_CURRENT)/nls/ApprovedLanguages.kmk
    1551 
    1552 PROGRAMS += VirtualBoxAPI
    1553 VirtualBoxAPI_TEMPLATE = VBoxNLS
    1554 VirtualBoxAPI_QT_TRANSLATIONS = $(addsuffix .ts,$(addprefix $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_,$(VBOX_APPROVED_MAIN_LANGUAGES)))
    1555 VirtualBoxAPI_VBOX_ALL_NLS_SOURCES = $(wildcard \
    1556         $(VBOX_PATH_MAIN_SRC)/include/*.h\
    1557         $(VBOX_PATH_MAIN_SRC)/src-all/*.cpp \
    1558         $(VBOX_PATH_MAIN_SRC)/src-all/*.h \
    1559         $(VBOX_PATH_MAIN_SRC)/src-server/*.cpp \
    1560         $(VBOX_PATH_MAIN_SRC)/src-server/*.h \
    1561         $(VBOX_PATH_MAIN_SRC)/src-client/*.cpp \
    1562         $(VBOX_PATH_MAIN_SRC)/src-client/*.h )
    1563 
    1564 updatenls:: makeallnls $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_en.ts
    1565 
    1566 makeallnls:: $(VirtualBoxAPI_VBOX_ALL_NLS_SOURCES)
     1547 #
     1548 # NLS stuff.
     1549 #
     1550 include $(PATH_SUB_CURRENT)/nls/ApprovedLanguages.kmk
     1551
     1552 PROGRAMS += VirtualBoxAPI
     1553 VirtualBoxAPI_TEMPLATE = VBoxNLS
     1554 VirtualBoxAPI_QT_TRANSLATIONS = $(addsuffix .ts,$(addprefix $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_,$(VBOX_APPROVED_MAIN_LANGUAGES)))
     1555 VirtualBoxAPI_VBOX_ALL_NLS_SOURCES = $(wildcard \
     1556        $(VBOX_PATH_MAIN_SRC)/include/*.h \
     1557        $(VBOX_PATH_MAIN_SRC)/src-all/*.cpp \
     1558        $(VBOX_PATH_MAIN_SRC)/src-all/*.h \
     1559        $(VBOX_PATH_MAIN_SRC)/src-server/*.cpp \
     1560        $(VBOX_PATH_MAIN_SRC)/src-server/*.h \
     1561        $(VBOX_PATH_MAIN_SRC)/src-client/*.cpp \
     1562        $(VBOX_PATH_MAIN_SRC)/src-client/*.h )
     1563
     1564 updatenls:: makeallnls $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_en.ts
     1565
     1566 makeallnls:: $(VirtualBoxAPI_VBOX_ALL_NLS_SOURCES)
    15671567        $(call MSG_L1,lupdate all languages (nls/*.ts))
    15681568        $(QUIET)$(TOOL_QT5_LUPDATE) \
     
    15721572                $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_xx_YY.ts
    15731573
    1574 #fake-main-nls:
    1575 #       $(foreach file, $(VirtualBoxAPI_QT_TRANSLATIONS) \
    1576 #       ,$(NLTAB)$(SED) -i \
    1577 #               -e '/<source>.*<\/source>/h' \
    1578 #               -e '/<source>.*<\/source>/p' \
    1579 #               -e '/<translation type="unfinished"><\/translation>/{' \
    1580 #                       -e 'x' \
    1581 #                       -e 's/<source>\(.*\)<\/source>/<translation type="unfinished">$(notdir $(file)): \1<\/translation>/' \
    1582 #               -e '}' \
    1583 #               $(file) )
    1584 
    1585 
    1586 # Create the English translation file. This is something special cause it will
    1587 # contain the plural forms only.
    1588 $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_en.ts: $(VirtualBoxAPI_VBOX_ALL_NLS_SOURCES)
     1574 #fake-main-nls:
     1575 #      $(foreach file, $(VirtualBoxAPI_QT_TRANSLATIONS) \
     1576 #      ,$(NLTAB)$(SED) -i \
     1577 #              -e '/<source>.*<\/source>/h' \
     1578 #              -e '/<source>.*<\/source>/p' \
     1579 #              -e '/<translation type="unfinished"><\/translation>/{' \
     1580 #                      -e 'x' \
     1581 #                      -e 's/<source>\(.*\)<\/source>/<translation type="unfinished">$(notdir $(file)): \1<\/translation>/' \
     1582 #              -e '}' \
     1583 #              $(file) )
     1584
     1585
     1586 # Create the English translation file. This is something special cause it will
     1587 # contain the plural forms only.
     1588 $(VBOX_PATH_MAIN_SRC)/nls/VirtualBoxAPI_en.ts: $(VirtualBoxAPI_VBOX_ALL_NLS_SOURCES)
    15891589        $(call MSG_L1,lupdate $@)
    15901590        $(QUIET)$(TOOL_QT5_LUPDATE) \
     
    16221622
    16231623$(call KB_FN_AUTO_CMD_DEPS_EX,$(VBOX_IDL_TYPELIB.XPCOM),$(PATH_OUT)/VBOX_IDL_TYPELIB.XPCOM.vbox-dep)
    1624 $(VBOX_IDL_TYPELIB.XPCOM): $(VBOX_IDL_FILE.XPCOM) |  $$(dir $$@) $(VBOX_XPIDL)
     1624$(VBOX_IDL_TYPELIB.XPCOM): $(VBOX_IDL_FILE.XPCOM) | $$(dir $$@) $(VBOX_XPIDL)
    16251625        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS_EX,$(PATH_OUT)/VBOX_IDL_TYPELIB.XPCOM.vbox-dep)
    16261626        $(call MSG_TOOL,xpidl,VBoxSVC,$(VBOX_IDL_FILE.XPCOM),$@)
     
    16471647# Aliases for testing purposes.
    16481648ifdef VBOX_WITH_XPCOM
    1649 testidl:    $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c
    1650 testidlhdr: $(VBOX_IDL_HEADER.XPCOM)
     1649 testidl: $(VBOX_IDL_FILE.XPCOM) $(VBOX_IDL_TYPELIB.XPCOM) $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c
     1650 testidlhdr: $(VBOX_IDL_HEADER.XPCOM)
    16511651else
    1652 testidl:    $(VBOX_IDL_FILE.MSCOM) $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    1653         $(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c,)
     1652 testidl: $(VBOX_IDL_FILE.MSCOM) $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
     1653                $(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c,)
    16541654endif
    16551655
     
    16901690  $(call KB_FN_AUTO_CMD_DEPS,$(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c)
    16911691  $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
    1692   + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c\
     1692  + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
    16931693  + $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
    16941694  + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
     
    17291729        $(call def_VBoxMidlOutputDisableMscWarnings,$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c)
    17301730        $(call def_VBoxMidlOutputDisableMscWarnings,$(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c)
    1731   endif
     1731 endif
    17321732
    17331733endif # defined(VBOX_ONLY_SDK) || "$(KBUILD_TARGET)" == "win"
     
    17721772        $(VBOX_JMSCOM_GEN)/jmscomglue.list \
    17731773        $(wildcard \
    1774                 $(VBOX_JMSCOM_GEN)/java/*.java \
    1775                 $(VBOX_JMSCOM_JDEST)/*.class \
    1776                 $(VBOX_JMSCOM_JDEST)/*/*.class \
    1777                 $(VBOX_JMSCOM_JDEST)/*/*/*.class \
    1778                 $(VBOX_JMSCOM_JDEST)/*/*/*/*.class \
     1774        $(VBOX_JMSCOM_GEN)/java/*.java \
     1775        $(VBOX_JMSCOM_JDEST)/*.class \
     1776        $(VBOX_JMSCOM_JDEST)/*/*.class \
     1777        $(VBOX_JMSCOM_JDEST)/*/*/*.class \
     1778        $(VBOX_JMSCOM_JDEST)/*/*/*/*.class \
    17791779        )
    17801780 VBoxJMscom-inst-jar_BLDDIRS += $(VBOX_JMSCOM_GEN)/java
     
    17831783 $(call KB_FN_AUTO_CMD_DEPS,$(VBOX_JMSCOM_GEN)/jmscomglue.list)
    17841784 $(VBOX_JMSCOM_GEN)/jmscomglue.list: \
    1785                 $(VBOX_XIDL_FILE) \
    1786                 $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
    1787                 $(VBOX_FILESPLIT) \
    1788                 | $(VBOX_JMSCOM_GEN)/java/
     1785                $(VBOX_XIDL_FILE) \
     1786                $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
     1787                $(VBOX_FILESPLIT) \
     1788                | $(VBOX_JMSCOM_GEN)/java/
    17891789        $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
    17901790        $(call MSG_L1,Generating Java MSCOM glue files from XIDL)
     
    18501850+| $(VBOX_MAIN_APIWRAPPER_GEN_HDRS): \
    18511851                $(VBOX_XIDL_FILE) \
    1852                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
     1852                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
    18531853                $(VBoxAPIWrap_VBOX_XSLT) \
    18541854                $(VBOX_FILESPLIT) \
     
    18671867+| $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d: \
    18681868                $(VBOX_XIDL_FILE) \
    1869                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
     1869                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
    18701870                $(VBoxAPIWrap_VBOX_XSLT) \
    18711871                $(VBOX_FILESPLIT) \
     
    18891889+| $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_EVEN): \
    18901890                $(VBOX_XIDL_FILE) \
    1891                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
     1891                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
    18921892                $(VBoxAPIWrap_VBOX_XSLT) \
    18931893                $(VBOX_FILESPLIT) \
     
    19061906+| $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_ODD): \
    19071907                $(VBOX_XIDL_FILE) \
    1908                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
     1908                $(VBOX_PATH_MAIN_SRC)/idl/typemap-shared.inc.xsl \
    19091909                $(VBoxAPIWrap_VBOX_XSLT) \
    19101910                $(VBOX_FILESPLIT) \
     
    19201920
    19211921testapiwrappers:: \
    1922         $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-headers \
    1923         $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \
    1924         $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-sources-odd \
    1925         $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-sources-even
     1922                $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-headers \
     1923                $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \
     1924                $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-sources-odd \
     1925                $(VBoxAPIWrap_0_OUTDIR)/apiwrappers-sources-even
  • trunk/src/VBox/Main/UnattendedTemplates/Makefile.kmk

    r98103 r98431  
    6565 ifndef VBOX_OSE
    6666  VBoxUnattendedTemplates_SOURCES += \
    67         lgw_ks.cfg \
    68         lgw_postinstall.sh
     67        lgw_ks.cfg \
     68        lgw_postinstall.sh
    6969 endif
    7070
  • trunk/src/VBox/Main/cbinding/Makefile.kmk

    r98188 r98431  
    9797        VBoxCAPI.cpp
    9898 VBoxCAPI_SOURCES.win = \
    99         VBoxCAPI.rc
     99        VBoxCAPI.rc
    100100 VBoxCAPI_INCS = \
    101101        $(CAPIHeaders_0_OUTDIR)
     
    113113 ifdef VBOX_WITH_XPCOM
    114114  VBoxCAPIGlue_SOURCES += \
    115         $(VBOX_PATH_SDK)/bindings/xpcom/lib/VirtualBox_i.c
     115        $(VBOX_PATH_SDK)/bindings/xpcom/lib/VirtualBox_i.c
    116116 else
    117117  VBoxCAPIGlue_SOURCES += \
    118         $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c
     118        $(VBOX_PATH_SDK)/bindings/mscom/lib/VirtualBox_i.c
    119119 endif
    120120 VBoxCAPIGlue_INCS = \
     
    145145        $(VBOX_PATH_SDK)/bindings/c/glue/VBoxCAPIGlue.h \
    146146        $(VBOX_PATH_SDK)/bindings/c/include/VBoxCAPI_v$(VBOX_API_VERSION).h \
    147        $(if-expr !defined(VBOX_WITH_XPCOM),$(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h,)
     147        $(if-expr !defined(VBOX_WITH_XPCOM),$(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h,)
    148148  tstCAPIGlue_SOURCES = \
    149149        tstCAPIGlue.c
  • trunk/src/VBox/Main/src-helper-apps/OpenGLTest/Makefile.kmk

    r98183 r98431  
    5050# Note! Doesn't link with VBOX_WITH_DEBUG_VCC_CRT defined because it uses Qt.
    5151#
    52 if    defined(VBOX_WITH_QTGUI) \
    53    && (defined(VBOX_WITH_VMSVGA3D) || defined(VBOX_WITH_VIDEOHWACCEL)) \
    54    && !defined(VBOX_WITH_DEBUG_VCC_CRT) \
    55    && "$(KBUILD_TARGET)" != "darwin"
     52if   defined(VBOX_WITH_QTGUI) \
     53  && (defined(VBOX_WITH_VMSVGA3D) || defined(VBOX_WITH_VIDEOHWACCEL)) \
     54  && !defined(VBOX_WITH_DEBUG_VCC_CRT) \
     55  && "$(KBUILD_TARGET)" != "darwin"
    5656 ifdef VBOX_WITH_VIDEOHWACCEL
    5757  ifndef VBOX_WITH_QT6
  • trunk/src/VBox/Main/src-helper-apps/os2/Makefile.kmk

    r98103 r98431  
    5656        SEGMENT IOPL IOPL EXECUTEREAD
    5757if 0
    58 os2_util_LDFLAGS       += Debug Watcom All
    59 os2_util_CFLAGS        += -d2 -hw
     58 os2_util_LDFLAGS      += Debug Watcom All
     59 os2_util_CFLAGS       += -d2 -hw
    6060endif
    6161
  • trunk/src/VBox/Main/testcase/Makefile.kmk

    r98189 r98431  
    3939        tstVBoxAPI \
    4040        tstVBoxAPIPerf \
    41         tstVBoxMultipleVM \
     41        tstVBoxMultipleVM \
    4242        $(if $(VBOX_OSE),,tstOVF) \
    4343        $(if $(VBOX_WITH_XPCOM),tstVBoxAPIXPCOM,tstVBoxAPIWin msiDarwinDescriptorDecoder) \
     
    4747        $(if $(VBOX_WITH_GUEST_CONTROL),tstGuestCtrlPaths,) \
    4848        tstMediumLock \
    49         tstBstr \
     49        tstBstr \
    5050        tstGuid \
    5151        tstUnattendedScript \
     
    109109
    110110ifndef VBOX_OSE
    111 #
    112 # OVF test data.
    113 #
    114 INSTALLS += ovf-testcases
    115 ovf-testcases_MODE = a+r,u+w
    116 ovf-testcases_INST = $(INST_TESTCASE)ovf-testcases/
    117 ovf-testcases_SOURCES = \
    118         ovf-dummy.vmdk \
    119         ovf-joomla-0.9/joomla-1.1.4-ovf.ovf=>ovf-joomla-0.9/joomla-1.1.4-ovf.ovf \
    120         ovf-winhost-audio-nodisks/WinXP.ovf=>ovf-winhost-audio-nodisks/WinXP.ovf \
    121         ovf-winxp-vbox-sharedfolders/winxp.ovf=>ovf-winxp-vbox-sharedfolders/winxp.ovf
     111 #
     112 # OVF test data.
     113 #
     114 INSTALLS += ovf-testcases
     115 ovf-testcases_MODE = a+r,u+w
     116 ovf-testcases_INST = $(INST_TESTCASE)ovf-testcases/
     117 ovf-testcases_SOURCES = \
     118        ovf-dummy.vmdk \
     119        ovf-joomla-0.9/joomla-1.1.4-ovf.ovf=>ovf-joomla-0.9/joomla-1.1.4-ovf.ovf \
     120        ovf-winhost-audio-nodisks/WinXP.ovf=>ovf-winhost-audio-nodisks/WinXP.ovf \
     121        ovf-winxp-vbox-sharedfolders/winxp.ovf=>ovf-winxp-vbox-sharedfolders/winxp.ovf
    122122endif
    123123
     
    217217        ../src-client/GuestCtrlPrivate.cpp
    218218tstGuestCtrlContextID_INCS     = ../include \
    219      $(VBOX_MAIN_APIWRAPPER_INCS)
     219        $(VBOX_MAIN_APIWRAPPER_INCS)
    220220
    221221
     
    230230        ../src-client/GuestCtrlPrivate.cpp
    231231tstGuestCtrlParseBuffer_INCS     = ../include \
    232     $(VBOX_MAIN_APIWRAPPER_INCS)
     232        $(VBOX_MAIN_APIWRAPPER_INCS)
    233233
    234234
     
    243243        ../src-client/GuestCtrlPrivate.cpp
    244244tstGuestCtrlPaths_INCS           = ../include \
    245     $(VBOX_MAIN_APIWRAPPER_INCS)
     245        $(VBOX_MAIN_APIWRAPPER_INCS)
    246246
    247247if 0 # Enable this if you want automatic runs after compilation.
     
    308308tstUnattendedScript_INTERMEDIATES = \
    309309        $(VBOX_MAIN_APIWRAPPER_GEN_HDRS) \
    310        $(VBOX_XML_SCHEMADEFS_H)
     310        $(VBOX_XML_SCHEMADEFS_H)
    311311tstUnattendedScript_INCS     = \
    312312        ../include \
    313      $(VBOX_MAIN_APIWRAPPER_INCS) \
    314      $(dir $(VBOX_XML_SCHEMADEFS_H))
     313        $(VBOX_MAIN_APIWRAPPER_INCS) \
     314        $(dir $(VBOX_XML_SCHEMADEFS_H))
    315315tstUnattendedScript_SOURCES  = \
    316316        tstUnattendedScript.cpp \
    317        ../src-server/UnattendedScript.cpp \
    318        ../src-all/TextScript.cpp \
    319        ../src-all/VirtualBoxBase.cpp \
    320        ../src-all/VirtualBoxErrorInfoImpl.cpp \
    321        ../src-all/AutoCaller.cpp \
    322        ../src-all/GlobalStatusConversion.cpp
     317        ../src-server/UnattendedScript.cpp \
     318        ../src-all/TextScript.cpp \
     319        ../src-all/VirtualBoxBase.cpp \
     320        ../src-all/VirtualBoxErrorInfoImpl.cpp \
     321        ../src-all/AutoCaller.cpp \
     322        ../src-all/GlobalStatusConversion.cpp
    323323tstUnattendedScript_LIBS     = \
    324324        $(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB)
  • trunk/src/VBox/Main/webservice/Makefile.kmk

    r98430 r98431  
    122122if "$(VBOX_PATH_GSOAP_BIN)" == ""
    123123 VBOX_PATH_GSOAP_BIN   := $(VBOX_PATH_GSOAP)/bin
    124  if      "$(KBUILD_HOST)" == "darwin"
     124 if "$(KBUILD_HOST)" == "darwin"
    125125  VBOX_PATH_GSOAP_BIN  := $(VBOX_PATH_GSOAP_BIN)/macosx
    126126 else if "$(KBUILD_HOST)" == "win"
     
    140140# the creation of the Python webservice bindings anyway.
    141141if "$(KBUILD_HOST)" != "win"
    142 VBOX_WSDL2PY            = $(firstword $(which wsdl2py) wsdl2py_not_found)
     142 VBOX_WSDL2PY           = $(firstword $(which wsdl2py) wsdl2py_not_found)
    143143else
    144 VBOX_WSDL2PY            = $(firstword $(wildcard C:/Python27/Scripts/wsdl2py.exe) wsdl2py_not_found)
     144 VBOX_WSDL2PY           = $(firstword $(wildcard C:/Python27/Scripts/wsdl2py.exe) wsdl2py_not_found)
    145145endif
    146146
     
    224224TEMPLATE_VBoxWebR3Exe_EXTENDS = VBoxR3Exe
    225225TEMPLATE_VBoxWebR3Exe_DEFS.win += WIN32_LEAN_AND_MEAN $(TEMPLATE_VBoxR3Exe_DEFS.win) # Makes the redefinition warnings go away.
    226 TEMPLATE_VBoxWebR3Exe_CXXFLAGS = $(filter-out $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden),\
    227                                  $(TEMPLATE_VBoxR3Exe_CXXFLAGS))
     226TEMPLATE_VBoxWebR3Exe_CXXFLAGS = $(filter-out $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden), \
     227        $(TEMPLATE_VBoxR3Exe_CXXFLAGS))
    228228ifn1of ($(KBUILD_TARGET), win)
    229 TEMPLATE_VBoxWebR3Exe_CXXFLAGS += $(VBOX_GCC_Wno-misleading-indentation)
     229 TEMPLATE_VBoxWebR3Exe_CXXFLAGS += $(VBOX_GCC_Wno-misleading-indentation)
    230230endif
    231231if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
     
    283283  else
    284284   vboxsoap_SOURCES = \
    285         $(VBOXWEB_OUT_DIR)/soapC-1.cpp \
    286         $(VBOXWEB_OUT_DIR)/soapC-2.cpp \
    287         $(VBOXWEB_OUT_DIR)/soapC-3.cpp \
    288         $(VBOXWEB_OUT_DIR)/soapC-4.cpp \
    289         $(VBOXWEB_OUT_DIR)/soapC-5.cpp \
    290         $(VBOXWEB_OUT_DIR)/soapC-6.cpp \
    291         $(VBOXWEB_OUT_DIR)/soapC-7.cpp \
    292         $(VBOXWEB_OUT_DIR)/soapC-8.cpp \
    293         $(VBOXWEB_OUT_DIR)/soapC-9.cpp \
    294         $(VBOXWEB_OUT_DIR)/soapC-10.cpp \
    295         $(VBOXWEB_OUT_DIR)/soapC-11.cpp \
    296         $(VBOXWEB_OUT_DIR)/soapC-12.cpp \
    297         $(VBOXWEB_OUT_DIR)/soapC-13.cpp \
    298         $(VBOXWEB_OUT_DIR)/soapC-14.cpp \
    299         $(VBOXWEB_OUT_DIR)/soapC-15.cpp \
    300         $(VBOXWEB_OUT_DIR)/soapC-16.cpp \
    301         $(VBOXWEB_OUT_DIR)/soapC-17.cpp \
    302         $(VBOXWEB_OUT_DIR)/soapC-18.cpp \
    303         $(VBOXWEB_OUT_DIR)/soapC-19.cpp \
    304         $(VBOXWEB_OUT_DIR)/soapC-20.cpp \
    305         $(VBOXWEB_OUT_DIR)/soapC-21.cpp \
    306         $(VBOXWEB_OUT_DIR)/soapC-22.cpp \
    307         $(VBOXWEB_OUT_DIR)/soapC-23.cpp \
    308         $(VBOXWEB_OUT_DIR)/soapC-24.cpp \
    309         $(VBOXWEB_OUT_DIR)/soapC-25.cpp \
    310         $(VBOXWEB_OUT_DIR)/soapC-26.cpp \
    311         $(VBOXWEB_OUT_DIR)/soapC-27.cpp \
    312         $(VBOXWEB_OUT_DIR)/soapC-28.cpp \
    313         $(VBOXWEB_OUT_DIR)/soapC-29.cpp
     285        $(VBOXWEB_OUT_DIR)/soapC-1.cpp \
     286        $(VBOXWEB_OUT_DIR)/soapC-2.cpp \
     287        $(VBOXWEB_OUT_DIR)/soapC-3.cpp \
     288        $(VBOXWEB_OUT_DIR)/soapC-4.cpp \
     289        $(VBOXWEB_OUT_DIR)/soapC-5.cpp \
     290        $(VBOXWEB_OUT_DIR)/soapC-6.cpp \
     291        $(VBOXWEB_OUT_DIR)/soapC-7.cpp \
     292        $(VBOXWEB_OUT_DIR)/soapC-8.cpp \
     293        $(VBOXWEB_OUT_DIR)/soapC-9.cpp \
     294        $(VBOXWEB_OUT_DIR)/soapC-10.cpp \
     295        $(VBOXWEB_OUT_DIR)/soapC-11.cpp \
     296        $(VBOXWEB_OUT_DIR)/soapC-12.cpp \
     297        $(VBOXWEB_OUT_DIR)/soapC-13.cpp \
     298        $(VBOXWEB_OUT_DIR)/soapC-14.cpp \
     299        $(VBOXWEB_OUT_DIR)/soapC-15.cpp \
     300        $(VBOXWEB_OUT_DIR)/soapC-16.cpp \
     301        $(VBOXWEB_OUT_DIR)/soapC-17.cpp \
     302        $(VBOXWEB_OUT_DIR)/soapC-18.cpp \
     303        $(VBOXWEB_OUT_DIR)/soapC-19.cpp \
     304        $(VBOXWEB_OUT_DIR)/soapC-20.cpp \
     305        $(VBOXWEB_OUT_DIR)/soapC-21.cpp \
     306        $(VBOXWEB_OUT_DIR)/soapC-22.cpp \
     307        $(VBOXWEB_OUT_DIR)/soapC-23.cpp \
     308        $(VBOXWEB_OUT_DIR)/soapC-24.cpp \
     309        $(VBOXWEB_OUT_DIR)/soapC-25.cpp \
     310        $(VBOXWEB_OUT_DIR)/soapC-26.cpp \
     311        $(VBOXWEB_OUT_DIR)/soapC-27.cpp \
     312        $(VBOXWEB_OUT_DIR)/soapC-28.cpp \
     313        $(VBOXWEB_OUT_DIR)/soapC-29.cpp
    314314  endif
    315315  ifndef VBOX_WITHOUT_NOINLINE_SOAPH
     
    336336  ifn1of ($(KBUILD_TARGET), win)
    337337   $(VBOX_GSOAP_CXX_SOURCES)_CXXFLAGS = \
    338         -Wno-format \
    339         $(VBOX_GCC_Wno-int-in-bool-context) \
    340         $(VBOX_GCC_Wno-logical-op)
     338        -Wno-format \
     339        $(VBOX_GCC_Wno-int-in-bool-context) \
     340        $(VBOX_GCC_Wno-logical-op)
    341341   # currently necessary when compiling against OpenSSL 1.0 due to a missing
    342342   # typecase from 'const v3_ext_method*' to 'aka v3_ext_method*'.
     
    389389
    390390 ifndef VBOX_ONLY_SDK
    391  #
    392  # vboxwebsrv - webservice server process
    393  #
    394  PROGRAMS += vboxwebsrv
    395  vboxwebsrv_TEMPLATE = VBoxMainClientExe
    396  vboxwebsrv_DEFS += SOCKET_CLOSE_ON_EXEC
    397  vboxwebsrv_DEFS.win += WIN32_LEAN_AND_MEAN
    398  vboxwebsrv_INCS = \
    399         $(VBOX_GSOAP_INCS) \
    400         $(VBOXWEB_OUT_DIR) \
    401         .
    402  vboxwebsrv_CXXFLAGS.win += -bigobj
    403  if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
    404   vboxwebsrv_CXXFLAGS.win += -wd4774 # string(532): warning C4774: 'sprintf_s' : format string expected in argument 3 is not a string literal
    405   vboxwebsrv_CXXFLAGS.win += -wd4458 # stdsoap2.h(2644): warning C4458: declaration of 'type' hides class member
    406   vboxwebsrv_CXXFLAGS.win += -wd5039 # x509v3.h(883): warning C5039: 'OPENSSL_sk_set_cmp_func': pointer or reference to potentially throwing function passed to 'extern "C"' function under -EHc. Undefined behavior may occur if this function throws an exception.
    407  endif
    408  ifn1of ($(KBUILD_TARGET), win)
    409   vboxwebsrv_CXXFLAGS += -Wno-shadow $(VBOX_GCC_Wno-literal-suffix) $(VBOX_GCC_Wno-misleading-indentation)
    410   ifn1of ($(KBUILD_TYPE), debug) # Save time+memory by using -O1 instead of -O2.
    411    vboxwebsrv_CXXFLAGS += -O0
    412   endif
    413  endif
    414  vboxwebsrv_LIBS += \
    415         $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
    416         $(VBOX_GSOAP_CXX_LIBS) \
    417         $(LIB_RUNTIME)
    418  vboxwebsrv_LIBS.solaris += socket nsl
    419  ifdef VBOX_WITH_WEBSERVICES_SSL
    420   vboxwebsrv_DEFS += WITH_OPENSSL
    421   vboxwebsrv_SDKS += VBoxOpenSsl
    422  endif
    423  vboxwebsrv_SOURCES = \
    424         vboxweb.cpp \
    425         $(VBOXWEB_OUT_DIR)/methodmaps.cpp \
    426         $(VBOXWEB_OUT_DIR)/soapServer.cpp \
    427         $(VBOXWEB_OUT_DIR)/vboxweb-wsdl.c
    428  vboxwebsrv_SOURCES.win = \
    429         VBoxWebSrv.rc
    430  vboxwebsrv_CLEAN = \
    431         $(VBOXWEB_OUT_DIR)/methodmaps.cpp \
    432         $(VBOXWEB_OUT_DIR)/soapServer.cpp \
    433         $(VBOXWEB_OUT_DIR)/vboxweb-wsdl.c
    434  vboxwebsrv_ORDERDEPS = $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
     391  #
     392  # vboxwebsrv - webservice server process
     393  #
     394  PROGRAMS += vboxwebsrv
     395  vboxwebsrv_TEMPLATE = VBoxMainClientExe
     396  vboxwebsrv_DEFS += SOCKET_CLOSE_ON_EXEC
     397  vboxwebsrv_DEFS.win += WIN32_LEAN_AND_MEAN
     398  vboxwebsrv_INCS = \
     399        $(VBOX_GSOAP_INCS) \
     400        $(VBOXWEB_OUT_DIR) \
     401        .
     402  vboxwebsrv_CXXFLAGS.win += -bigobj
     403  if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
     404   vboxwebsrv_CXXFLAGS.win += -wd4774 # string(532): warning C4774: 'sprintf_s' : format string expected in argument 3 is not a string literal
     405   vboxwebsrv_CXXFLAGS.win += -wd4458 # stdsoap2.h(2644): warning C4458: declaration of 'type' hides class member
     406   vboxwebsrv_CXXFLAGS.win += -wd5039 # x509v3.h(883): warning C5039: 'OPENSSL_sk_set_cmp_func': pointer or reference to potentially throwing function passed to 'extern "C"' function under -EHc. Undefined behavior may occur if this function throws an exception.
     407  endif
     408  ifn1of ($(KBUILD_TARGET), win)
     409   vboxwebsrv_CXXFLAGS += -Wno-shadow $(VBOX_GCC_Wno-literal-suffix) $(VBOX_GCC_Wno-misleading-indentation)
     410   ifn1of ($(KBUILD_TYPE), debug) # Save time+memory by using -O1 instead of -O2.
     411    vboxwebsrv_CXXFLAGS += -O0
     412   endif
     413  endif
     414  vboxwebsrv_LIBS += \
     415        $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
     416        $(VBOX_GSOAP_CXX_LIBS) \
     417        $(LIB_RUNTIME)
     418  vboxwebsrv_LIBS.solaris += socket nsl
     419  ifdef VBOX_WITH_WEBSERVICES_SSL
     420   vboxwebsrv_DEFS += WITH_OPENSSL
     421   vboxwebsrv_SDKS += VBoxOpenSsl
     422  endif
     423  vboxwebsrv_SOURCES = \
     424        vboxweb.cpp \
     425        $(VBOXWEB_OUT_DIR)/methodmaps.cpp \
     426        $(VBOXWEB_OUT_DIR)/soapServer.cpp \
     427        $(VBOXWEB_OUT_DIR)/vboxweb-wsdl.c
     428  vboxwebsrv_SOURCES.win = \
     429        VBoxWebSrv.rc
     430  vboxwebsrv_CLEAN = \
     431        $(VBOXWEB_OUT_DIR)/methodmaps.cpp \
     432        $(VBOXWEB_OUT_DIR)/soapServer.cpp \
     433        $(VBOXWEB_OUT_DIR)/vboxweb-wsdl.c
     434  vboxwebsrv_ORDERDEPS = $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
    435435 endif # !VBOX_ONLY_SDK
    436436
    437437 ifdef VBOX_WITH_JWS
    438 INSTALLS += VBoxJWs-inst-jar
    439 
    440 #
    441 # Java glue JAR files
    442 #
    443 VBOX_JWS_JAR     = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws.jar
    444 VBOX_JWSDOC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-doc.jar
    445 VBOX_JWSSRC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-src.jar
    446 VBOX_JWS_TARGET := $(PATH_TARGET)/vboxjws-gen
    447 VBOX_JWS_GEN     = $(VBOX_JWS_TARGET)/jwsgen
    448 VBOX_JWS_GEN_RAWSRC = $(VBOX_JWS_GEN)/merged.file
    449 VBOX_JWS_JDEST := $(VBOX_JWS_TARGET)/jdest
    450 VBOX_JWSDOC_JDEST := $(VBOX_JWS_TARGET)/jdest-doc
    451 VBOX_GLUE_XSLT_DIR := $(PATH_ROOT)/src/VBox/Main/glue
    452 VBOX_JAXLIB_DIR    := $(PATH_ROOT)/src/VBox/Main/webservice/jaxlibs
    453 
    454 VBoxJWs-inst-jar_INST = $(INST_SDK)bindings/webservice/java/jax-ws/
    455 VBoxJWs-inst-jar_MODE = a+r,u+w
    456 VBoxJWs-inst-jar_SOURCES = \
    457         $(VBOX_JWS_JAR) \
    458         $(VBOX_JWSDOC_JAR) \
    459         $(VBOX_JWSSRC_JAR)
    460 VBoxJWs-inst-jar_CLEAN = \
    461         $(VBOX_JWS_JAR) \
    462         $(VBOX_JWSDOC_JAR) \
    463         $(VBOX_JWSSRC_JAR) \
    464         $(VBOX_JWS_GEN)/jwsglue.list \
    465         $(VBOX_JWSDOC_JDEST)/package-list \
    466         $(wildcard \
    467                 $(VBOX_JWS_GEN)/java/*/*/*.java \
    468                 $(VBOX_JWS_GEN)/java/*/*/*/*.java \
    469                 $(VBOX_JWS_JDEST)/*.class \
    470                 $(VBOX_JWS_JDEST)/*/*.class \
    471                 $(VBOX_JWS_JDEST)/*/*/*.class \
    472                 $(VBOX_JWS_JDEST)/*/*/*/*.class \
    473                 $(VBOX_JWSDOC_JDEST)/*.html \
    474                 $(VBOX_JWSDOC_JDEST)/*.css \
    475                 $(VBOX_JWSDOC_JDEST)/*/*.gif \
    476                 $(VBOX_JWSDOC_JDEST)/*/*/*.html \
    477                 $(VBOX_JWSDOC_JDEST)/*/*/*/*.html \
    478         )
    479 VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java
    480 VBoxJWs-inst-jar_GENERATEDSOURCES = $(addprefix $(VBoxJWs-inst-jar_BLDDIRS)/,$(VBoxJWS_VBOX_JWSGLUEFILES))
    481 
    482 VBoxJWSGlue_KMK = $(PATH_OUT)/vboxjwsglue.kmk
    483 include $(VBoxJWSGlue_KMK)
    484 
    485 $(VBoxJWSGlue_KMK).ts +| $(VBoxJWSGlue_KMK): $(VBOXWEB_IDL_SRC_ORIG) $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl $(VBOX_VERSION_STAMP)
     438  INSTALLS += VBoxJWs-inst-jar
     439
     440  #
     441  # Java glue JAR files
     442  #
     443  VBOX_JWS_JAR   = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws.jar
     444  VBOX_JWSDOC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-doc.jar
     445  VBOX_JWSSRC_JAR = $(VBoxJWs-inst-jar_0_OUTDIR)/vboxjws-src.jar
     446  VBOX_JWS_TARGET := $(PATH_TARGET)/vboxjws-gen
     447  VBOX_JWS_GEN   = $(VBOX_JWS_TARGET)/jwsgen
     448  VBOX_JWS_GEN_RAWSRC = $(VBOX_JWS_GEN)/merged.file
     449  VBOX_JWS_JDEST := $(VBOX_JWS_TARGET)/jdest
     450  VBOX_JWSDOC_JDEST := $(VBOX_JWS_TARGET)/jdest-doc
     451  VBOX_GLUE_XSLT_DIR := $(PATH_ROOT)/src/VBox/Main/glue
     452  VBOX_JAXLIB_DIR  := $(PATH_ROOT)/src/VBox/Main/webservice/jaxlibs
     453
     454  VBoxJWs-inst-jar_INST = $(INST_SDK)bindings/webservice/java/jax-ws/
     455  VBoxJWs-inst-jar_MODE = a+r,u+w
     456  VBoxJWs-inst-jar_SOURCES = \
     457        $(VBOX_JWS_JAR) \
     458        $(VBOX_JWSDOC_JAR) \
     459        $(VBOX_JWSSRC_JAR)
     460  VBoxJWs-inst-jar_CLEAN = \
     461        $(VBOX_JWS_JAR) \
     462        $(VBOX_JWSDOC_JAR) \
     463        $(VBOX_JWSSRC_JAR) \
     464        $(VBOX_JWS_GEN)/jwsglue.list \
     465        $(VBOX_JWSDOC_JDEST)/package-list \
     466        $(wildcard \
     467        $(VBOX_JWS_GEN)/java/*/*/*.java \
     468        $(VBOX_JWS_GEN)/java/*/*/*/*.java \
     469        $(VBOX_JWS_JDEST)/*.class \
     470        $(VBOX_JWS_JDEST)/*/*.class \
     471        $(VBOX_JWS_JDEST)/*/*/*.class \
     472        $(VBOX_JWS_JDEST)/*/*/*/*.class \
     473        $(VBOX_JWSDOC_JDEST)/*.html \
     474        $(VBOX_JWSDOC_JDEST)/*.css \
     475        $(VBOX_JWSDOC_JDEST)/*/*.gif \
     476        $(VBOX_JWSDOC_JDEST)/*/*/*.html \
     477        $(VBOX_JWSDOC_JDEST)/*/*/*/*.html \
     478        )
     479  VBoxJWs-inst-jar_BLDDIRS += $(VBOX_JWS_GEN)/java
     480  VBoxJWs-inst-jar_GENERATEDSOURCES = $(addprefix $(VBoxJWs-inst-jar_BLDDIRS)/,$(VBoxJWS_VBOX_JWSGLUEFILES))
     481
     482  VBoxJWSGlue_KMK = $(PATH_OUT)/vboxjwsglue.kmk
     483  include $(VBoxJWSGlue_KMK)
     484
     485  $(VBoxJWSGlue_KMK).ts +| $(VBoxJWSGlue_KMK): $(VBOXWEB_IDL_SRC_ORIG) $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl $(VBOX_VERSION_STAMP)
    486486        $(call MSG_GENERATE,,$(VBoxJWSGlue_KMK))
    487487        $(QUIET)$(RM) -f $@
     
    495495        $(QUIET)$(CP) --changed -fv $@ $(VBoxJWSGlue_KMK)
    496496
    497 $(VBOX_JWS_GEN_RAWSRC) \
    498 +| $(VBoxJWs-inst-jar_GENERATEDSOURCES): \
    499                 $(VBOXWEB_IDL_SRC_ORIG) \
    500                 $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
    501                 $(VBOX_FILESPLIT) \
    502                 $(VBOX_VERSION_STAMP)
     497  $(VBOX_JWS_GEN_RAWSRC) \
     498  +| $(VBoxJWs-inst-jar_GENERATEDSOURCES): \
     499                $(VBOXWEB_IDL_SRC_ORIG) \
     500                $(VBOX_GLUE_XSLT_DIR)/glue-java.xsl \
     501                $(VBOX_FILESPLIT) \
     502                $(VBOX_VERSION_STAMP)
    503503        $(call MSG_L1,Generating JAX-WS Java glue files from XIDL)
    504504        $(QUIET)$(RM) -f $(filter-out $(VBoxJWs-inst-jar_GENERATEDSOURCES),$(wildcard $(VBOX_JWS_GEN)/java/*/*/*.java))
     
    513513        $(QUIET)$(VBOX_FILESPLIT) $(VBOX_JWS_GEN_RAWSRC) $(VBOX_JWS_GEN)/java
    514514
    515 ## @todo somehow also find out the authoritative list of files generated by
    516 # wsimport (before running it), then we could rely on proper dependencies
    517 # instead of creating jwsglue.list. Would allow avoiding a lot of unnecessary
    518 # compilation with incremental builds, when almost nothing changed in the IDL
    519 # file. Currently everything is recompiled if only one file is changed.
    520 $(VBOX_JWS_GEN)/jwsglue.list.ts +| $(VBOX_JWS_GEN)/jwsglue.list: \
    521                 $(VBOXWEB_IDL_SRC) \
    522                 $(VBOX_FILESPLIT) \
    523                 $(VBOXWEBSERVICE_WSDL) \
    524                 $(VBOXWEB_WSDL) \
    525                 $(VBoxJWs-inst-jar_GENERATEDSOURCES) \
    526                 | $(VBOX_JWS_GEN)/java/
     515  ## @todo somehow also find out the authoritative list of files generated by
     516  # wsimport (before running it), then we could rely on proper dependencies
     517  # instead of creating jwsglue.list. Would allow avoiding a lot of unnecessary
     518  # compilation with incremental builds, when almost nothing changed in the IDL
     519  # file. Currently everything is recompiled if only one file is changed.
     520  $(VBOX_JWS_GEN)/jwsglue.list.ts +| $(VBOX_JWS_GEN)/jwsglue.list: \
     521                $(VBOXWEB_IDL_SRC) \
     522                $(VBOX_FILESPLIT) \
     523                $(VBOXWEBSERVICE_WSDL) \
     524                $(VBOXWEB_WSDL) \
     525                $(VBoxJWs-inst-jar_GENERATEDSOURCES) \
     526                | $(VBOX_JWS_GEN)/java/
    527527        $(QUIET)$(RM) -f -- $(wildcard $(VBOX_JWS_GEN)/java/*/*/*/*.java)
    528528        $(call MSG_GENERATE,,$(VBOX_JWS_GEN)/jwsglue.list,JAX-WS for Java 1.6 bindings using $(VBOXWEBSERVICE_WSDL))
     
    532532        $(QUIET)$(CP) --changed -fv $@ $(VBOX_JWS_GEN)/jwsglue.list
    533533
    534 $$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_JWS_GEN)/MANIFEST.MF | $$(dir $$@)
     534  $$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglue.list $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_JWS_GEN)/MANIFEST.MF | $$(dir $$@)
    535535        $(call MSG_TOOL,javac,$(notdir $@),jwsgen.list,)
    536536        $(QUIET)$(RM) -Rf $(VBOX_JWS_JDEST)
     
    545545        $(VBOX_JAR) cfm $@ $(VBOX_JWS_GEN)/MANIFEST.MF -C $(VBOX_JWS_JDEST) .
    546546
    547 $(VBOX_JWS_GEN)/MANIFEST.MF: $(VBOX_PATH_WEBSERVICE)/MANIFEST.MF.in
     547  $(VBOX_JWS_GEN)/MANIFEST.MF: $(VBOX_PATH_WEBSERVICE)/MANIFEST.MF.in
    548548        $(QUIET)$(RM) -f -- $@
    549549        $(QUIET)$(MKDIR) -p $(VBOX_JWS_GEN)
     
    555555                <  $< >  $@
    556556
    557 $$(VBOX_JWSDOC_JAR): $(VBOX_JWS_GEN)/jwsglue.list $$(VBoxJWs-inst-jar_GENERATEDSOURCES) $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $$(VBOX_JWS_JAR) | $$(dir $$@)
     557  $$(VBOX_JWSDOC_JAR): $(VBOX_JWS_GEN)/jwsglue.list $$(VBoxJWs-inst-jar_GENERATEDSOURCES) $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $$(VBOX_JWS_JAR) | $$(dir $$@)
    558558        $(call MSG_TOOL,javadoc,$(notdir $@),jwsgen.list,)
    559559        $(QUIET)$(RM) -Rf $(VBOX_JWSDOC_JDEST)
     
    566566        $(VBOX_JAR) cf $@ -C $(VBOX_JWSDOC_JDEST) .
    567567
    568 $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | $$(dir $$@)
     568  $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | $$(dir $$@)
    569569        $(call MSG_LINK,$(notdir $@),$@)
    570570        $(VBOX_JAR) cf $@ -C $(VBOX_JWS_GEN)/java .
    571571
    572 ## @todo compile ../glue/tests/TestVBox.java to have sanity checking
     572  ## @todo compile ../glue/tests/TestVBox.java to have sanity checking
    573573
    574574 endif # VBOX_WITH_JWS
    575575
    576576 ifndef VBOX_ONLY_SDK
    577  #
    578  # webtest - webservice sample client in C++
    579  #
    580  PROGRAMS += webtest
    581  webtest_TEMPLATE = VBoxWebR3Exe
    582  webtest_CXXFLAGS.win += -bigobj
    583  ifn1of ($(KBUILD_TARGET), win)
    584   webtest_CXXFLAGS += -Wno-shadow
    585  endif
    586  webtest_INCS := \
    587         $(VBOX_GSOAP_INCS) \
    588         $(VBOXWEB_OUT_DIR) \
    589         .
    590  webtest_LIBS += \
    591         $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
    592         $(VBOX_GSOAP_CXX_LIBS) \
    593         $(LIB_RUNTIME)
    594  webtest_LIBS.solaris += nsl
    595  ifdef VBOX_WITH_WEBSERVICES_SSL
    596   webtest_DEFS += WITH_OPENSSL
    597   webtest_SDKS += VBoxOpenSsl
    598  endif
    599  webtest_SOURCES = \
    600         webtest.cpp \
    601         $(VBOXWEB_OUT_DIR)/soapClient.cpp
    602  webtest_CLEAN = \
    603         $(VBOXWEB_OUT_DIR)/soapClient.cpp
    604 
    605  webtest_ORDERDEPS = $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
     577  #
     578  # webtest - webservice sample client in C++
     579  #
     580  PROGRAMS += webtest
     581  webtest_TEMPLATE = VBoxWebR3Exe
     582  webtest_CXXFLAGS.win += -bigobj
     583  ifn1of ($(KBUILD_TARGET), win)
     584   webtest_CXXFLAGS += -Wno-shadow
     585  endif
     586  webtest_INCS := \
     587        $(VBOX_GSOAP_INCS) \
     588        $(VBOXWEB_OUT_DIR) \
     589        .
     590  webtest_LIBS += \
     591        $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
     592        $(VBOX_GSOAP_CXX_LIBS) \
     593        $(LIB_RUNTIME)
     594  webtest_LIBS.solaris += nsl
     595  ifdef VBOX_WITH_WEBSERVICES_SSL
     596   webtest_DEFS += WITH_OPENSSL
     597   webtest_SDKS += VBoxOpenSsl
     598  endif
     599  webtest_SOURCES = \
     600        webtest.cpp \
     601        $(VBOXWEB_OUT_DIR)/soapClient.cpp
     602  webtest_CLEAN = \
     603        $(VBOXWEB_OUT_DIR)/soapClient.cpp
     604
     605  webtest_ORDERDEPS = $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
    606606 endif # !VBOX_ONLY_SDK
    607607
     
    612612 ## @todo figure out whether the SDK really needs this or not...
    613613 OTHER_CLEAN += \
    614         $(wildcard $(VBOXWEB_OUT_DIR)/soap*.h) \
    615         $(wildcard $(VBOXWEB_OUT_DIR)/soap*.cpp) \
    616         $(wildcard $(VBOXWEB_OUT_DIR)/*.nsmap) \
    617         $(VBOXWEB_GSOAPH_FROM_XSLT) \
    618         $(VBOXWEB_GSOAPH_FROM_GSOAP) \
    619         $(VBOXWEB_SOAP_CLIENT_H) \
    620         $(VBOXWEB_SOAP_SERVER_H) \
    621         $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \
    622         $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts \
    623         $(wildcard $(PATH_TARGET_SOAPDEMOXML)/*) \
    624         $(PATH_TARGET_SOAPDEMOXML)/dummy_file \
    625         $(wildcard $(PATH_TARGET_SOAPDEMOHEADERS)/*) \
    626         $(PATH_TARGET_SOAPDEMOHEADERS)/dummy_file \
    627         $(wildcard $(PATH_TARGET_SOAPDEMONSMAPS)/*) \
    628         $(PATH_TARGET_SOAPDEMONSMAPS)/dummy_file
     614        $(wildcard $(VBOXWEB_OUT_DIR)/soap*.h) \
     615        $(wildcard $(VBOXWEB_OUT_DIR)/soap*.cpp) \
     616        $(wildcard $(VBOXWEB_OUT_DIR)/*.nsmap) \
     617        $(VBOXWEB_GSOAPH_FROM_XSLT) \
     618        $(VBOXWEB_GSOAPH_FROM_GSOAP) \
     619        $(VBOXWEB_SOAP_CLIENT_H) \
     620        $(VBOXWEB_SOAP_SERVER_H) \
     621        $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \
     622        $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts \
     623        $(wildcard $(PATH_TARGET_SOAPDEMOXML)/*) \
     624        $(PATH_TARGET_SOAPDEMOXML)/dummy_file \
     625        $(wildcard $(PATH_TARGET_SOAPDEMOHEADERS)/*) \
     626        $(PATH_TARGET_SOAPDEMOHEADERS)/dummy_file \
     627        $(wildcard $(PATH_TARGET_SOAPDEMONSMAPS)/*) \
     628        $(PATH_TARGET_SOAPDEMONSMAPS)/dummy_file
    629629
    630630endif # VBOX_GSOAP_INSTALLED
     
    652652 VBOXWEB_METRICSAMPLE          = $(VBOXWEB_SAMPLES_JAXWS_DIR)/metrictest.java
    653653
    654  VBOXWEB_OTHERS               +=  \
    655         $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_GLUE_PYTHON),) \
    656         $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON),) \
    657         $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON_TYPES),) \
    658         $(if $(VBOX_WITH_PERL),$(VBOXWEB_WS_PERL),) \
    659         $(if $(VBOX_WITH_PHP),$(VBOXWEB_WS_PHP),)
     654 VBOXWEB_OTHERS               += \
     655        $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_GLUE_PYTHON),) \
     656        $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON),) \
     657        $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON_TYPES),) \
     658        $(if $(VBOX_WITH_PERL),$(VBOXWEB_WS_PERL),) \
     659        $(if $(VBOX_WITH_PHP),$(VBOXWEB_WS_PHP),)
    660660
    661661
     
    667667 vboxwebinst_MODE = a+rx,u+w
    668668 vboxwebinst_SOURCES = \
    669         $(if   $(VBOX_WITH_PERL),samples/perl/clienttest.pl=>perl/samples/clienttest.pl,) \
    670         $(if    $(VBOX_WITH_PHP),samples/php/clienttest.php=>php/samples/clienttest.php,) \
    671         $(if $(VBOX_WITH_PYTHON),samples/python/clienttest.py=>python/samples/clienttest.py,)
     669        $(if   $(VBOX_WITH_PERL),samples/perl/clienttest.pl=>perl/samples/clienttest.pl,) \
     670        $(if    $(VBOX_WITH_PHP),samples/php/clienttest.php=>php/samples/clienttest.php,) \
     671        $(if $(VBOX_WITH_PYTHON),samples/python/clienttest.py=>python/samples/clienttest.py,)
    672672
    673673 INSTALLS += vboxwebinst_nox
     
    675675 vboxwebinst_nox_MODE = a+r,u+w
    676676 vboxwebinst_nox_SOURCES = \
    677         $(if $(VBOX_WITH_PYTHON),samples/python/Makefile=>python/samples/Makefile,) \
    678         $(if $(VBOX_WITH_PYTHON),samples/python/Makefile.glue=>python/lib/Makefile,) \
    679         $(if ($VBOX_WITH_JWS),$(PATH_ROOT)/COPYING.LIB=>java/jax-ws/COPYING.LIB,)
     677        $(if $(VBOX_WITH_PYTHON),samples/python/Makefile=>python/samples/Makefile,) \
     678        $(if $(VBOX_WITH_PYTHON),samples/python/Makefile.glue=>python/lib/Makefile,) \
     679        $(if ($VBOX_WITH_JWS),$(PATH_ROOT)/COPYING.LIB=>java/jax-ws/COPYING.LIB,)
    680680
    681681 INSTALLS += vboxwebinst_wsdl
     
    683683 vboxwebinst_wsdl_MODE = a+r,u+w
    684684 vboxwebinst_wsdl_SOURCES = \
    685         $(VBOXWEB_WSDL)=>vboxweb.wsdl \
    686         $(VBOXWEBSERVICE_WSDL)=>vboxwebService.wsdl
     685        $(VBOXWEB_WSDL)=>vboxweb.wsdl \
     686        $(VBOXWEBSERVICE_WSDL)=>vboxwebService.wsdl
    687687
    688688 INSTALLS += vboxwebinst_webtest
     
    690690 vboxwebinst_webtest_MODE = a+r,u+w
    691691 vboxwebinst_webtest_SOURCES = \
    692         $(VBOX_PATH_WEBSERVICE)/websrv-wsdl2gsoapH.xsl=>xsl/websrv-wsdl2gsoapH.xsl \
    693         $(VBOX_PATH_WEBSERVICE)/websrv-nsmap.xsl=>xsl/websrv-nsmap.xsl \
    694         $(VBOX_PATH_IDL)/typemap-shared.inc.xsl=>idl/typemap-shared.inc.xsl \
    695         $(VBOX_PATH_WEBSERVICE)/split-soapC.cpp=>tools/split-soapC.cpp \
    696         $(VBOX_PATH_WEBSERVICE)/webtest.cpp=>cpp/samples/webtest/webtest.cpp \
    697         $(VBOX_PATH_WEBSERVICE)/Makefile.webtest=>cpp/samples/webtest/Makefile
     692        $(VBOX_PATH_WEBSERVICE)/websrv-wsdl2gsoapH.xsl=>xsl/websrv-wsdl2gsoapH.xsl \
     693        $(VBOX_PATH_WEBSERVICE)/websrv-nsmap.xsl=>xsl/websrv-nsmap.xsl \
     694        $(VBOX_PATH_IDL)/typemap-shared.inc.xsl=>idl/typemap-shared.inc.xsl \
     695        $(VBOX_PATH_WEBSERVICE)/split-soapC.cpp=>tools/split-soapC.cpp \
     696        $(VBOX_PATH_WEBSERVICE)/webtest.cpp=>cpp/samples/webtest/webtest.cpp \
     697        $(VBOX_PATH_WEBSERVICE)/Makefile.webtest=>cpp/samples/webtest/Makefile
    698698
    699699endif # VBOX_ONLY_SDK
     
    708708OTHER_CLEAN += \
    709709        $(VBOXWEB_OTHERS) \
    710         $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON_SERVER),)  \
     710        $(if $(VBOX_WITH_PYTHON),$(VBOXWEB_WS_PYTHON_SERVER),) \
    711711        $(VBOXWEB_WSDL) \
    712712        $(VBOXWEBSERVICE_WSDL) \
     
    733733ifdef VBOX_ONLY_SDK
    734734
    735 $(VBOXWEB_GLUE_PYTHON): $(VBOXWEB_IDL_SRC) $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_PATH_WEBSERVICE)/websrv-python.xsl
     735 $(VBOXWEB_GLUE_PYTHON): $(VBOXWEB_IDL_SRC) $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL) $(VBOX_PATH_WEBSERVICE)/websrv-python.xsl
    736736        $(call MSG_GENERATE,,$@,$(VBOXWEB_IDL_SRC) using websrv-python.xsl)
    737737        $(QUIET)$(RM) -f -- $@
     
    739739        $(QUIET)$(VBOX_XSLTPROC) $(VBOXWEB_XSLTPROC_VERBOSE) -o $@ $(VBOX_PATH_WEBSERVICE)/websrv-python.xsl $<
    740740
    741 $(VBOXWEB_WS_PYTHON) \
    742 + $(VBOXWEB_WS_PYTHON_TYPES): $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL)
     741 $(VBOXWEB_WS_PYTHON) \
     742 + $(VBOXWEB_WS_PYTHON_TYPES): $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL)
    743743        $(call MSG_GENERATE,,$@, WS Python bindings)
    744744        $(QUIET)$(RM) -f -- $@
    745745        $(QUIET)$(MKDIR) -p $(@D)
    746 # Change directory to the "source", as otherwise ZSI 2.0 has trouble finding
    747 # the 2nd WSDL file included in the main one. ZSI 2.1 is smarter, but some
    748 # versions floating around (especially on Linux) lack the --file option.
    749 if "$(KBUILD_HOST)" != "win"
     746 # Change directory to the "source", as otherwise ZSI 2.0 has trouble finding
     747 # the 2nd WSDL file included in the main one. ZSI 2.1 is smarter, but some
     748 # versions floating around (especially on Linux) lack the --file option.
     749 if "$(KBUILD_HOST)" != "win"
    750750        $(QUIET)$(REDIRECT) -C $(dir $(VBOXWEBSERVICE_WSDL)) -- $(SHELL) -c "$(VBOX_WSDL2PY) -b --output-dir $(@D) $(VBOXWEBSERVICE_WSDL) || $(VBOX_WSDL2PY) -b --file $(VBOXWEBSERVICE_WSDL) --output-dir $(@D)"
    751 else
     751 else
    752752        $(QUIET)$(REDIRECT) -C $(dir $(VBOXWEBSERVICE_WSDL)) -- $(VBOX_WSDL2PY) -b --file $(subst /,\\\\,$(VBOXWEBSERVICE_WSDL)) --output-dir $(@D)
    753 endif
    754 # Hack: some wsdl2py versions generate VirtualBox_client.py, some generate
    755 # VirtualBox_services.py. Standardize on the former.
     753 endif
     754 # Hack: some wsdl2py versions generate VirtualBox_client.py, some generate
     755 # VirtualBox_services.py. Standardize on the former.
    756756        -$(QUIET)$(MV) -f $(VBOXWEB_WS_PYTHON_ALTERNATIVE) $(VBOXWEB_WS_PYTHON)
    757 # We do not ever need the VirtualBox_server.py file. Delete it immediately
    758 # so that it will not get packaged in the SDK.
     757 # We do not ever need the VirtualBox_server.py file. Delete it immediately
     758 # so that it will not get packaged in the SDK.
    759759        $(QUIET)$(RM) -f -- $(VBOXWEB_WS_PYTHON_SERVER)
    760760        $(QUIET)$(APPEND) $@ ''
    761761
    762 $(VBOXWEB_WS_PERL): $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL)
     762 $(VBOXWEB_WS_PERL): $(VBOXWEB_WSDL) $(VBOXWEBSERVICE_WSDL)
    763763        $(call MSG_GENERATE,,$@, WS Perl bindings)
    764764        $(QUIET)$(MKDIR) -p $(@D)
    765765        $(QUIET)$(REDIRECT) -C $(@D) -- $(VBOX_STUBMAKER) file://$(VBOXWEBSERVICE_WSDL)
    766 # Ugly, ugly, ugly, make me right once
     766 # Ugly, ugly, ugly, make me right once
    767767        $(QUIET)$(SED) -e "s+http://www.virtualbox.org/Service+http://www.virtualbox.org/+" --output $(VBOXWEB_WS_PERL).tmp $(VBOXWEB_WS_PERL)
    768768        $(QUIET)$(MV) $(VBOXWEB_WS_PERL).tmp $(VBOXWEB_WS_PERL)
    769769        $(QUIET)$(APPEND) $@ ''
    770770
    771 $(VBOXWEB_WS_PHP): $(VBOXWEB_IDL_SRC) $(VBOX_PATH_WEBSERVICE)/websrv-php.xsl
     771 $(VBOXWEB_WS_PHP): $(VBOXWEB_IDL_SRC) $(VBOX_PATH_WEBSERVICE)/websrv-php.xsl
    772772        $(call MSG_GENERATE,,$@,$(VBOXWEB_IDL_SRC) using websrv-php.xsl)
    773773        $(QUIET)$(RM) -f -- $@
     
    796796
    797797ifdef VBOX_GSOAP_INSTALLED
    798 # ... and once with the gSOAP tool (just for comparison, we don't use it for licensing reasons)
    799 $(VBOXWEB_GSOAPH_FROM_GSOAP): $(VBOXWEB_WSDL) $(VBOXWEB_TYPEMAP) | $$(dir $$@)
     798 # ... and once with the gSOAP tool (just for comparison, we don't use it for licensing reasons)
     799 $(VBOXWEB_GSOAPH_FROM_GSOAP): $(VBOXWEB_WSDL) $(VBOXWEB_TYPEMAP) | $$(dir $$@)
    800800        $(call MSG_GENERATE,,$@,)
    801801        $(QUIET)$(RM) -f -- $@
    802802        $(VBOX_WSDL2H) $(VBOXWEB_WSDL_VERBOSE) -t$(VBOXWEB_TYPEMAP) -nvbox -o $@ $<
    803803
    804 # this sets the gsoap header that we use for further compilation; if stuff works, then the
    805 # one we generate via XSLT produces the same end result as the one from the gSOAP tool;
    806 # with this variable we can swap for testing, but shipped code must use VBOXWEB_GSOAPH_FROM_XSLT
    807 GSOAPH_RELEVANT = $(VBOXWEB_GSOAPH_FROM_XSLT)
    808 
    809 # wsdl2h -v: verbose
    810 # wsdl2h -e: don't qualify enum names
    811 # wsdl2h -n<prefix>: namespace header prefix
    812 
    813 ## @todo change this to state explicitly what will be generated?
    814 
    815 #
    816 # Generate server and client code from gsoap pseudo-C header file.
    817 #
    818 # Options for soapcpp2:
    819 #   -2: generate SOAP 1.2 calls
    820 #   -L: don't generate soapClientLib/soapServerLib
    821 #   -w: don't generate WSDL and schema files
    822 #   -x: don't generate sample XML files (VBOXWEB_SOAPCPP2_SKIP_FILES).
    823 #
    824 $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \
    825 + $(VBOXWEB_OUT_DIR)/soapH.h \
    826 $(if-expr !defined(VBOX_WITHOUT_NOINLINE_SOAPH),\
    827 + $(VBOXWEB_OUT_DIR)/soapH-noinline-1.cpp \
    828 + $(VBOXWEB_OUT_DIR)/soapH-noinline-2.cpp \
    829 + $(VBOXWEB_OUT_DIR)/soapH-noinline-3.cpp \
    830 + $(VBOXWEB_OUT_DIR)/soapH-noinline-4.cpp \
    831 + $(VBOXWEB_OUT_DIR)/soapH-noinline-5.cpp \
    832 + $(VBOXWEB_OUT_DIR)/soapH-noinline-6.cpp \
    833 + $(VBOXWEB_OUT_DIR)/soapH-noinline-7.cpp \
    834 + $(VBOXWEB_OUT_DIR)/soapH-noinline-8.cpp \
    835 + $(VBOXWEB_OUT_DIR)/soapH-noinline-9.cpp \
    836 + $(VBOXWEB_OUT_DIR)/soapH-noinline-10.cpp \
    837 + $(VBOXWEB_OUT_DIR)/soapH-noinline-11.cpp \
    838 + $(VBOXWEB_OUT_DIR)/soapH-noinline-12.cpp,) \
    839 + $(VBOXWEB_SOAP_CLIENT_H) \
    840 + $(VBOXWEB_OUT_DIR)/soapC.cpp \
    841 + $(VBOXWEB_OUT_DIR)/soapClient.cpp \
    842 + $(VBOXWEB_OUT_DIR)/soapServer.cpp \
    843 : $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) \
    844                 $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed \
    845                 $(VBOX_PATH_WEBSERVICE)/soap-header-to-inline-source-file.sed \
    846                 $(VBOX_PATH_WEBSERVICE)/soap-header-strip-inline.sed \
    847                 $$(split-soapC_1_TARGET) \
    848                 $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
     804 # this sets the gsoap header that we use for further compilation; if stuff works, then the
     805 # one we generate via XSLT produces the same end result as the one from the gSOAP tool;
     806 # with this variable we can swap for testing, but shipped code must use VBOXWEB_GSOAPH_FROM_XSLT
     807 GSOAPH_RELEVANT = $(VBOXWEB_GSOAPH_FROM_XSLT)
     808
     809 # wsdl2h -v: verbose
     810 # wsdl2h -e: don't qualify enum names
     811 # wsdl2h -n<prefix>: namespace header prefix
     812
     813 ## @todo change this to state explicitly what will be generated?
     814
     815 #
     816 # Generate server and client code from gsoap pseudo-C header file.
     817 #
     818 # Options for soapcpp2:
     819 #   -2: generate SOAP 1.2 calls
     820 #   -L: don't generate soapClientLib/soapServerLib
     821 #   -w: don't generate WSDL and schema files
     822 #   -x: don't generate sample XML files (VBOXWEB_SOAPCPP2_SKIP_FILES).
     823 #
     824 $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \
     825 + $(VBOXWEB_OUT_DIR)/soapH.h \
     826 $(if-expr !defined(VBOX_WITHOUT_NOINLINE_SOAPH), \
     827        + $(VBOXWEB_OUT_DIR)/soapH-noinline-1.cpp \
     828        + $(VBOXWEB_OUT_DIR)/soapH-noinline-2.cpp \
     829        + $(VBOXWEB_OUT_DIR)/soapH-noinline-3.cpp \
     830        + $(VBOXWEB_OUT_DIR)/soapH-noinline-4.cpp \
     831        + $(VBOXWEB_OUT_DIR)/soapH-noinline-5.cpp \
     832        + $(VBOXWEB_OUT_DIR)/soapH-noinline-6.cpp \
     833        + $(VBOXWEB_OUT_DIR)/soapH-noinline-7.cpp \
     834        + $(VBOXWEB_OUT_DIR)/soapH-noinline-8.cpp \
     835        + $(VBOXWEB_OUT_DIR)/soapH-noinline-9.cpp \
     836        + $(VBOXWEB_OUT_DIR)/soapH-noinline-10.cpp \
     837        + $(VBOXWEB_OUT_DIR)/soapH-noinline-11.cpp \
     838        + $(VBOXWEB_OUT_DIR)/soapH-noinline-12.cpp,) \
     839 + $(VBOXWEB_SOAP_CLIENT_H) \
     840 + $(VBOXWEB_OUT_DIR)/soapC.cpp \
     841 + $(VBOXWEB_OUT_DIR)/soapClient.cpp \
     842 + $(VBOXWEB_OUT_DIR)/soapServer.cpp: \
     843                $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) \
     844                $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed \
     845                $(VBOX_PATH_WEBSERVICE)/soap-header-to-inline-source-file.sed \
     846                $(VBOX_PATH_WEBSERVICE)/soap-header-strip-inline.sed \
     847                $$(split-soapC_1_TARGET) \
     848                $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
    849849        $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT))
    850850        $(RM) -f $@
    851851        $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
    852 ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround.
     852 ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround.
    853853        $(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
    854854        $(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
    855855        $(RM) -f "$(VBOXWEB_SOAP_CLIENT_H).tmp"
    856 endif
    857 ifndef VBOX_WITHOUT_NOINLINE_SOAPH
     856 endif
     857 ifndef VBOX_WITHOUT_NOINLINE_SOAPH
    858858        $(MV) -f -- "$(VBOXWEB_OUT_DIR)/soapH.h" "$(VBOXWEB_OUT_DIR)/soapH.h.tmp"
    859859        $(SED) -f $(VBOX_PATH_WEBSERVICE)/soap-header-to-inline-source-file.sed \
     
    865865                "$(VBOXWEB_OUT_DIR)/soapH.h.tmp"
    866866        $(RM) -f -- "$(VBOXWEB_OUT_DIR)/soapH.h.tmp" "$(VBOXWEB_OUT_DIR)/soapH-noinline.cpp"
    867 endif
     867 endif
    868868        $(APPEND) $@ done
    869869
    870 # Copy the generated headers and stuff.  This was split into a separate rule
    871 # way back because we thought we could use $(wildcard ) and avoid the shell,
    872 # however we cannot as it is subject to caching.  Let the shell do the globbing.
    873 # GSOAP versions 2.8 and later do not generate the unneeded soapvbox*.h files
    874 # any more. Ignoring the exit code is the simple solution, accepting the error.
    875 $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts: $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts | $$(dir $$@)
     870 # Copy the generated headers and stuff.  This was split into a separate rule
     871 # way back because we thought we could use $(wildcard ) and avoid the shell,
     872 # however we cannot as it is subject to caching.  Let the shell do the globbing.
     873 # GSOAP versions 2.8 and later do not generate the unneeded soapvbox*.h files
     874 # any more. Ignoring the exit code is the simple solution, accepting the error.
     875 $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts: $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts | $$(dir $$@)
    876876        $(RM) -f $@
    877877        $(MKDIR) -p $(PATH_TARGET_SOAPDEMOXML) $(PATH_TARGET_SOAPDEMOHEADERS) $(PATH_TARGET_SOAPDEMONSMAPS)
    878 ifdef VBOX_GSOAP_VERBOSE
     878 ifdef VBOX_GSOAP_VERBOSE
    879879        $(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/*.req.xml $(VBOXWEB_OUT_DIR)/*.res.xml $(PATH_TARGET_SOAPDEMOXML)/
    880 endif
     880 endif
    881881        -$(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/soapvbox*.h $(PATH_TARGET_SOAPDEMOHEADERS)/
    882882        $(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/vboxBinding.nsmap $(PATH_TARGET_SOAPDEMONSMAPS)/
    883883        $(APPEND) $@ done
    884884
    885 $(PATH_TARGET_SOAPDEMONSMAPS) \
    886 $(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingProxy.h \
    887 $(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingObject.h: $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
    888 
    889 hack: $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
    890 
    891 ifndef VBOX_WITHOUT_SPLIT_SOAPC
    892 #
    893 # Split up the soapC.cpp monster into manageable bits that can be
    894 # built in parallel and without exhausting all available memory.
    895 #
    896 $(VBOXWEB_OUT_DIR)/soapC-1.cpp \
    897 + $(VBOXWEB_OUT_DIR)/soapC-2.cpp \
    898 + $(VBOXWEB_OUT_DIR)/soapC-3.cpp \
    899 + $(VBOXWEB_OUT_DIR)/soapC-4.cpp \
    900 + $(VBOXWEB_OUT_DIR)/soapC-5.cpp \
    901 + $(VBOXWEB_OUT_DIR)/soapC-6.cpp \
    902 + $(VBOXWEB_OUT_DIR)/soapC-7.cpp \
    903 + $(VBOXWEB_OUT_DIR)/soapC-8.cpp \
    904 + $(VBOXWEB_OUT_DIR)/soapC-9.cpp \
    905 + $(VBOXWEB_OUT_DIR)/soapC-10.cpp \
    906 + $(VBOXWEB_OUT_DIR)/soapC-11.cpp \
    907 + $(VBOXWEB_OUT_DIR)/soapC-12.cpp \
    908 + $(VBOXWEB_OUT_DIR)/soapC-13.cpp \
    909 + $(VBOXWEB_OUT_DIR)/soapC-14.cpp \
    910 + $(VBOXWEB_OUT_DIR)/soapC-15.cpp \
    911 + $(VBOXWEB_OUT_DIR)/soapC-16.cpp \
    912 + $(VBOXWEB_OUT_DIR)/soapC-17.cpp \
    913 + $(VBOXWEB_OUT_DIR)/soapC-18.cpp \
    914 + $(VBOXWEB_OUT_DIR)/soapC-19.cpp \
    915 + $(VBOXWEB_OUT_DIR)/soapC-20.cpp \
    916 + $(VBOXWEB_OUT_DIR)/soapC-21.cpp \
    917 + $(VBOXWEB_OUT_DIR)/soapC-22.cpp \
    918 + $(VBOXWEB_OUT_DIR)/soapC-23.cpp \
    919 + $(VBOXWEB_OUT_DIR)/soapC-24.cpp \
    920 + $(VBOXWEB_OUT_DIR)/soapC-25.cpp \
    921 + $(VBOXWEB_OUT_DIR)/soapC-26.cpp \
    922 + $(VBOXWEB_OUT_DIR)/soapC-27.cpp \
    923 + $(VBOXWEB_OUT_DIR)/soapC-28.cpp \
    924 + $(VBOXWEB_OUT_DIR)/soapC-29.cpp \
    925 : $(VBOXWEB_OUT_DIR)/soapC.cpp $$(split-soapC_1_TARGET) | $$(dir $$@)
     885 $(PATH_TARGET_SOAPDEMONSMAPS) \
     886 $(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingProxy.h \
     887 $(PATH_TARGET_SOAPDEMOHEADERS)/soapvboxBindingObject.h: $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
     888
     889 hack: $(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
     890
     891 ifndef VBOX_WITHOUT_SPLIT_SOAPC
     892  #
     893  # Split up the soapC.cpp monster into manageable bits that can be
     894  # built in parallel and without exhausting all available memory.
     895  #
     896  $(VBOXWEB_OUT_DIR)/soapC-1.cpp \
     897  + $(VBOXWEB_OUT_DIR)/soapC-2.cpp \
     898  + $(VBOXWEB_OUT_DIR)/soapC-3.cpp \
     899  + $(VBOXWEB_OUT_DIR)/soapC-4.cpp \
     900  + $(VBOXWEB_OUT_DIR)/soapC-5.cpp \
     901  + $(VBOXWEB_OUT_DIR)/soapC-6.cpp \
     902  + $(VBOXWEB_OUT_DIR)/soapC-7.cpp \
     903  + $(VBOXWEB_OUT_DIR)/soapC-8.cpp \
     904  + $(VBOXWEB_OUT_DIR)/soapC-9.cpp \
     905  + $(VBOXWEB_OUT_DIR)/soapC-10.cpp \
     906  + $(VBOXWEB_OUT_DIR)/soapC-11.cpp \
     907  + $(VBOXWEB_OUT_DIR)/soapC-12.cpp \
     908  + $(VBOXWEB_OUT_DIR)/soapC-13.cpp \
     909  + $(VBOXWEB_OUT_DIR)/soapC-14.cpp \
     910  + $(VBOXWEB_OUT_DIR)/soapC-15.cpp \
     911  + $(VBOXWEB_OUT_DIR)/soapC-16.cpp \
     912  + $(VBOXWEB_OUT_DIR)/soapC-17.cpp \
     913  + $(VBOXWEB_OUT_DIR)/soapC-18.cpp \
     914  + $(VBOXWEB_OUT_DIR)/soapC-19.cpp \
     915  + $(VBOXWEB_OUT_DIR)/soapC-20.cpp \
     916  + $(VBOXWEB_OUT_DIR)/soapC-21.cpp \
     917  + $(VBOXWEB_OUT_DIR)/soapC-22.cpp \
     918  + $(VBOXWEB_OUT_DIR)/soapC-23.cpp \
     919  + $(VBOXWEB_OUT_DIR)/soapC-24.cpp \
     920  + $(VBOXWEB_OUT_DIR)/soapC-25.cpp \
     921  + $(VBOXWEB_OUT_DIR)/soapC-26.cpp \
     922  + $(VBOXWEB_OUT_DIR)/soapC-27.cpp \
     923  + $(VBOXWEB_OUT_DIR)/soapC-28.cpp \
     924  + $(VBOXWEB_OUT_DIR)/soapC-29.cpp: \
     925                $(VBOXWEB_OUT_DIR)/soapC.cpp $$(split-soapC_1_TARGET) | $$(dir $$@)
    926926        $(RM) -f -- $(wildcard $(VBOXWEB_OUT_DIR)/soapC-?.cpp $(VBOXWEB_OUT_DIR)/soapC-??.cpp)
    927927        $(split-soapC_1_TARGET) $(VBOXWEB_OUT_DIR)/soapC.cpp $(VBOXWEB_OUT_DIR)/soapC- 29
    928 endif # !VBOX_WITHOUT_SPLIT_SOAPC
     928 endif # !VBOX_WITHOUT_SPLIT_SOAPC
    929929
    930930endif # VBOX_GSOAP_INSTALLED
     
    945945ifdef VBOX_ONLY_SDK
    946946
    947 $(VBOXWEB_JAXWSSAMPLE): $(VBOX_PATH_WEBSERVICE)/samples/java/jax-ws/clienttest.java
     947 $(VBOXWEB_JAXWSSAMPLE): $(VBOX_PATH_WEBSERVICE)/samples/java/jax-ws/clienttest.java
    948948        $(QUIET)$(RM) -f -- $@
    949949        $(QUIET)$(MKDIR) -p $(VBOXWEB_SAMPLES_JAXWS_DIR)
    950950        $(QUIET)$(SED) -e 's/{VBOX_API_SUFFIX}/$(VBOX_API_SUFFIX)/' <  $< >  $@
    951951
    952 $(VBOXWEB_METRICSAMPLE): $(VBOX_PATH_WEBSERVICE)/samples/java/jax-ws/metrictest.java
     952 $(VBOXWEB_METRICSAMPLE): $(VBOX_PATH_WEBSERVICE)/samples/java/jax-ws/metrictest.java
    953953        $(QUIET)$(RM) -f -- $@
    954954        $(QUIET)$(MKDIR) -p $(VBOXWEB_SAMPLES_JAXWS_DIR)
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