VirtualBox

Ignore:
Timestamp:
Sep 23, 2015 1:42:40 AM (9 years ago)
Author:
vboxsync
Message:

IPRT,libs: Hacks for building IPRT testcases that can run on NT4. Won't be enabled by default, as I'm doing pretty hairy things.

File:
1 edited

Legend:

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

    r57813 r57865  
    13361336VBoxRT_SDKS                   += VBOX_OPENSSL
    13371337VBoxRT_SDKS.win                = $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
    1338 if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win$(VBOX_WITH_HARDENING))
     1338if1of ($(KBUILD_TARGET), win)
     1339VBoxRT_INST                    = $(INST_DLL) $(INST_TESTCASE) $(VBOX_INST_TOOLS)
     1340else if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win$(VBOX_WITH_HARDENING))
    13391341VBoxRT_INST                    = $(INST_DLL) $(INST_TESTCASE)
    13401342endif
     
    14521454$$(VBoxRT_0_OUTDIR)/VBoxRT.def: \
    14531455                $(PATH_SUB_CURRENT)/r3/win/VBoxRT-$$(if-expr $$(KBUILD_TARGET_ARCH) == amd64,win64,win32).def \
    1454                 $(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def)
     1456                $(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def) \
     1457                $(if-expr "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" && defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES)\
     1458                ,$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcr100-win32.def ,) #$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcp100-win32.def
    14551459        $(RM) -f -- $@
    14561460        $(REDIRECT) -wto $@ -- $(CAT_EXT) $^
     
    14591463if1of (VBoxRT,$(DLLS))
    14601464 $(call VBOX_SET_VER_INFO_DLL,VBoxRT,VirtualBox Runtime)
     1465endif
     1466
     1467
     1468if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86"
     1469 #
     1470 # Hacks for running tests on NT 4.  Really ugly!
     1471 #
     1472 # We put most of the CRT in VBoxRT because we cannot even load msvcr100.dll
     1473 # or msvcp100.dll on NT4 because of kernel32.dll dependencies.  More hacks
     1474 # in RuntimeR3VccTricks.
     1475 #
     1476 TEMPLATE_VBoxR3RuntimeDllItself = xx
     1477 TEMPLATE_VBoxR3RuntimeDllItself_EXTENDS = VBoxR3RuntimeDll
     1478 TEMPLATE_VBoxR3RuntimeDllItself_LIBS.win.x86 = \
     1479        $(filter-out $(PATH_STAGE_LIB)/RuntimeR3VccTricks%, $(TEMPLATE_VBoxR3RuntimeDll_LIBS.win.x86))
     1480 TEMPLATE_VBoxR3RuntimeDllItself_SOURCES = \
     1481        r3/win/vcc100-kernel32-fakes.cpp \
     1482        r3/win/vcc100-kernel32-fakesA.asm \
     1483        r3/win/vcc100-msvcrt-fakes.cpp
     1484 VBoxRT_TEMPLATE         = VBoxR3RuntimeDllItself
     1485 VBoxRT_TEMPLATE.win.x86 = VBoxR3RuntimeDllItself
     1486 VBoxRT_DEFS.win.x86     = $(TEMPLATE_VBoxR3RuntimeDll_DEFS.win.x86) _CRTIMP_PURE="__declspec(dllexport)"
     1487 VBoxRT_LDFLAGS.win.x86  = /IGNORE:4049 /IGNORE:4217
     1488 VBoxRT_LIBS.win.x86 = \
     1489        $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/oldnames.lib \
     1490        $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcmt.lib \
     1491        $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcpmt.lib
    14611492endif
    14621493
     
    24932524        r3/win/vcc100-kernel32-fakesA.asm
    24942525
     2526if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" # Ugly hacks... :-)
     2527RuntimeR3VccTricks_SOURCES += $(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib
     2528RuntimeR3VccTricks_CLEAN    = $(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib
     2529RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED = \
     2530
     2531$$(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib: \
     2532                $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/msvcrt$(VBOX_VCC_CRT_TYPE).lib \
     2533                $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     2534                $$(LIB_RUNTIME) \
     2535                $(MAKEFILE) | $$(dir $$@)
     2536        $(RM) -f -- "$@"
     2537#       $(REDIRECT) -C $(dir $@) -- $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib \
     2538#               $(PATH_TOOL_$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     2539#               $(foreach file, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED), *$(file))
     2540        $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib [email protected] $< \
     2541                -MSVCR100.dll \
     2542                $(addprefix $(RuntimeR3VccTricks_0_OUTDIR)/, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED)) \
     2543               -chandler4gs.obj
     2544        $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib -o=$@ \
     2545               $(LIB_RUNTIME) \
     2546                [email protected]
     2547        $(RM) -f -- [email protected] $(addprefix $(RuntimeR3VccTricks_0_OUTDIR)/, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED))
     2548endif
     2549
    24952550
    24962551#
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