Skip to content
This repository was archived by the owner on Feb 1, 2023. It is now read-only.

Commit 47e83d8

Browse files
author
Matthias Koeppe
committed
Move computation of SAGE_OPTIONAL_{INSTALLED,CLEANED}_PACKAGES to sage_spkg_collect.m4
1 parent 340fbb7 commit 47e83d8

File tree

2 files changed

+28
-30
lines changed

2 files changed

+28
-30
lines changed

m4/sage_spkg_collect.m4

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ SAGE_BUILT_PACKAGES=''
105105
# underlying system.
106106
SAGE_DUMMY_PACKAGES=''
107107
108-
# List of currently installed and to-be-installed optional packages - filled in SAGE_SPKG_ENABLE
109-
#SAGE_OPTIONAL_INSTALLED_PACKAGES
110-
# List of optional packages to be uninstalled - filled in SAGE_SPKG_ENABLE
111-
#SAGE_OPTIONAL_CLEANED_PACKAGES
108+
# List of currently installed and to-be-installed standard/optional/experimental packages
109+
SAGE_OPTIONAL_INSTALLED_PACKAGES=''
110+
# List of optional packages to be uninstalled
111+
SAGE_OPTIONAL_CLEANED_PACKAGES=''
112112
113113
# List of all packages that should be downloaded
114114
SAGE_SDIST_PACKAGES=''
@@ -286,6 +286,22 @@ for DIR in $SAGE_ROOT/build/pkgs/*; do
286286
SAGE_SDIST_PACKAGES="${SAGE_SDIST_PACKAGES} \\$(printf '\n ')${SPKG_NAME}"
287287
fi
288288
289+
# Determine whether package is enabled
290+
AS_VAR_SET([is_installed], [no])
291+
for f in "$SAGE_SPKG_INST/${SPKG_NAME}"-*; do
292+
AS_IF([test -r "$f"],
293+
[AS_VAR_SET([is_installed], [yes])])
294+
done
295+
296+
AS_VAR_IF([SAGE_ENABLE_${SPKG_NAME}}], [if_installed],
297+
[AS_VAR_SET([SAGE_ENABLE_${SPKG_NAME}], $is_installed)])
298+
AS_VAR_COPY([want_spkg], [SAGE_ENABLE_${SPKG_NAME}])
299+
300+
spkg_line=" \\$(printf '\n ')$SPKG_NAME"
301+
AS_CASE([$is_installed-$want_spkg],
302+
[*-yes], [AS_VAR_APPEND(SAGE_OPTIONAL_INSTALLED_PACKAGES, "$spkg_line")],
303+
[yes-no], [AS_VAR_APPEND(SAGE_OPTIONAL_CLEANED_PACKAGES, "$spkg_line")])
304+
289305
# Determine package dependencies
290306
#
291307
DEP_FILE="$DIR/dependencies"

m4/sage_spkg_enable.m4

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
AC_DEFUN([SAGE_SPKG_ENABLE], [
2-
m4_pushdef([SPKG_NAME], [$1])
3-
m4_pushdef([SPKG_TYPE], [$2])
1+
AC_DEFUN([SAGE_SPKG_ENABLE], [dnl
2+
m4_pushdef([SPKG_NAME], [$1])dnl
3+
m4_pushdef([SPKG_TYPE], [$2])dnl
44
m4_if(SPKG_TYPE, [standard], [
55
dnl standard packages; help message is deliberately very brief,
66
dnl as this is for advanced users only
77
AC_ARG_ENABLE(SPKG_NAME,
88
AS_HELP_STRING([--disable-]SPKG_NAME,
99
[disable $2 package ]SPKG_NAME),
10-
AS_VAR_SET(want_spkg, [$enableval]),
11-
AS_VAR_SET(want_spkg, [yes])
10+
AS_VAR_SET([SAGE_ENABLE_]SPKG_NAME, [$enableval])
1211
)
1312
], [
1413
dnl optional/experimental packages
@@ -18,26 +17,9 @@ AC_DEFUN([SAGE_SPKG_ENABLE], [
1817
AS_HELP_STRING([], [package information: ./sage -info ]SPKG_NAME)
1918
AS_HELP_STRING([--disable-]SPKG_NAME,
2019
[disable build and uninstall if previously installed by Sage in PREFIX; same as --enable-]SPKG_NAME[=no]),
21-
AS_VAR_SET(want_spkg, [$enableval]),
22-
AS_VAR_SET(want_spkg, [if_installed])
20+
AS_VAR_SET([SAGE_ENABLE_]SPKG_NAME, [$enableval])
2321
)
24-
])
25-
26-
AS_VAR_SET([is_installed], [no])
27-
for f in "$SAGE_SPKG_INST/SPKG_NAME"-*; do
28-
AS_IF([test -r "$f"],
29-
[AS_VAR_SET([is_installed], [yes])])
30-
done
31-
32-
AS_IF([test "$want_spkg" = if_installed],
33-
[AS_VAR_SET([want_spkg], $is_installed)])
34-
35-
spkg_line=" \\$(printf '\n ')SPKG_NAME"
36-
AS_CASE([$is_installed-$want_spkg],
37-
[*-yes], [AS_VAR_APPEND(SAGE_OPTIONAL_INSTALLED_PACKAGES, "$spkg_line")],
38-
[yes-no], [AS_VAR_APPEND(SAGE_OPTIONAL_CLEANED_PACKAGES, "$spkg_line")])
39-
AS_VAR_SET([SAGE_ENABLE_]SPKG_NAME, [$want_spkg])
40-
AC_SUBST([SAGE_ENABLE_]SPKG_NAME)
41-
m4_popdef([SPKG_TYPE])
42-
m4_popdef([SPKG_NAME])
22+
])dnl
23+
m4_popdef([SPKG_TYPE])dnl
24+
m4_popdef([SPKG_NAME])dnl
4325
])

0 commit comments

Comments
 (0)