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_"))])