Corrected the automatic installation of third-party tool setups and
libraries (for now, specifically the xschem setup and the alphanumeric
layout library), and cleaned up the instructions to make it clear how
to do the installation in the most common case.
diff --git a/scripts/configure b/scripts/configure
index a199e50..9af84fd 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -587,11 +587,11 @@
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 EF_STYLE
-XSCHEM_PATH
+XSCHEM_SKY130_PATH
 SKY130_ML_XX_HD_PATH
-OSU_PATH
 PATCH
 MAGIC
+XSCHEM_DISABLED
 QFLOW_DISABLED
 OPENLANE_DISABLED
 IRSIM_DISABLED
@@ -630,6 +630,7 @@
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -662,9 +663,9 @@
 enable_irsim
 enable_openlane
 enable_qflow
-enable_osu_lib
-enable_alpha_lib
 enable_xschem
+enable_alpha_sky130
+enable_xschem_sky130
 with_ef_style
 '
       ac_precious_vars='build_alias
@@ -709,6 +710,7 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -961,6 +963,15 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1098,7 +1109,7 @@
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1251,6 +1262,7 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1285,48 +1297,39 @@
                           with a pdk_url file can automatically download them
                           if the path is omitted)"
   --enable-klayout
-                Enable or disable klayout [default=enabled]
+                Enable or disable klayout setup [default=enabled]
 
 
   --enable-magic
-                Enable or disable magic [default=enabled]
+                Enable or disable magic setup [default=enabled]
 
 
   --enable-netgen
-                Enable or disable netgen [default=enabled]
+                Enable or disable netgen setup [default=enabled]
 
 
   --enable-irsim
-                Enable or disable irsim [default=enabled]
+                Enable or disable irsim setup [default=enabled]
 
 
   --enable-openlane
-                Enable or disable openlane [default=enabled]
+                Enable or disable openlane setup [default=enabled]
 
 
   --enable-qflow
-                Enable or disable qflow [default=enabled]
+                Enable or disable qflow setup [default=enabled]
 
 
-  --enable-osu-lib[=path] Install osu. If path is omitted, it'll be
-                          downloaded. [default=disabled]
-  --enable-alpha-lib[=path]
+  --enable-xschem
+                Enable or disable xschem setup [default=enabled]
+
+
+  --enable-alpha-sky130[=path]
                           Install sky130_ml_xx_hd. If path is omitted, it'll be
                           downloaded. [default=disabled]
-  --enable-xschem[=path]  Install xschem. If path is omitted, it'll be
+  --enable-xschem-sky130[=path]
+                          Install xschem_sky130. If path is omitted, it'll be
                           downloaded. [default=disabled]
-  --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-irsim --disable-irsim
-                          Enable or disable irsim [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]
@@ -1819,7 +1822,7 @@
   $as_echo_n "(cached) " >&6
 else
 
-	for am_cv_pathless_PYTHON in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7  python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
+	for am_cv_pathless_PYTHON in python python2 python3  python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3  python3.2 python3.1 python3.0  python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1  python2.0 none; do
 	  test "$am_cv_pathless_PYTHON" = none && break
 	  prog="import sys
 # split strings by '.' and convert to numeric.  Append some zeros
@@ -2042,28 +2045,33 @@
 
     if test -z $PYTHON;
     then
-        PYTHON="python"
+        if test -z "";
+        then
+            PYTHON="python3"
+        else
+            PYTHON=""
+        fi
     fi
     PYTHON_NAME=`basename $PYTHON`
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: distutils" >&5
 $as_echo_n "checking $PYTHON_NAME module: distutils... " >&6; }
