Merge pull request #10426 from akien-mga/drop-old-mingw32
Windows: Drop support for obsolete MinGW
This commit is contained in:
commit
b044e7d30d
1 changed files with 19 additions and 34 deletions
|
@ -14,69 +14,56 @@ def get_name():
|
||||||
def can_build():
|
def can_build():
|
||||||
|
|
||||||
if (os.name == "nt"):
|
if (os.name == "nt"):
|
||||||
# building natively on windows!
|
# Building natively on Windows
|
||||||
if (os.getenv("VCINSTALLDIR")):
|
if (os.getenv("VCINSTALLDIR")): # MSVC
|
||||||
return True
|
return True
|
||||||
else:
|
|
||||||
print("\nMSVC not detected, attempting MinGW.")
|
|
||||||
mingw32 = ""
|
|
||||||
mingw64 = ""
|
|
||||||
if (os.getenv("MINGW32_PREFIX")):
|
|
||||||
mingw32 = os.getenv("MINGW32_PREFIX")
|
|
||||||
if (os.getenv("MINGW64_PREFIX")):
|
|
||||||
mingw64 = os.getenv("MINGW64_PREFIX")
|
|
||||||
|
|
||||||
test = "gcc --version > NUL 2>&1"
|
print("MSVC not detected (no VCINSTALLDIR environment variable), attempting MinGW.")
|
||||||
if os.system(test) != 0 and os.system(mingw32 + test) != 0 and os.system(mingw64 + test) != 0:
|
mingw32 = ""
|
||||||
print("- could not detect gcc.")
|
mingw64 = ""
|
||||||
print("Please, make sure a path to a MinGW /bin directory is accessible into the environment PATH.\n")
|
if (os.getenv("MINGW32_PREFIX")):
|
||||||
return False
|
mingw32 = os.getenv("MINGW32_PREFIX")
|
||||||
else:
|
if (os.getenv("MINGW64_PREFIX")):
|
||||||
print("- gcc detected.")
|
mingw64 = os.getenv("MINGW64_PREFIX")
|
||||||
|
|
||||||
|
test = "gcc --version > NUL 2>&1"
|
||||||
|
if (os.system(test) == 0 or os.system(mingw32 + test) == 0 or os.system(mingw64 + test) == 0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if (os.name == "posix"):
|
if (os.name == "posix"):
|
||||||
|
# Cross-compiling with MinGW-w64 (old MinGW32 is not supported)
|
||||||
mingw = "i586-mingw32msvc-"
|
|
||||||
mingw64 = "x86_64-w64-mingw32-"
|
|
||||||
mingw32 = "i686-w64-mingw32-"
|
mingw32 = "i686-w64-mingw32-"
|
||||||
|
mingw64 = "x86_64-w64-mingw32-"
|
||||||
|
|
||||||
if (os.getenv("MINGW32_PREFIX")):
|
if (os.getenv("MINGW32_PREFIX")):
|
||||||
mingw32 = os.getenv("MINGW32_PREFIX")
|
mingw32 = os.getenv("MINGW32_PREFIX")
|
||||||
mingw = mingw32
|
|
||||||
if (os.getenv("MINGW64_PREFIX")):
|
if (os.getenv("MINGW64_PREFIX")):
|
||||||
mingw64 = os.getenv("MINGW64_PREFIX")
|
mingw64 = os.getenv("MINGW64_PREFIX")
|
||||||
|
|
||||||
test = "gcc --version > /dev/null 2>&1"
|
test = "gcc --version > /dev/null 2>&1"
|
||||||
if (os.system(mingw + test) == 0 or os.system(mingw64 + test) == 0 or os.system(mingw32 + test) == 0):
|
if (os.system(mingw64 + test) == 0 or os.system(mingw32 + test) == 0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
print("Could not detect MinGW. Ensure its binaries are in your PATH or that MINGW32_PREFIX or MINGW64_PREFIX are properly defined.")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def get_opts():
|
def get_opts():
|
||||||
|
|
||||||
mingw = ""
|
|
||||||
mingw32 = ""
|
mingw32 = ""
|
||||||
mingw64 = ""
|
mingw64 = ""
|
||||||
if (os.name == "posix"):
|
if (os.name == "posix"):
|
||||||
mingw = "i586-mingw32msvc-"
|
|
||||||
mingw32 = "i686-w64-mingw32-"
|
mingw32 = "i686-w64-mingw32-"
|
||||||
mingw64 = "x86_64-w64-mingw32-"
|
mingw64 = "x86_64-w64-mingw32-"
|
||||||
|
|
||||||
if os.system(mingw32 + "gcc --version > /dev/null 2>&1") != 0:
|
|
||||||
mingw32 = mingw
|
|
||||||
|
|
||||||
if (os.getenv("MINGW32_PREFIX")):
|
if (os.getenv("MINGW32_PREFIX")):
|
||||||
mingw32 = os.getenv("MINGW32_PREFIX")
|
mingw32 = os.getenv("MINGW32_PREFIX")
|
||||||
mingw = mingw32
|
|
||||||
if (os.getenv("MINGW64_PREFIX")):
|
if (os.getenv("MINGW64_PREFIX")):
|
||||||
mingw64 = os.getenv("MINGW64_PREFIX")
|
mingw64 = os.getenv("MINGW64_PREFIX")
|
||||||
|
|
||||||
return [
|
return [
|
||||||
('mingw_prefix', 'MinGW Prefix', mingw32),
|
('mingw_prefix_32', 'MinGW prefix (Win32)', mingw32),
|
||||||
('mingw_prefix_64', 'MinGW Prefix 64 bits', mingw64),
|
('mingw_prefix_64', 'MinGW prefix (Win64)', mingw64),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -88,12 +75,10 @@ def get_flags():
|
||||||
|
|
||||||
def build_res_file(target, source, env):
|
def build_res_file(target, source, env):
|
||||||
|
|
||||||
cmdbase = ""
|
|
||||||
if (env["bits"] == "32"):
|
if (env["bits"] == "32"):
|
||||||
cmdbase = env['mingw_prefix']
|
cmdbase = env['mingw_prefix_32']
|
||||||
else:
|
else:
|
||||||
cmdbase = env['mingw_prefix_64']
|
cmdbase = env['mingw_prefix_64']
|
||||||
CPPPATH = env['CPPPATH']
|
|
||||||
cmdbase = cmdbase + 'windres --include-dir . '
|
cmdbase = cmdbase + 'windres --include-dir . '
|
||||||
import subprocess
|
import subprocess
|
||||||
for x in range(len(source)):
|
for x in range(len(source)):
|
||||||
|
@ -249,7 +234,7 @@ def configure(env):
|
||||||
env.Append(LINKFLAGS=['-static'])
|
env.Append(LINKFLAGS=['-static'])
|
||||||
env.Append(LINKFLAGS=['-static-libgcc'])
|
env.Append(LINKFLAGS=['-static-libgcc'])
|
||||||
env.Append(LINKFLAGS=['-static-libstdc++'])
|
env.Append(LINKFLAGS=['-static-libstdc++'])
|
||||||
mingw_prefix = env["mingw_prefix"]
|
mingw_prefix = env["mingw_prefix_32"]
|
||||||
else:
|
else:
|
||||||
env.Append(LINKFLAGS=['-static'])
|
env.Append(LINKFLAGS=['-static'])
|
||||||
mingw_prefix = env["mingw_prefix_64"]
|
mingw_prefix = env["mingw_prefix_64"]
|
||||||
|
|
Loading…
Reference in a new issue