Changes from Donn to enhance the configuration script to allow specific
tools to be enabled or disabled for setup installation.
diff --git a/.gitignore b/.gitignore
index 04e839b..0cb02a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,8 @@
 scripts/*
 !scripts/configure
 !scripts/configure.ac
+!scripts/tools.txt
+!scripts/rl
 **/Makefile
 **/Makefile.am
 
diff --git a/VERSION b/VERSION
index 87903b6..00572ce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.93
+1.0.94
diff --git a/scripts/configure b/scripts/configure
index 235b881..5841a66 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -597,6 +597,11 @@
 PYTHON_PREFIX
 PYTHON_VERSION
 PYTHON
+QFLOW_DISABLED
+OPENLANE_DISABLED
+NETGEN_DISABLED
+MAGIC_DISABLED
+KLAYOUT_DISABLED
 SKY130_LINK_TARGETS
 SKY130_DIST_PATH
 SKY130_LOCAL_PATH
@@ -646,6 +651,11 @@
 with_sky130_local_path
 with_sky130_dist_path
 with_sky130_link_targets
+enable_klayout
+enable_magic
+enable_netgen
+enable_openlane
+enable_qflow
 with_ef_style
 '
       ac_precious_vars='build_alias
@@ -1257,6 +1267,21 @@
    esac
   cat <<\_ACEOF
 
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-klayout --disable-klayout
+                          Enable or disable klayout [default=enabled]
+  --enable-magic --disable-magic
+                          Enable or disable magic [default=enabled]
+  --enable-netgen --disable-netgen
+                          Enable or disable netgen [default=enabled]
+  --enable-openlane --disable-openlane
+                          Enable or disable openlane [default=enabled]
+  --enable-qflow --disable-qflow
+                          Enable or disable qflow [default=enabled]
+
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
@@ -1711,6 +1736,10 @@
 # detect PDKs based on directories that include Makefile.in files
 
 
+# define tools to install setup files for.  This does not imply that the tools are
+# available on the system;  just that open_pdks will install the setup files for them.
+
+
 # check for the source and install paths for each PDK.
 
 
@@ -1840,7 +1869,87 @@
 
 
 
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen openlane qflow" >&5
+$as_echo "$as_me: Tools enabled for PDK setup installation: klayout magic netgen openlane qflow" >&6;}
+
+
+
+
+
+        KLAYOUT_DISABLED=0
+        # Check whether --enable-klayout was given.
+if test "${enable_klayout+set}" = set; then :
+  enableval=$enable_klayout;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    KLAYOUT_DISABLED=1
+                fi
+
+fi
+
+
+
+
+
+        MAGIC_DISABLED=0
+        # Check whether --enable-magic was given.
+if test "${enable_magic+set}" = set; then :
+  enableval=$enable_magic;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    MAGIC_DISABLED=1
+                fi
+
+fi
+
+
+
+
+
+        NETGEN_DISABLED=0
+        # Check whether --enable-netgen was given.
+if test "${enable_netgen+set}" = set; then :
+  enableval=$enable_netgen;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    NETGEN_DISABLED=1
+                fi
+
+fi
+
+
+
+
+
+        OPENLANE_DISABLED=0
+        # Check whether --enable-openlane was given.
+if test "${enable_openlane+set}" = set; then :
+  enableval=$enable_openlane;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    OPENLANE_DISABLED=1
+                fi
+
+fi
+
+
+
+
+
+        QFLOW_DISABLED=0
+        # Check whether --enable-qflow was given.
+if test "${enable_qflow+set}" = set; then :
+  enableval=$enable_qflow;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    QFLOW_DISABLED=1
+                fi
+
+fi
+
+
+
+
+
 # Checking if (some) prerequisites are satisfied
+## REQUIRES: https://www.gnu.org/software/autoconf-archive/ax_python_module.html#ax_python_module
 
 
 
diff --git a/scripts/configure.ac b/scripts/configure.ac
index aacc866..b615f48 100755
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -3,6 +3,10 @@
 # detect PDKs based on directories that include Makefile.in files
 m4_define([M4_GET_TECHS], [m4_normalize(m4_esyscmd(cd .. && find * -mindepth 1 -name "Makefile.in" -exec dirname {} \; | tr "\n" " "))])
 
