VirtualBox

Changeset 42595 in vbox for trunk/src/recompiler


Ignore:
Timestamp:
Aug 5, 2012 2:37:25 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
79780
Message:

REM/Makefile.kmk: MinGW-W64 experiments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/Makefile.kmk

    r41477 r42595  
    4444 VBoxRemPrimary_TEMPLATE       = DUMMY
    4545 VBoxRemPrimary_TOOL.win.x86   = MINGW32
    46  VBoxRemPrimary_TOOL.win.amd64 = XGCCAMD64LINUX
     46 ifdef VBOX_USE_MINGWW64
     47  VBoxRemPrimary_TOOL.win.amd64 = MINGWW64
     48 else
     49  VBoxRemPrimary_TOOL.win.amd64 = XGCCAMD64LINUX
     50 endif
    4751 VBoxRemPrimary_SDKS.win.x86   = W32API
    4852 VBoxRemPrimary_ASFLAGS        = -x assembler-with-cpp
     
    105109        Sun/testmath.c
    106110VBoxRemPrimary_SOURCES.win.x86 = $(VBoxREMImp_0_OUTDIR)/VBoxREMWin.def
    107 
     111ifdef VBOX_USE_MINGWW64
     112VBoxRemPrimary_SOURCES.win.amd64 = $(VBoxREMImp_0_OUTDIR)/VBoxREMWin.def
     113endif
     114
     115ifndef VBOX_USE_MINGWW64
    108116VBoxRemPrimary_LIBS            = \
    109117        $(LIB_VMM) \
    110118        $(LIB_RUNTIME)
     119else
     120VBoxRemPrimary_LIBS            = \
     121        $(VBoxRemPrimary_0_OUTDIR)/VBoxVMMImp.a \
     122        $(VBoxRemPrimary_0_OUTDIR)/VBoxRTImp.a
     123VBoxRemPrimary_CLEAN           = \
     124        $(VBoxRemPrimary_0_OUTDIR)/VBoxVMMImp.a \
     125        $(VBoxRemPrimary_0_OUTDIR)/VBoxVMMImp.def \
     126        $(VBoxRemPrimary_0_OUTDIR)/VBoxRTImp.a \
     127        $(VBoxRemPrimary_0_OUTDIR)/VBoxRTImp.def
     128endif
    111129
    112130VBoxRemPrimary_LDFLAGS.solaris = -mimpure-text
     
    114132
    115133
    116 if "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.amd64"
     134if "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.amd64" && !defined(VBOX_USE_MINGWW64)
    117135 #
    118136 # VBoxREM2/VBoxRemPrimary - Currently only used by 64-bit Windows.
     
    126144        Sun/e_powl-$(KBUILD_TARGET_ARCH).S
    127145 VBoxRemPrimary_INCS      += \
    128         Sun/crt
     146        Sun/crt
    129147 VBoxRemPrimary_SYSSUFF    = .rel
    130148 VBoxRemPrimary_LIBS       = \
     
    167185 VBoxRemPrimary_NAME       = VBoxREM
    168186 VBoxRemPrimary_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxREM3.dylib
     187
     188 ifdef VBOX_USE_MINGWW64
     189  # GNU ld (rubenvb-4.5.4) 2.22.52.20120716 doesn't fix up rip relative
     190  # addressing in the import libraries generated by microsoft link.exe. So, we
     191  # have to regenerate these.
     192  $$(VBoxRemPrimary_0_OUTDIR)/VBoxVMMImp.a \
     193  $$(VBoxRemPrimary_0_OUTDIR)/VBoxRTImp.a : $$(VBoxRemPrimary_0_OUTDIR)/$$(notdir $$(basename $$@)).def
     194        $(TOOL_MINGWW64_DLLTOOL) --output-lib "$@" --input-def "$<" --dllname "$(patsubst %Imp.a,%.dll,$(notdir $@))"
     195
     196  $$(VBoxRemPrimary_0_OUTDIR)/VBoxVMMImp.def \
     197  $$(VBoxRemPrimary_0_OUTDIR)/VBoxRTImp.def : \
     198                $(PATH_STAGE_BIN)/$$(patsubst %Imp.def,%.dll,$$(notdir $$@)) \
     199               | $$(dir $$@)
     200        $(APPEND) -nt $@ "LIBRARY $(notdir $<)" "EXPORTS"
     201        $(TOOL_$(VBOX_VCC_TOOL)_DUMPBIN) /EXPORTS "$<" \
     202                | $(SED) -e '/ = /!d' \
     203                         -e 's/^.* \([^ ][^ ]*\) = .*$(DOLLAR)/  \"\1\"/' \
     204                         --append $@
     205 endif # VBOX_USE_MINGWW64
     206
    169207endif
    170208
     
    186224 VBoxREMWrapper_SOURCES    = \
    187225        VBoxREMWrapper.cpp
    188  if "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.amd64"
     226 if "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.amd64" && !defined(VBOX_USE_MINGWW64)
    189227  VBoxREMWrapper_SOURCES  += \
    190228        VBoxREMWrapperA.asm
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette