scons: Print a deprecation warning about using scons on not windows
authorDylan Baker <dylan@pnwbakers.com>
Mon, 21 Oct 2019 16:29:23 +0000 (09:29 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 24 Oct 2019 18:33:50 +0000 (18:33 +0000)
At this point meson should be able to handle all of the non-windows
platforms just fine; we'd like to be able to stop maintaining scons for
those platforms sooner than later.

Reviewed-by: Eric Anholt <eric@anholt.net>
.gitlab-ci.yml
.gitlab-ci/scons-build.sh
SConstruct
common.py

index f8c16dc0f510eef205e2c64817cac58942546274..a08a33f60f781bd0887e5393c87b855c3e184f20 100644 (file)
@@ -377,9 +377,9 @@ scons:
   extends: .scons-build
   variables:
     SCONS_TARGET: "llvm=1"
-    SCONS_CHECK_COMMAND: "scons llvm=1 check"
+    SCONS_CHECK_COMMAND: "scons llvm=1 force_scons=1 check"
   script:
-    - SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check" .gitlab-ci/scons-build.sh
+    - SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
     - LLVM_VERSION=6.0 .gitlab-ci/scons-build.sh
     - LLVM_VERSION=7 .gitlab-ci/scons-build.sh
     - LLVM_VERSION=8 .gitlab-ci/scons-build.sh
index 30e93c2bb389adc5d59e4d0635c44db881884563..ac62b2cbeba53abb44c955257f968a8d321d459e 100755 (executable)
@@ -8,5 +8,5 @@ if test -n "$LLVM_VERSION"; then
 fi
 
 rm -rf build
-scons $SCONS_TARGET
-eval $SCONS_CHECK_COMMAND
+scons $SCONS_TARGET force_scons=on
+eval $SCONS_CHECK_COMMAND 
index 207794c3eb3b908497a8eec994b2a8e2708219ab..aeb1309d464f692de46d12b6eea5405eb7331d3f 100644 (file)
@@ -67,6 +67,20 @@ else:
 
 Help(opts.GenerateHelpText(env))
 
+
+#######################################################################
+# Print a deprecation warning for using scons on non-windows
+
+if common.host_platform != 'windows':
+    force = ARGUMENTS['force_scons']
+    if force.lower() not in {'false', 'off', 'none', '0', 'n'}:
+        print("WARNING: Scons is deprecated for non-windows platforms (including cygwin) "
+              "please use meson instead.", file=sys.stderr)
+    else:
+        print("ERROR: Scons is deprecated for non-windows platforms (including cygwin) "
+              "please use meson instead. If you really need to use scons you "
+              "can add `force_scons=1` to the scons command line.", file=sys.stderr)
+        sys.exit(1)
 #######################################################################
 # Environment setup
 
index 51dba9c3ca076364f612985b707b648d84f171a9..b7762cb4e94be2728039a65697f7a12bd49f8b8a 100644 (file)
--- a/common.py
+++ b/common.py
@@ -112,6 +112,7 @@ def AddOptions(opts):
     opts.Add(BoolOption('asan', 'enable Address Sanitizer', 'no'))
     opts.Add('toolchain', 'compiler toolchain', default_toolchain)
     opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
+    opts.Add(BoolOption('force_scons', 'Force enable scons on deprecated platforms', 'false'))
     opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)',
                         'no'))
     opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))