VirtualBox

Changeset 48593 in vbox


Ignore:
Timestamp:
Sep 20, 2013 1:44:49 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89153
Message:

Need to detect some MinGW32/64 options, of course.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r48581 r48593  
    22122212# can be no harm in just dropping them until cygwin is mp safe.
    22132213ifeq ($(KBUILD_HOST),win)
    2214 VBOX_GCC_CHECK_CC = $(2)
    2215 VBOX_GCC_CHECK_CXX = $(2)
    2216 VBOX_GCC_CHECK_LD = $(2)
    2217 VBOX_GCC32_CHECK_CXX = $(2)
     2214 VBOX_GCC_CHECK_EX_CC  = $(3)
     2215 VBOX_GCC_CHECK_EX_CXX = $(3)
     2216 VBOX_GCC_CHECK_EX_LD  = $(3)
     2217 VBOX_GCC_CHECK_CC = $(2)
     2218 VBOX_GCC_CHECK_CXX = $(2)
     2219 VBOX_GCC_CHECK_LD = $(2)
     2220 VBOX_GCC32_CHECK_CXX = $(2)
    22182221else
    2219 VBOX_GCC_CHECK_CC = $(shell \
    2220    if $(TOOL_$(VBOX_GCC_TOOL)_CC) $(subst -Wno-,-W,$(1)) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
    2221    then echo "$(1)"; \
    2222    else echo "$(2)"; fi; )
    2223 
    2224 VBOX_GCC_CHECK_CXX = $(shell \
    2225    if $(TOOL_$(VBOX_GCC_TOOL)_CXX) $(subst -Wno-,-W,$(1)) -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1; \
    2226    then echo "$(1)"; \
    2227    else echo "$(2)"; fi; )
    2228 
    2229 VBOX_GCC_CHECK_LD = $(shell \
    2230    if $(TOOL_$(VBOX_GCC_TOOL)_LD) -Wl,$(1) $(if $(eq $(KBUILD_HOST),darwin),-Wl$(COMMA)-u$(COMMA)start -Wl$(COMMA)-undefined$(COMMA)dynamic_lookup,) -nostdlib -o /dev/null -xc /dev/null > /dev/null 2>&1 ;\
    2231    then echo "-Wl,$(1)"; \
    2232    else echo "$(2)"; fi; )
    2233 
    2234 VBOX_GCC32_CHECK_CXX = $(shell \
    2235    if $(TOOL_$(VBOX_GCC32_TOOL)_CXX) $(1) -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1; \
    2236    then echo "$(1)"; \
    2237    else echo "$(2)"; fi; )
    2238 endif
    2239 
    2240 ifeq ($(KBUILD_HOST),win)
    2241 # This isn't important (yet) on windows, so cook the result until
    2242 # cygwin is feeling better.
    2243 VBOX_GCC_VERSION := $(int-add $(int-mul 10000, 3), $(int-mul 100, 3), 3)
     2222 VBOX_GCC_CHECK_EX_CC = $(shell \
     2223    if $(1) $(subst -Wno-,-W,$(2)) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi; )
     2224 VBOX_GCC_CHECK_EX_CXX = $(shell \
     2225    if $(1) $(subst -Wno-,-W,$(2)) -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi; )
     2226 VBOX_GCC_CHECK_EX_LD = $(shell \
     2227    if $(1) -Wl,$(2) $(if $(eq $(KBUILD_HOST),darwin),-Wl$(COMMA)-u$(COMMA)start -Wl$(COMMA)-undefined$(COMMA)dynamic_lookup,) \
     2228            -nostdlib -o /dev/null -xc /dev/null > /dev/null 2>&1; \
     2229    then echo "-Wl,$(2)"; else echo "$(3)"; fi; )
     2230
     2231 VBOX_GCC_CHECK_CC    = $(call VBOX_GCC_CHECK_EX_CC,  $(TOOL_$(VBOX_GCC_TOOL)_CC),$1,$2)
     2232 VBOX_GCC_CHECK_CXX   = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC_TOOL)_CXX),$1,$2)
     2233 VBOX_GCC_CHECK_LD    = $(call VBOX_GCC_CHECK_EX_LD,  $(TOOL_$(VBOX_GCC_TOOL)_LD),$1,$2)
     2234 VBOX_GCC32_CHECK_CXX = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC32_TOOL)_CXX),$1,$2)
     2235endif
     2236
     2237ifeq ($(KBUILD_HOST),win) ## @todo can drop this now, we're not using cygwin.
     2238 # This isn't important (yet) on windows, so cook the result until
     2239 # cygwin is feeling better.
     2240 VBOX_GCC_VERSION := $(int-add $(int-mul 10000, 3), $(int-mul 100, 3), 3)
    22442241else
    2245 # This is kind of bad, the returned string needs to be re-evaluated before use.
    2246 # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
    2247 # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`.
    2248 VBOX_GCC_VERSION = $(shell \
    2249   $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, \2), $$(firstword \3 0))|' )
    2250 endif
     2242 # This is kind of bad, the returned string needs to be re-evaluated before use.
     2243 # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
     2244 # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`.
     2245 VBOX_GCC_VERSION = $(shell \
     2246    $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, \2), $$(firstword \3 0))|' )
     2247endif
     2248
     2249# Find MinGW cross compilers for EFI on non-windows systems. We need to probe
     2250# them for supported options in the Dynamic Config.kmk section below.
     2251ifdef VBOX_WITH_EFI
     2252 ifneq ($(KBUILD_HOST),win)
     2253  ifndef VBOX_PATH_PREFIX_MINGW32
     2254   VBOX_PATH_PREFIX_MINGW32 := $(firstword \
     2255        $(which i686-w64-mingw32-gcc) \
     2256        $(which i686-w32-mingw32-gcc) \
     2257        $(which i686-pc-mingw32-gcc) \
     2258        $(which i586-mingw32msvc-gcc) \
     2259        )# Add more variants.
     2260   ifdef VBOX_PATH_PREFIX_MINGW32
     2261    VBOX_PATH_PREFIX_MINGW32 := $(substr $(VBOX_PATH_PREFIX_MINGW32), 1, $(expr $(length-var VBOX_PATH_PREFIX_MINGW32) - 3))
     2262   endif
     2263  endif
     2264  ifndef VBOX_PATH_PREFIX_MINGW64
     2265   VBOX_PATH_PREFIX_MINGW64 := $(firstword \
     2266        $(which x86_64-w64-mingw64-gcc) \
     2267        $(which x86_64-w64-mingw32-gcc) \
     2268        $(which x86_64-pc-mingw64-gcc) \
     2269        $(which x86_64-pc-mingw32-gcc) \
     2270        $(which x86_64-w32-mingw32-gcc) \
     2271        )# Add more variants.
     2272   ifdef VBOX_PATH_PREFIX_MINGW64
     2273    VBOX_PATH_PREFIX_MINGW64 := $(substr $(VBOX_PATH_PREFIX_MINGW64), 1, $(expr $(length-var VBOX_PATH_PREFIX_MINGW64) - 3))
     2274   endif
     2275  endif
     2276  if defined(VBOX_PATH_PREFIX_MINGW32) || defined(VBOX_PATH_PREFIX_MINGW64)
     2277   if !defined(VBOX_PATH_PREFIX_MINGW32)
     2278    VBOX_PATH_PREFIX_MINGW32 = $(VBOX_PATH_PREFIX_MINGW64)
     2279   else if !defined(VBOX_PATH_PREFIX_MINGW64)
     2280    VBOX_PATH_PREFIX_MINGW64 = $(VBOX_PATH_PREFIX_MINGW32)
     2281   endif
     2282   VBOX_EFI_TOOL_CHAIN := UNIXGCC
     2283  endif
     2284 endif # !win
     2285endif # VBOX_WITH_EFI
    22512286
    22522287# YASM macros
     
    23622397        $(QUIET)$(APPEND) '$@' 'VBOX_YASM_Wno-segreg-in-64bit  ?= $(call VBOX_YASM_CHECK,-Wno-segreg-in-64bit,)'
    23632398
     2399ifdef VBOX_PATH_PREFIX_MINGW32
     2400        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_Wno-array-bounds            ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW32)g++ -m32,-Wno-array-bounds,)'
     2401        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_Wno-unused-but-set-variable ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW32)g++ -m32,-Wno-unused-but-set-variable,)'
     2402        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_Wno-maybe-uninitialized     ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW32)g++ -m32,-Wno-maybe-uninitialized,)'
     2403endif
     2404ifdef VBOX_PATH_PREFIX_MINGW64
     2405        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_Wno-array-bounds            ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW64)g++ -m64,-Wno-array-bounds,)'
     2406        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_Wno-unused-but-set-variable ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW64)g++ -m64,-Wno-unused-but-set-variable,)'
     2407        $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_Wno-maybe-uninitialized     ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW64)g++ -m64,-Wno-maybe-uninitialized,)'
     2408endif
    23642409        $(QUIET)$(ECHO) '========= START OF $@ ========='
    23652410        $(QUIET)$(CAT) $@
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