Modified the configure script to allow 3rd party libraries to be either installed
by default (requiring --disable) or ignored by default (requiring --enable).
Moved the SRAM library to the "ignored by default" list because it takes so long
to build. Added all of the OSU standard cell libraries (hs/ms/ls each for
12T, 15T, and 18T). Added a straight-through analog pad for high-speed I/O,
especially for the "caravan" analog variant of the "caravel" harness chip.
diff --git a/scripts/configure.ac b/scripts/configure.ac
index be17018..63de958 100755
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -168,7 +168,7 @@
flag,
AS_HELP_STRING(
[--enable-flag@<:@=path@:>@],
- [Install target. If path is omitted, it'll be downloaded. @<:@default=enabled@:>@]
+ [Install target. If path is omitted, the repository will be downloaded. @<:@default=enabled@:>@]
), [
if test "$enableval" == "yes" -o "$enableval" == "YES"; then
AC_MSG_NOTICE([Package 'target' will be installed automatically during make.])
@@ -192,10 +192,53 @@
AC_SUBST(targetvar[]_PATH)
])
-M4_GEN_INSTALLATION(sky130_sram_macros, sram-sky130, ../sources)
+# Optional installations (like the above, but disabled by default)
+AC_DEFUN([M4_OPT_INSTALLATION], [
+ m4_define([target], $1)
+ m4_define([targetvar], [m4_normalize(m4_esyscmd(echo target | tr "a-z-" "A-Z_"))])
+ m4_define([flag], $2)
+ m4_define([location], $3)
+
+ # echo target targetvar flag location
+
+ targetvar[]_PATH=""
+
+ AC_ARG_ENABLE(
+ flag,
+ AS_HELP_STRING(
+ [--enable-flag@<:@=path@:>@],
+ [Install target. If path is omitted, the repository will be downloaded. @<:@default=enabled@:>@]
+ ), [
+ if test "$enableval" == "yes" -o "$enableval" == "YES"; then
+ AC_MSG_NOTICE([Package 'target' will be installed automatically during make.])
+ export targetvar[]_PATH=location/target
+ elif test "$enableval" == "no" -o "$enableval" == "NO"; then
+ AC_MSG_NOTICE([Disabling package 'target'])
+ export targetvar[]_PATH=""
+ else
+ targetvar[]_PATH=$enableval
+ AC_MSG_NOTICE([Enabling package 'target' at $[]targetvar[]_PATH])
+ fi
+ targetvar[]_PATH=`realpath $[]targetvar[]_PATH`
+ ],[
+ AC_MSG_NOTICE([Package 'target' will not be installed.])
+ ]
+ )
+
+ $4
+
+ AC_SUBST(targetvar[]_PATH)
+])
+
M4_GEN_INSTALLATION(sky130_ml_xx_hd, alpha-sky130, ../sources)
M4_GEN_INSTALLATION(xschem_sky130, xschem-sky130, ../sources)
+M4_OPT_INSTALLATION(sky130_sram_macros, sram-sky130, ../sources)
+M4_OPT_INSTALLATION(sky130_osu, osu-sky130, ../sources)
+M4_OPT_INSTALLATION(sky130_osu_t12, osu-t12-sky130, ../sources)
+M4_OPT_INSTALLATION(sky130_osu_t15, osu-t15-sky130, ../sources)
+M4_OPT_INSTALLATION(sky130_osu_t18, osu-t18-sky130, ../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_"))])