-	$PYTHON -c "import distutils" 2>/dev/null
-	if test $? -eq 0;
-	then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+    $PYTHON -c "import distutils" 2>/dev/null
+    if test $? -eq 0;
+    then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-		eval HAVE_PYMOD_DISTUTILS=yes
-	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+        eval HAVE_PYMOD_DISTUTILS=yes
+    else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-		eval HAVE_PYMOD_DISTUTILS=no
-		#
-		if test -n ""
-		then
-			as_fn_error $? "failed to find required module distutils" "$LINENO" 5
-			exit 1
-		fi
-	fi
+        eval HAVE_PYMOD_DISTUTILS=no
+        #
+        if test -n ""
+        then
+            as_fn_error $? "failed to find required module distutils" "$LINENO" 5
+            exit 1
+        fi
+    fi
 
 
 realpath() {
@@ -2077,11 +2085,8 @@
 # define tools
 # 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.
-## DO NOT INCLUDE XSCHEM IN THE TOOL LIST. XSCHEM CAN BE INSTALLED IN THE CONFIG SCRIPT
 
 
-mkdir -p ../pdks
-
 # check for the source and install paths for each PDK.
 
 
@@ -2092,6 +2097,7 @@
 
     # --enable-pdk-[pdk]=/path/to/pdk
 
+        echo "Checking technology sky130..."
 
 
         SKY130_SOURCE_PATH=""
@@ -2100,53 +2106,53 @@
         SKY130_LINK_TARGETS="none"
 
         pdk_get() {
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sky130/pdk_info" >&5
-$as_echo_n "checking for ../sky130/pdk_info... " >&6; }
-if ${ac_cv_file____sky130_pdk_info+:} false; then :
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sky130/pdk_info.txt" >&5
+$as_echo_n "checking for ../sky130/pdk_info.txt... " >&6; }
+if ${ac_cv_file____sky130_pdk_info_txt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   test "$cross_compiling" = yes &&
   as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../sky130/pdk_info"; then
-  ac_cv_file____sky130_pdk_info=yes
+if test -r "../sky130/pdk_info.txt"; then
+  ac_cv_file____sky130_pdk_info_txt=yes
 else
-  ac_cv_file____sky130_pdk_info=no
+  ac_cv_file____sky130_pdk_info_txt=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sky130_pdk_info" >&5
-$as_echo "$ac_cv_file____sky130_pdk_info" >&6; }
-if test "x$ac_cv_file____sky130_pdk_info" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sky130_pdk_info_txt" >&5
+$as_echo "$ac_cv_file____sky130_pdk_info_txt" >&6; }
+if test "x$ac_cv_file____sky130_pdk_info_txt" = xyes; then :
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../pdks/sky130" >&5
-$as_echo_n "checking for ../pdks/sky130... " >&6; }
-if ${ac_cv_file____pdks_sky130+:} false; then :
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sources/sky130" >&5
+$as_echo_n "checking for ../sources/sky130... " >&6; }
+if ${ac_cv_file____sources_sky130+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   test "$cross_compiling" = yes &&
   as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../pdks/sky130"; then
-  ac_cv_file____pdks_sky130=yes
+if test -r "../sources/sky130"; then
+  ac_cv_file____sources_sky130=yes
 else
-  ac_cv_file____pdks_sky130=no
+  ac_cv_file____sources_sky130=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____pdks_sky130" >&5
-$as_echo "$ac_cv_file____pdks_sky130" >&6; }
-if test "x$ac_cv_file____pdks_sky130" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sources_sky130" >&5
+$as_echo "$ac_cv_file____sources_sky130" >&6; }
+if test "x$ac_cv_file____sources_sky130" = xyes; then :
 
                     echo "Using pre-existing sky130 download..."
 
 else
 
-                    REPO=$(cat "../sky130/pdk_info" | sed -n "1p")
-                    POST_CLONE_COMMANDS=$(cat "../sky130/pdk_info" | sed "1d")
-                    mkdir -p ../pdks
-                    git clone "$REPO" ../pdks/sky130;
-                    (cd ../pdks/sky130 && sh -c "$POST_CLONE_COMMANDS")
+                    REPO=$(cat "../sky130/pdk_info.txt" | sed -n "1p")
+                    POST_CLONE_COMMANDS=$(cat "../sky130/pdk_info.txt" | sed "1d")
+                    mkdir -p ../sources
+                    git clone "$REPO" ../sources/sky130;
+                    (cd ../sources/sky130 && sh -c "$POST_CLONE_COMMANDS")
 
 fi
 
-                export SKY130_SOURCE_PATH=../pdks/sky130
+                export SKY130_SOURCE_PATH=../sources/sky130
 
 else
 
@@ -2165,9 +2171,9 @@
                     FOUND=1
                 fi
             done
