Changeset 59418 in vbox
- Timestamp:
- Jan 20, 2016 1:39:26 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 105140
- Location:
- trunk/src/VBox
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Installer/win/VBoxMergeApp.wxi
r59397 r59418 81 81 82 82 <Component Id="cp_ProxyStub" Guid="CDD09BA4-8D87-4383-DCA6-1CCCF9D11091" Win64="$(var.Property_Win64)"> 83 <?if $(env.BUILD_TARGET_ARCH) != "x86" ?> 84 <!-- AMD64: Only install this proxy stub DLL on Windows 7 and later (OLE32 imports). --> 83 <!-- Only install this proxy stub DLL on Windows 7 and later (OLE32.ObjectStublessClientXX imports). --> 85 84 <Condition><![CDATA[(VersionNT >= 601)]]></Condition> 86 <?endif ?>87 85 <File Id="file_VBoxProxyStub" Name="VBoxProxyStub.dll" KeyPath="yes" 88 86 Source="$(env.PATH_OUT)\bin\VBoxProxyStub.dll"> … … 93 91 </Component> 94 92 95 <?if $(env.BUILD_TARGET_ARCH) != "x86" ?>96 93 <Component Id="cp_ProxyStubLegacy" Guid="97F12055-5B6D-481C-E8CD-F41D8C733280" Win64="$(var.Property_Win64)"> 97 <!-- AMD64: Only install this proxy stub DLL pre-Windows 7 (legacy NDR stuff). -->94 <!-- Only install this proxy stub DLL pre-Windows 7 (AMD64: legacy NDR stuff; Both: No ObjectStublessClientXX). --> 98 95 <Condition><![CDATA[(VersionNT < 601)]]></Condition> 99 96 <File Id="file_VBoxProxyStubLegacy" Name="VBoxProxyStubLegacy.dll" KeyPath="yes" … … 104 101 <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?> 105 102 </Component> 106 <?endif ?>107 103 108 104 <?endif?> -
trunk/src/VBox/Installer/win/VirtualBox.wxs
r59411 r59418 401 401 <?if $(env.VBOX_WITH_MIDL_PROXY_STUB) = "yes" ?> 402 402 <ComponentRef Id="cp_ProxyStub" /> 403 <?if $(env.BUILD_TARGET_ARCH) != "x86" ?>404 403 <ComponentRef Id="cp_ProxyStubLegacy" /> 405 <?endif?>406 404 <?endif?> 407 405 <ComponentRef Id="cp_MainBinaries" /> -
trunk/src/VBox/Main/Makefile.kmk
r59407 r59418 935 935 $(VBoxCOM_0_OUTDIR)/VirtualBox.h \ 936 936 $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb 937 ifeq ($(KBUILD_TARGET_ARCH),amd64) 938 VBoxCOM_CLEAN += \ 939 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_i.c \ 940 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_p.c \ 941 $(VBoxCOM_0_OUTDIR)/old64/dlldata.c \ 942 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox.h \ 943 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox.tlb 944 VBoxCOM_BLDDIRS = $(VBoxCOM_0_OUTDIR)/old64/ 945 endif 937 VBoxCOM_CLEAN += \ 938 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \ 939 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \ 940 $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \ 941 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \ 942 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb 943 VBoxCOM_BLDDIRS = $(VBoxCOM_0_OUTDIR)/legacy/ 946 944 else # !win 947 945 VBoxCOM_SOURCES += \ … … 1047 1045 VBoxProxyStub_DEFS.win.x86 = WIN32 1048 1046 VBoxProxyStub_SDKS = VBOX_NTDLL 1047 VBoxProxyStub_DEFPATH = $(VBoxCOM_0_OUTDIR)/# Hack to workaround drive letter in $(VBoxCOM_0_OUTDIR)/ for CFLAGS hack below. 1049 1048 VBoxProxyStub_INCS = $(VBoxCOM_0_OUTDIR)/ 1050 VBoxProxyStub_SOURCES = \ 1051 $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \ 1052 $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \ 1049 VBoxProxyStub_SOURCES := \ 1050 VirtualBox_p.c \ 1051 VirtualBox_i.c \ 1052 $(PATH_SUB_CURRENT)/src-all/win/VBoxProxyStub.def \ 1053 $(PATH_SUB_CURRENT)/src-all/win/VBoxProxyStub.rc \ 1054 $(PATH_SUB_CURRENT)/src-all/win/VBoxProxyStub.c 1055 src-all/win/VBoxProxyStub.rc_DEPS = $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb 1056 VBoxProxyStub_VirtualBox_p.c_CFLAGS.x86 = /Gz # Workaround for incorrect ObjectStublessClient* prototypes in SDK v7.1. 1057 1058 DLLS += VBoxProxyStubLegacy 1059 VBoxProxyStubLegacy_TEMPLATE = VBOXMAINCOMP 1060 VBoxProxyStubLegacy_EXTENDS = VBoxProxyStub 1061 VBoxProxyStubLegacy_DEFS = $(VBoxProxyStub_DEFS) VBOX_IN_PROXY_STUB_LEGACY 1062 VBoxProxyStubLegacy_INCS = $(VBoxCOM_0_OUTDIR)/legacy/ 1063 VBoxProxyStubLegacy_SOURCES = \ 1064 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \ 1065 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \ 1053 1066 src-all/win/VBoxProxyStub.def \ 1054 src-all/win/VBoxProxyStub .rc \1067 src-all/win/VBoxProxyStubLegacy.rc \ 1055 1068 src-all/win/VBoxProxyStub.c 1056 src-all/win/VBoxProxyStub.rc_DEPS = $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb 1057 1058 ifeq ($(KBUILD_TARGET_ARCH),amd64) 1059 DLLS += VBoxProxyStubLegacy 1060 VBoxProxyStubLegacy_TEMPLATE = VBOXMAINCOMP 1061 VBoxProxyStubLegacy_EXTENDS = VBoxProxyStub 1062 VBoxProxyStubLegacy_DEFS = $(VBoxProxyStub_DEFS) VBOX_IN_PROXY_STUB_LEGACY 1063 VBoxProxyStubLegacy_INCS = $(VBoxCOM_0_OUTDIR)/old64/ 1064 VBoxProxyStubLegacy_SOURCES = \ 1065 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_p.c \ 1066 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_i.c \ 1067 src-all/win/VBoxProxyStub.def \ 1068 src-all/win/VBoxProxyStubLegacy.rc \ 1069 src-all/win/VBoxProxyStub.c 1070 src-all/win/VBoxProxyStubLegacy.rc_DEPS = $(VBoxCOM_0_OUTDIR)/old64/VirtualBox.tlb 1071 endif 1069 src-all/win/VBoxProxyStubLegacy.rc_DEPS = $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb 1072 1070 1073 1071 ifdef VBOX_WITH_32_ON_64_MAIN_API … … 1140 1138 + $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@) 1141 1139 $(VBOX_WIN_MIDL) /nologo \ 1142 $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64" && "$(KBUILD_HOST)" == "win"\1140 $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64" \ 1143 1141 ,/env amd64 /robust /protocol all /target NT61\ 1144 ,/env win32 /robust /protocol all /target NT 51) \1142 ,/env win32 /robust /protocol all /target NT61) \ 1145 1143 /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxCOM_0_OUTDIR)) \ 1146 1144 /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \ … … 1149 1147 $(call VBOX_FN_MAKE_WIN_PATH,$<) 1150 1148 1151 if defined(VBOX_WITH_MIDL_PROXY_STUB) && "$(KBUILD_TARGET_ARCH)" == "amd64"1149 if defined(VBOX_WITH_MIDL_PROXY_STUB) 1152 1150 # -Windows Server 2003 AMD64 SP1 does not like the result when using '/protocol all' and '/target NT51'. 1153 1151 # -Vista AMD64 SP1 and Windows Server 2008 AMD64 seems to have some objections as well, but it seemed 1154 1152 # that using an older MIDL compiler (v7.00.0499 instead of v7.00.0555) helps. But the W2K3 fix also works. 1155 $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_i.c \ 1156 + $(VBoxCOM_0_OUTDIR)/old64/VirtualBox_p.c\ 1157 + $(VBoxCOM_0_OUTDIR)/old64/dlldata.c \ 1158 + $(VBoxCOM_0_OUTDIR)/old64/VirtualBox.h \ 1159 + $(VBoxCOM_0_OUTDIR)/old64/VirtualBox.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@) 1153 # To avoid 32-bit vs. 64-bit differences, we do the same for 32-bit windows versions. 1154 $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \ 1155 + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c\ 1156 + $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \ 1157 + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \ 1158 + $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@) 1160 1159 $(VBOX_WIN_MIDL) /nologo \ 1161 /env win64 /x64 /robust /target NT50 \ 1160 $(if-expr "$(KBUILD_TARGET_ARCH)" == "amd64" \ 1161 ,/env amd64 /x64 /target NT50 /robust \ 1162 ,/env win32 /target NT51 /robust /protocol all ) \ 1162 1163 /out $(call VBOX_FN_MAKE_WIN_PATH,$(dir $@)) \ 1163 1164 /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \ … … 1167 1168 endif 1168 1169 1170 # The XP targetted 32-bit proxy stub works with all versions of windows (the 1171 # issues leading to the VBoxProxyStubLegacy.dll are only on 64-bit windows). 1169 1172 $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_i.c \ 1170 1173 + $(VBoxCOM-x86_0_OUTDIR)/VirtualBox.h \ 1171 1174 $(if $(VBOX_WITH_MIDL_PROXY_STUB),+ $(VBoxCOM-x86_0_OUTDIR)/VirtualBox_p.c + $(VBoxCOM-x86_0_OUTDIR)/dlldata.c,) \ 1172 1175 + $(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb: $(VBOX_IDL_FILE.MSCOM) | $$(dir $$@) 1173 $(VBOX_WIN_MIDL) /nologo /env win32 /target NT51\1174 / robust /protocol all\1176 $(VBOX_WIN_MIDL) /nologo \ 1177 /env win32 /target NT51 /robust /protocol all \ 1175 1178 /out $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxCOM-x86_0_OUTDIR)) \ 1176 1179 /tlb $(call VBOX_FN_MAKE_WIN_PATH,$(VBoxCOM-x86_0_OUTDIR)/VirtualBox-x86.tlb) \ -
trunk/src/VBox/Main/glue/initterm.cpp
r59385 r59418 258 258 # ifndef VBOX_IN_32_ON_64_MAIN_API 259 259 rc = RTPathAppend(szPath, sizeof(szPath), 260 # if ARCH_BITS == 64261 260 RT_MAKE_U64(((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMinorVersion, 262 261 ((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMajorVersion) 263 262 >= RT_MAKE_U64(1/*Lo*/,6/*Hi*/) 264 ? "VBoxProxyStub.dll" : "VBoxProxyStubLegacy.dll" 265 # else 266 "VBoxProxyStub.dll" 267 # endif 268 ); 263 ? "VBoxProxyStub.dll" : "VBoxProxyStubLegacy.dll"); 269 264 # else 270 265 rc = RTPathAppend(szPath, sizeof(szPath), "x86\\VBoxProxyStub-x86.dll"); -
trunk/src/VBox/Main/src-all/win/VBoxProxyStub.c
r59417 r59418 79 79 #if ARCH_BITS == 64 || defined(VBOX_IN_32_ON_64_MAIN_API) 80 80 # define VBPS_PROXY_STUB_FILE(a_fIs32On64) \ 81 ( (a_fIs32On64) ? "x86\\VBoxProxyStub-x86.dll" \ 82 : RT_MAKE_U64(((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMinorVersion, \ 83 ((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMajorVersion) >= RT_MAKE_U64(1/*Lo*/,6/*Hi*/) \ 84 ? "VBoxProxyStub.dll" : "VBoxProxyStubLegacy.dll" ) 81 ( (a_fIs32On64) ? "x86\\VBoxProxyStub-x86.dll" : VBPS_PROXY_STUB_FILE_SUB() ) 85 82 #else 86 83 # define VBPS_PROXY_STUB_FILE(a_fIs32On64) "VBoxProxyStub.dll" 87 84 #endif 85 #define VBPS_PROXY_STUB_FILE_SUB() \ 86 ( RT_MAKE_U64(((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMinorVersion, \ 87 ((PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA)->NtMajorVersion) >= RT_MAKE_U64(1/*Lo*/,6/*Hi*/) \ 88 ? "VBoxProxyStub.dll" : "VBoxProxyStubLegacy.dll" ) 88 89 89 90
Note:
See TracChangeset
for help on using the changeset viewer.