]> gitweb.michael.orlitzky.com - bash.d.git/commitdiff
sage.sh: support NINJA=samu
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 13 Nov 2023 19:57:14 +0000 (14:57 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 13 Nov 2023 19:57:14 +0000 (14:57 -0500)
The ninja build system supports overriding "ninja" with $NINJA, just
like how $MAKE overrides "make". In Gentoo we go one step further and
allow dev-util/samurai to replace dev-util/ninja when NINJA=samu.

Here we tweak sage-configure to override sage's ninja check when NINJA
is set in the environment.

sage.sh

diff --git a/sage.sh b/sage.sh
index 9eaee84a7d94a5f550a7ef7b6d10802488702b39..e205b4e70b4b744c944ae979880bc4d973f16aa9 100644 (file)
--- a/sage.sh
+++ b/sage.sh
@@ -8,6 +8,13 @@ export SAGE_INSTALL_GCC=no
 # This is trinary, ha ha!
 export SAGE_DEBUG=no
 
+# Print the path to either ninja (default) or samurai (if set via
+# $NINJA).
+_sage_find_ninja(){
+  [ -z "${NINJA}" ] && NINJA=ninja
+  command -v "${NINJA}"
+}
+
 # Run ./configure within the SageMath git repository. This tweaks all
 # of the flags that I don't want to tweak manually:
 #
@@ -21,7 +28,10 @@ export SAGE_DEBUG=no
 #   * --with-system-foo=force: ensure that the system packages I have
 #                              installed are actually used.
 #
+# We also override the autoconf variable used to detect ninja, because
+# it does a version check that isn't compatible with samurai.
 sage-configure() {
+  ac_cv_path_NINJA=$(_sage_find_ninja) \
   ./configure \
     --enable-download-from-upstream-url \
     --enable-system-site-packages \