-            if [ "$FOUND" = "sky130" ]; then
-                echo "Could not found sky130 in standard search paths, manually downloading to ../pdks/sky130 ..."
-                pdk_find
+            if [ "$FOUND" = "0" ]; then
+                echo "Could not find sky130 in standard search paths, automatically fetching repository to ../sources/sky130 ..."
+                pdk_get
             fi
         }
 
@@ -2175,18 +2181,14 @@
 if test "${enable_sky130_pdk+set}" = set; then :
   enableval=$enable_sky130_pdk;
                 if test "$enableval" == "yes" -o "$enableval" == "YES"; then
-                   pdk_find
+		    echo "Looking for sky130 in usual places"
+                    pdk_find
                 elif test "$enableval" == "no" -o "$enableval" == "NO"; then
                     echo "Disabling sky130..."
                 else
                     SKY130_SOURCE_PATH=$enableval
                 fi
 
-else
-
-                pdk_find
-
-
 fi
 
 	    # # Require this argument
@@ -2292,8 +2294,8 @@
 # Set variables for tool setups
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Found tools: klayout magic netgen irsim openlane qflow" >&5
-$as_echo "$as_me: Found tools: klayout magic netgen irsim openlane qflow" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Found tools: klayout magic netgen irsim openlane qflow xschem" >&5
+$as_echo "$as_me: Found tools: klayout magic netgen irsim openlane qflow xschem" >&6;}
 
 
 
@@ -2389,6 +2391,21 @@
 
 
 
+        XSCHEM_DISABLED=0
+        # Check whether --enable-xschem was given.
+if test "${enable_xschem+set}" = set; then :
+  enableval=$enable_xschem;
+                if test "$enableval" == "no" -o "$enableval" == "NO"; then
+                    XSCHEM_DISABLED=1
+                fi
+
+
+fi
+
+
+
+
+
 # Magic
 # Extract the first word of "magic", so it can be a program name with args.
 set dummy magic; ac_word=$2
@@ -2478,71 +2495,6 @@
 fi
 
 # Other installations (libraries or tools if applicable)
-mkdir -p ../libs
-mkdir -p ../tools
-
-
-
-
-
-
-
-
-
-    # echo target targetvar flag url location
-
-    OSU_PATH=""
-    OSU_GET() {
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../libs/osu" >&5
-$as_echo_n "checking for ../libs/osu... " >&6; }
-if ${ac_cv_file____libs_osu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  test "$cross_compiling" = yes &&
-  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../libs/osu"; then
-  ac_cv_file____libs_osu=yes
-else
-  ac_cv_file____libs_osu=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____libs_osu" >&5
-$as_echo "$ac_cv_file____libs_osu" >&6; }
-if test "x$ac_cv_file____libs_osu" = xyes; then :
-
-                echo "Using pre-existing osu download..."
-
-else
-
-                mkdir -p ../libs/osu
-                sh ./download.sh 'https://vlsiarch.ecen.okstate.edu/flows/MOSIS_SCMOS/osu_stdcells_v2.4/osu_stdcells_lib.v2.4.tar.gz' ../libs/osu.tar.gz
-                (echo "Extracting osu..." && cd ../libs && tar -xf osu.tar.gz --strip-components 1 -C ../libs/osu)
-
-
-fi
-
-        export OSU_PATH=../libs/osu
-    }
-
-    # Check whether --enable-osu-lib was given.
-if test "${enable_osu_lib+set}" = set; then :
-  enableval=$enable_osu_lib;
-            if test "$enableval" == "yes" -o "$enableval" == "YES"; then
-                OSU_GET
-                XSCHEM_INST=1
-            elif test "$enableval" == "no" -o "$enableval" == "NO"; then
-                echo "Disabling osu..."
-                XSCHEM_DISABLED=1
-            else
-                OSU_PATH=$enableval
-            fi
-            OSU_PATH=`realpath $OSU_PATH`
-
-fi
-
-
-
-
 
 
 
