Skip to content

Commit 7901986

Browse files
committed
[SCons] Fix msvc, linux-clang, add version check.
1 parent 794dea0 commit 7901986

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
7676
- name: Install scons
7777
run: |
78-
python -m pip install scons
78+
python -m pip install scons==4.0.0
7979
8080
- name: Setup MinGW for Windows/MinGW build
8181
if: ${{ matrix.platform == 'windows' && matrix.flags == 'use_mingw=yes' }}

SConstruct

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import sys
66
import subprocess
77
from binding_generator import scons_generate_bindings, scons_emit_files
88

9+
EnsureSConsVersion(4, 0)
10+
911

1012
def add_sources(sources, dir, extension):
1113
for f in os.listdir(dir):

tools/linux.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from SCons.Variables import *
2+
from SCons.Tool import clang, clangxx
23

34

45
def options(opts):
@@ -11,8 +12,8 @@ def exists(env):
1112

1213
def generate(env):
1314
if env["use_llvm"]:
14-
base = env.Tool("clang")
15-
base.generate(env)
15+
clang.generate(env)
16+
clangxx.generate(env)
1617

1718
env.Append(CCFLAGS=["-fPIC", "-Wwrite-strings"])
1819
env.Append(LINKFLAGS=["-Wl,-R,'$$ORIGIN'"])

tools/windows.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import sys
22

33
import my_spawn
4-
from SCons.Tool.MSCommon import msvc_exists
4+
5+
from SCons.Tool import msvc, mingw
56
from SCons.Variables import *
67

78

@@ -15,14 +16,13 @@ def exists(env):
1516

1617
def generate(env):
1718
base = None
18-
if not env["use_mingw"] and msvc_exists(env):
19-
base = env.Tool("msvc")
20-
env["is_msvc"] = True
19+
if not env["use_mingw"] and msvc.exists(env):
2120
if env["arch"] == "x86_64":
2221
env["TARGET_ARCH"] = "amd64"
2322
elif env["arch"] == "x86_32":
2423
env["TARGET_ARCH"] = "x86"
25-
base.generate(env)
24+
env["is_msvc"] = True
25+
msvc.generate(env)
2626
env.Append(CPPDEFINES=["TYPED_METHOD_BIND"])
2727
env.Append(LINKFLAGS=["/WX"])
2828
if env["target"] == "debug":
@@ -32,8 +32,7 @@ def generate(env):
3232

3333
elif sys.platform == "win32" or sys.platform == "msys":
3434
env["use_mingw"] = True
35-
base = env.Tool("mingw")
36-
base.generate(env)
35+
mingw.generate(env)
3736
# Still need to use C++17.
3837
env.Append(CCFLAGS=["-std=c++17"])
3938
# Don't want lib prefixes

0 commit comments

Comments
 (0)