+# define tools to install setup files for.  This does not imply that the tools are
+# available on the system;  just that open_pdks will install the setup files for them.
+m4_define([M4_GET_TOOLS], [m4_normalize(m4_esyscmd(cat ./tools.txt | tr "\n" " "))])
+
 # check for the source and install paths for each PDK.
 AC_DEFUN([M4_GEN_WITH_PDK_ARGS],
 [
@@ -93,7 +97,32 @@
 
 M4_GEN_WITH_PDK_ARGS(M4_GET_TECHS())
 
+AC_DEFUN([M4_GEN_WITH_TOOLS], [
+    m4_foreach_w(tool, $1, [
+        m4_define([toolvar], [m4_normalize(m4_esyscmd(echo tool | tr "a-z" "A-Z"))])
+
+        toolvar[]_DISABLED=0
+        AC_ARG_ENABLE(tool,
+            AS_HELP_STRING(
+                --enable-tool --disable-tool,
+                Enable or disable tool @<:@default=enabled@:>@
+            ),
+            [
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    toolvar[]_DISABLED=1
+                fi
+            ],
+        )
+        AC_SUBST(toolvar[]_DISABLED)
+    ])
+])
+
+AC_MSG_NOTICE([Tools enabled for PDK setup installation: M4_GET_TOOLS()])
+
+M4_GEN_WITH_TOOLS(M4_GET_TOOLS())
+
 # Checking if (some) prerequisites are satisfied
+## REQUIRES: https://www.gnu.org/software/autoconf-archive/ax_python_module.html#ax_python_module
 AM_PATH_PYTHON([3.4])
 AX_PYTHON_MODULE([distutils],[])
 
diff --git a/scripts/tools.txt b/scripts/tools.txt
new file mode 100644
index 0000000..c679f92
--- /dev/null
+++ b/scripts/tools.txt
@@ -0,0 +1,5 @@
+klayout
+magic
+netgen
+openlane
+qflow
\ No newline at end of file
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index a33c113..9092a37 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -46,10 +46,6 @@
 #		cloned from https://github.com/google/skywater-pdk.  This
 #		option is mandatory and has no default.
 #
-#
-# NOTE:  The comments below are for features that have not yet been
-# implemented.
-#
 # Enable/disable for specific libraries to be installed (and downloaded if
 # needed).  Libraries that are part of the open_pdks repository are enabled
 # by default and must be disabled by passing an option to configure.  Libraries
@@ -73,6 +69,10 @@
 #	--disable-klayout
 #		Do not install setup files for the klayout layout tool.
 #
+#
+# NOTE:  The comments below are for features that have not yet been
+# implemented.
+#
 # External libraries and tool setups that can be enabled are the following:
 #
 #	--enable-skywater-pdk[=<path>]
@@ -132,7 +132,7 @@
 MV = mv
 
 REVISION    = `git describe --long`
-TECH        = sky130
+TECH	= sky130
 
 # If EF_STYLE is set to 1, then efabless naming conventions are
 # used, otherwise the generic naming conventions are used.
@@ -263,7 +263,38 @@
 ADDPROP = ../common/insert_property.py ${EF_FORMAT}
 
 # List the EDA tools to install local setup files for
-TOOLS = magic qflow netgen klayout openlane
+TOOLS = 
+
+# KLAYOUT_DISABLED = 0 | 1
+KLAYOUT_DISABLED = @KLAYOUT_DISABLED@
+ifneq (${KLAYOUT_DISABLED}, 1)
+        TOOLS += klayout
+endif
+
+# OPENLANE_DISABLED = 0 | 1
+OPENLANE_DISABLED = @OPENLANE_DISABLED@
+ifneq (${OPENLANE_DISABLED}, 1)
+        TOOLS += openlane
+endif
+
+# QFLOW_DISABLED = 0 | 1
+QFLOW_DISABLED = @QFLOW_DISABLED@
+ifneq (${QFLOW_DISABLED}, 1)
+        TOOLS += qflow
+endif
+
+# MAGIC_DISABLED = 0 | 1
+MAGIC_DISABLED = @MAGIC_DISABLED@
+ifneq (${MAGIC_DISABLED}, 1)
+        TOOLS += magic
+endif
+
+# NETGEN_DISABLED = 0 | 1
+NETGEN_DISABLED = @NETGEN_DISABLED@
+ifneq (${NETGEN_DISABLED}, 1)
+        TOOLS += netgen
+endif
+
 
 all: all-a