@@ -2556,40 +2508,40 @@
 
     SKY130_ML_XX_HD_PATH=""
     SKY130_ML_XX_HD_GET() {
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../libs/sky130_ml_xx_hd" >&5
-$as_echo_n "checking for ../libs/sky130_ml_xx_hd... " >&6; }
-if ${ac_cv_file____libs_sky130_ml_xx_hd+:} false; then :
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sources/sky130_ml_xx_hd" >&5
+$as_echo_n "checking for ../sources/sky130_ml_xx_hd... " >&6; }
+if ${ac_cv_file____sources_sky130_ml_xx_hd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   test "$cross_compiling" = yes &&
   as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../libs/sky130_ml_xx_hd"; then
-  ac_cv_file____libs_sky130_ml_xx_hd=yes
+if test -r "../sources/sky130_ml_xx_hd"; then
+  ac_cv_file____sources_sky130_ml_xx_hd=yes
 else
-  ac_cv_file____libs_sky130_ml_xx_hd=no
+  ac_cv_file____sources_sky130_ml_xx_hd=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____libs_sky130_ml_xx_hd" >&5
-$as_echo "$ac_cv_file____libs_sky130_ml_xx_hd" >&6; }
-if test "x$ac_cv_file____libs_sky130_ml_xx_hd" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sources_sky130_ml_xx_hd" >&5
+$as_echo "$ac_cv_file____sources_sky130_ml_xx_hd" >&6; }
+if test "x$ac_cv_file____sources_sky130_ml_xx_hd" = xyes; then :
 
                 echo "Using pre-existing sky130_ml_xx_hd download..."
 
 else
 
-                mkdir -p ../libs/sky130_ml_xx_hd
-                sh ./download.sh 'https://github.com/PaulSchulz/sky130_pschulz_xx_hd/archive/master.tar.gz' ../libs/sky130_ml_xx_hd.tar.gz
-                (echo "Extracting sky130_ml_xx_hd..." && cd ../libs && tar -xf sky130_ml_xx_hd.tar.gz --strip-components 1 -C ../libs/sky130_ml_xx_hd)
+                mkdir -p ../sources/sky130_ml_xx_hd
+                sh ./download.sh 'https://github.com/PaulSchulz/sky130_pschulz_xx_hd/archive/master.tar.gz' ../sources/sky130_ml_xx_hd.tar.gz
+                (echo "Extracting sky130_ml_xx_hd..." && cd ../sources && tar -xf sky130_ml_xx_hd.tar.gz --strip-components 1 -C ../sources/sky130_ml_xx_hd && rm sky130_ml_xx_hd.tar.gz )
 
 
 fi
 
-        export SKY130_ML_XX_HD_PATH=../libs/sky130_ml_xx_hd
+        export SKY130_ML_XX_HD_PATH=../sources/sky130_ml_xx_hd
     }
 
-    # Check whether --enable-alpha-lib was given.
-if test "${enable_alpha_lib+set}" = set; then :
-  enableval=$enable_alpha_lib;
+    # Check whether --enable-alpha-sky130 was given.
+if test "${enable_alpha_sky130+set}" = set; then :
+  enableval=$enable_alpha_sky130;
             if test "$enableval" == "yes" -o "$enableval" == "YES"; then
                 SKY130_ML_XX_HD_GET
                 XSCHEM_INST=1
@@ -2609,8 +2561,6 @@
 
 
 
-XSCHEM_DISABLED=0
-XSCHEM_INST=0
 
 
 
@@ -2620,112 +2570,52 @@
 
     # echo target targetvar flag url location
 
-    XSCHEM_PATH=""
-    XSCHEM_GET() {
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../tools/xschem" >&5
-$as_echo_n "checking for ../tools/xschem... " >&6; }
-if ${ac_cv_file____tools_xschem+:} false; then :
+    XSCHEM_SKY130_PATH=""
+    XSCHEM_SKY130_GET() {
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sources/xschem_sky130" >&5
+$as_echo_n "checking for ../sources/xschem_sky130... " >&6; }
+if ${ac_cv_file____sources_xschem_sky130+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   test "$cross_compiling" = yes &&
   as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../tools/xschem"; then
-  ac_cv_file____tools_xschem=yes
+if test -r "../sources/xschem_sky130"; then
+  ac_cv_file____sources_xschem_sky130=yes
 else
-  ac_cv_file____tools_xschem=no
+  ac_cv_file____sources_xschem_sky130=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____tools_xschem" >&5
-$as_echo "$ac_cv_file____tools_xschem" >&6; }
-if test "x$ac_cv_file____tools_xschem" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sources_xschem_sky130" >&5
+$as_echo "$ac_cv_file____sources_xschem_sky130" >&6; }
+if test "x$ac_cv_file____sources_xschem_sky130" = xyes; then :
 
-                echo "Using pre-existing xschem download..."
+                echo "Using pre-existing xschem_sky130 download..."
 
 else
 
-                mkdir -p ../tools/xschem
-                sh ./download.sh 'https://github.com/StefanSchippers/xschem/archive/master.tar.gz' ../tools/xschem.tar.gz
-                (echo "Extracting xschem..." && cd ../tools && tar -xf xschem.tar.gz --strip-components 1 -C ../tools/xschem)
+                mkdir -p ../sources/xschem_sky130
+                sh ./download.sh 'https://github.com/StefanSchippers/xschem_sky130/archive/main.tar.gz' ../sources/xschem_sky130.tar.gz
+                (echo "Extracting xschem_sky130..." && cd ../sources && tar -xf xschem_sky130.tar.gz --strip-components 1 -C ../sources/xschem_sky130 && rm xschem_sky130.tar.gz )
 
 
 fi
 
-        export XSCHEM_PATH=../tools/xschem
+        export XSCHEM_SKY130_PATH=../sources/xschem_sky130
     }
 
-    # Check whether --enable-xschem was given.
-if test "${enable_xschem+set}" = set; then :
-  enableval=$enable_xschem;
+    # Check whether --enable-xschem-sky130 was given.
+if test "${enable_xschem_sky130+set}" = set; then :
+  enableval=$enable_xschem_sky130;
             if test "$enableval" == "yes" -o "$enableval" == "YES"; then
-                XSCHEM_GET
+                XSCHEM_SKY130_GET
                 XSCHEM_INST=1
             elif test "$enableval" == "no" -o "$enableval" == "NO"; then
-                echo "Disabling xschem..."
+                echo "Disabling xschem_sky130..."
                 XSCHEM_DISABLED=1
             else
-                XSCHEM_PATH=$enableval
+                XSCHEM_SKY130_PATH=$enableval
             fi
-            XSCHEM_PATH=`realpath $XSCHEM_PATH`
-
-fi
-
-
-
-    if [ "$XSCHEM_INST" = 1 ]; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../tools/xschem-install" >&5
-$as_echo_n "checking for ../tools/xschem-install... " >&6; }
-if ${ac_cv_file____tools_xschem_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  test "$cross_compiling" = yes &&
-  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-if test -r "../tools/xschem-install"; then
-  ac_cv_file____tools_xschem_install=yes
-else
-  ac_cv_file____tools_xschem_install=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____tools_xschem_install" >&5
-$as_echo "$ac_cv_file____tools_xschem_install" >&6; }
-if test "x$ac_cv_file____tools_xschem_install" = xyes; then :
-
-            echo "Using pre-existing xschem installation..."
-
-else
-
-            echo "---"
-            echo "Note: attempting to build xschem. Xschem requires all of Magic's dependencies and further, flex, bison and libxpm."
-            echo "Your build WILL fail if any of these are missing. You can choose to remove --enable-xschem or add a known installation path."
-            sleep 2
-            mkdir -p ../tools/xschem-install
-            XSCHEM_ABSOLUTE=`realpath ../tools/xschem-install`
-            (cd ../tools/xschem && ./configure --prefix=$XSCHEM_ABSOLUTE && make && make install)
-            XSCHEM_PATH=$XSCHEM_ABSOLUTE
-
-fi
-
-    fi
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow" >&5
-$as_echo "$as_me: Tools enabled for PDK setup installation: klayout magic netgen irsim 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
+            XSCHEM_SKY130_PATH=`realpath $XSCHEM_SKY130_PATH`
 
 fi
 
@@ -2733,75 +2623,12 @@
 
 
 
-        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
-
-
-
-
-
-        IRSIM_DISABLED=0
-        # Check whether --enable-irsim was given.
-if test "${enable_irsim+set}" = set; then :
-  enableval=$enable_irsim;
-                if test "$enableval" == "no" -o "$enableval" == "NO"; then
-                    IRSIM_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
-
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem" >&5
+$as_echo "$as_me: Tools enabled for PDK setup installation: klayout magic netgen irsim openlane qflow xschem" >&6;}
 
 # Check for "--with-ef-style"
 EF_STYLE=0
diff --git a/scripts/configure.ac b/scripts/configure.ac
index d153c38..05ef504 100755
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -15,17 +15,15 @@
 # define tools
 # 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.
-## DO NOT INCLUDE XSCHEM IN THE TOOL LIST. XSCHEM CAN BE INSTALLED IN THE CONFIG SCRIPT
 m4_define([M4_GET_TOOLS], [m4_normalize(m4_esyscmd(cat ./tools.txt | tr "\n" " "))])
 
-mkdir -p ../pdks
-
 # check for the source and install paths for each PDK.
 AC_DEFUN([M4_GEN_WITH_PDK_ARGS], [
 
     # --enable-pdk-[pdk]=/path/to/pdk
     m4_foreach_w(pdk, $1, [
-        m4_define([pdkvar], [m4_normalize(m4_esyscmd(echo pdk | tr "a-z" "A-Z"))])
+        echo "Checking technology pdk..."
+        m4_define([pdkvar], [m4_normalize(m4_esyscmd(echo pdk | tr "a-z-" "A-Z_"))])
 
         pdkvar[]_SOURCE_PATH=""
         pdkvar[]_LOCAL_PATH=""
@@ -33,17 +31,17 @@
         pdkvar[]_LINK_TARGETS="none"
 
         pdk_get() {
-            AC_CHECK_FILE(../pdk/[pdk]_info, [
-                AC_CHECK_FILE(../pdks/pdk,[
+            AC_CHECK_FILE(../pdk/[pdk]_info.txt, [
+                AC_CHECK_FILE(../sources/pdk,[
                     echo "Using pre-existing pdk download..."
                 ], [
-                    REPO=$(cat "../pdk/pdk_info" | sed -n "1p")
-                    POST_CLONE_COMMANDS=$(cat "../pdk/pdk_info" | sed "1d")
-                    mkdir -p ../pdks
-                    git clone "$REPO" ../pdks/pdk;
-                    (cd ../pdks/pdk && sh -c "$POST_CLONE_COMMANDS")
+                    REPO=$(cat "../pdk/pdk_info.txt" | sed -n "1p")
+                    POST_CLONE_COMMANDS=$(cat "../pdk/pdk_info.txt" | sed "1d")
+                    mkdir -p ../sources
+                    git clone "$REPO" ../sources/pdk;
+                    (cd ../sources/pdk && sh -c "$POST_CLONE_COMMANDS")
                 ])
-                export pdkvar[]_SOURCE_PATH=../pdks/pdk
+                export pdkvar[]_SOURCE_PATH=../sources/pdk
             ], [
                 AC_MSG_ERROR([PDK pdk cannot be automatically downloaded and requires a path.])
             ])
@@ -58,9 +56,9 @@
                     FOUND=1
                 fi
             done
-            if @<:@ "$FOUND" = "$1" @:>@; then
-                echo "Could not found pdk in standard search paths, manually downloading to ../pdks/pdk ..."
-                pdk_find
+            if @<:@ "$FOUND" = "0" @:>@; then
+                echo "Could not find pdk in standard search paths, automatically fetching repository to ../sources/pdk ..."
+                pdk_get
             fi
         }
 
@@ -68,14 +66,14 @@
             [AS_HELP_STRING([--enable-pdk-[pdk]=@<:@/path/to/pdk/@:>@ --disable-pdk-[pdk]], "location of the source files for the pdk (pdks with a [pdk]_url file can automatically download them if the path is omitted)")],
             [
                 if test "$enableval" == "yes" -o "$enableval" == "YES"; then
-                   pdk_find
+		    echo "Looking for pdk in usual places"
+                    pdk_find
                 elif test "$enableval" == "no" -o "$enableval" == "NO"; then
                     echo "Disabling pdk..."
                 else
                     pdkvar[]_SOURCE_PATH=$enableval
                 fi
             ], [
-                pdk_find
             ]
         )
 	    # # Require this argument
@@ -148,13 +146,13 @@
 # Set variables for tool setups
 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"))])
+        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
-                Enable or disable tool @<:@default=enabled@:>@
+                Enable or disable tool setup @<:@default=enabled@:>@
             ), [
                 if test "$enableval" == "no" -o "$enableval" == "NO"; then
                     toolvar[]_DISABLED=1
@@ -180,11 +178,9 @@
 fi
 
 # Other installations (libraries or tools if applicable)
-mkdir -p ../libs
-mkdir -p ../tools
 AC_DEFUN([M4_GEN_INSTALLATION], [
     m4_define([target], $1)
-    m4_define([targetvar], [m4_normalize(m4_esyscmd(echo target | tr "a-z" "A-Z"))])
+    m4_define([targetvar], [m4_normalize(m4_esyscmd(echo target | tr "a-z-" "A-Z_"))])
     m4_define([flag], $2)
     m4_define([url], $3)
     m4_define([location], $4)
@@ -200,7 +196,7 @@
             ], [
                 mkdir -p location/target
                 sh ./download.sh url location/target.tar.gz
-                (echo "Extracting target..." && cd location && tar -xf target.tar.gz --strip-components 1 -C location/target)
+                (echo "Extracting target..." && cd location && tar -xf target.tar.gz --strip-components 1 -C location/target && rm target.tar.gz )
             ]
         )
         export targetvar[]_PATH=location/target
@@ -231,37 +227,19 @@
     AC_SUBST(targetvar[]_PATH)
 ])
 
-M4_GEN_INSTALLATION(osu, osu-lib, 'https://vlsiarch.ecen.okstate.edu/flows/MOSIS_SCMOS/osu_stdcells_v2.4/osu_stdcells_lib.v2.4.tar.gz', ../libs)
-M4_GEN_INSTALLATION(sky130_ml_xx_hd, alpha-lib, 'https://github.com/PaulSchulz/sky130_pschulz_xx_hd/archive/master.tar.gz', ../libs)
+M4_GEN_INSTALLATION(sky130_ml_xx_hd, alpha-sky130, 'https://github.com/PaulSchulz/sky130_pschulz_xx_hd/archive/master.tar.gz', ../sources)
 
-XSCHEM_DISABLED=0
-XSCHEM_INST=0
-M4_GEN_INSTALLATION(xschem, xschem, 'https://github.com/StefanSchippers/xschem/archive/master.tar.gz', ../tools, [
-    if @<:@ "$XSCHEM_INST" = 1 @:>@; then
-        AC_CHECK_FILE(../tools/xschem-install,[
-            echo "Using pre-existing xschem installation..."
-        ], [
-            echo "---"
-            echo "Note: attempting to build xschem. Xschem requires all of Magic's dependencies and further, flex, bison and libxpm."
-            echo "Your build WILL fail if any of these are missing. You can choose to remove --enable-xschem or add a known installation path."
-            sleep 2
-            mkdir -p ../tools/xschem-install
-            XSCHEM_ABSOLUTE=`realpath ../tools/xschem-install`
-            (cd ../tools/xschem && ./configure --prefix=$XSCHEM_ABSOLUTE && make && make install)
-            XSCHEM_PATH=$XSCHEM_ABSOLUTE
-        ])
-    fi
-])
+M4_GEN_INSTALLATION(xschem_sky130, xschem-sky130, 'https://github.com/StefanSchippers/xschem_sky130/archive/main.tar.gz', ../sources)
 
 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"))])
+        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@:>@
+                Enable or disable tool setup @<:@default=enabled@:>@
             ),
             [
                 if test "$enableval" == "no" -o "$enableval" == "NO"; then
@@ -275,8 +253,6 @@
 
 AC_MSG_NOTICE([Tools enabled for PDK setup installation: M4_GET_TOOLS()])
 
-M4_GEN_WITH_TOOLS(M4_GET_TOOLS())
-
 # Check for "--with-ef-style"
 EF_STYLE=0
 AC_ARG_WITH(
diff --git a/scripts/tools.txt b/scripts/tools.txt
index 60e9fe0..648b3dc 100644
--- a/scripts/tools.txt
+++ b/scripts/tools.txt
@@ -4,3 +4,4 @@
 irsim
 openlane
 qflow
+xschem