Additional support for automatically searching standard places for repositories before attempting a download.
diff --git a/pdk.patch b/pdk.patch new file mode 100644 index 0000000..166dda4 --- /dev/null +++ b/pdk.patch
@@ -0,0 +1,337 @@ +commit c8e490f65d8624cc2e39147afd1c0269cac7f8b4 +Author: Donn <me@donn.website> +Date: Tue Dec 29 01:38:02 2020 +0200 + + Looking for PDKs in standard directories then downloading + +diff --git a/scripts/.gitignore b/scripts/.gitignore +index b1083e1..1383243 100644 +--- a/scripts/.gitignore ++++ b/scripts/.gitignore +@@ -4,4 +4,4 @@ + !configure.ac + !tools.txt + !print_tools_make.pl +-!dl +\ No newline at end of file ++!download.sh +\ No newline at end of file +diff --git a/scripts/configure b/scripts/configure +index ba4f0c8..5e03076 100755 +--- a/scripts/configure ++++ b/scripts/configure +@@ -628,6 +628,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -706,6 +707,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -958,6 +960,15 @@ do + | -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=* \ +@@ -1095,7 +1106,7 @@ fi + 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. +@@ -1248,6 +1259,7 @@ Fine tuning of the installation directories: + --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] +@@ -1279,7 +1291,7 @@ Optional Features: + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-sky130-pdk=[/path/to/sky130/] --disable-sky130-pdk + "location of the source files for the sky130 (pdks +- with a pdk_url file can automatically download them ++ with a pdk_info file can automatically download them + if the path is omitted)" + --enable-klayout + Enable or disable klayout [default=enabled] +@@ -1797,22 +1809,22 @@ $as_echo "$as_me: Found technology directories: sky130" >&6;} + SKY130_LINK_TARGETS="none" + + pdk_get() { +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sky130/pdk_url" >&5 +-$as_echo_n "checking for ../sky130/pdk_url... " >&6; } +-if ${ac_cv_file____sky130_pdk_url+:} false; then : ++ { $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_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_url"; then +- ac_cv_file____sky130_pdk_url=yes ++if test -r "../sky130/pdk_info"; then ++ ac_cv_file____sky130_pdk_info=yes + else +- ac_cv_file____sky130_pdk_url=no ++ ac_cv_file____sky130_pdk_info=no + fi + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sky130_pdk_url" >&5 +-$as_echo "$ac_cv_file____sky130_pdk_url" >&6; } +-if test "x$ac_cv_file____sky130_pdk_url" = xyes; then : ++{ $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}: checking for ../pdks/sky130" >&5 + $as_echo_n "checking for ../pdks/sky130... " >&6; } +@@ -1835,9 +1847,11 @@ if test "x$ac_cv_file____pdks_sky130" = xyes; then : + + else + +- mkdir -p ../pdks/sky130 +- sh dl $(cat "../sky130/pdk_get") ../pdks/sky130.tar.gz; +- (echo "Extracting sky130" && cd ../pdks && tar -xf sky130.tar.gz --strip-components 1 -C ../pdks/sky130) ++ 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") + + fi + +@@ -1851,11 +1865,26 @@ fi + + } + ++ pdk_find() { ++ FOUND=0 ++ for path in /opt/pdks/sky130 /usr/share/pdks/sky130 /usr/local/share/pdks/sky130; do ++ if [ -d $path ] ; then ++ echo "Found sky130 in $path, using this installation..." ++ export SKY130_SOURCE_PATH=$path ++ FOUND=1 ++ fi ++ done ++ if [ "$FOUND" = "sky130" ]; then ++ echo "Could not found sky130 in standard search paths, manually downloading to ../pdks/sky130 ..." ++ pdk_find ++ fi ++ } ++ + # Check whether --enable-sky130-sky130 was given. + if test "${enable_sky130_pdk+set}" = set; then : + enableval=$enable_sky130_pdk; + if test "$enableval" == "yes" -o "$enableval" == "YES"; then +- pdk_get ++ pdk_find + elif test "$enableval" == "no" -o "$enableval" == "NO"; then + echo "Disabling sky130..." + else +@@ -1864,7 +1893,7 @@ if test "${enable_sky130_pdk+set}" = set; then : + + else + +- pdk_get ++ pdk_find + + + fi +@@ -2455,7 +2484,7 @@ if ${am_cv_pathless_PYTHON+:} false; then : + $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.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 +@@ -2678,28 +2707,33 @@ $as_echo "$am_cv_python_pyexecdir" >&6; } + + 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 + + + # Check for "--with-ef-style" +diff --git a/scripts/configure.ac b/scripts/configure.ac +index 1c06fcf..03866fc 100755 +--- a/scripts/configure.ac ++++ b/scripts/configure.ac +@@ -24,13 +24,15 @@ AC_DEFUN([M4_GEN_WITH_PDK_ARGS], [ + pdkvar[]_LINK_TARGETS="none" + + pdk_get() { +- AC_CHECK_FILE(../pdk/[pdk]_url, [ ++ AC_CHECK_FILE(../pdk/[pdk]_info, [ + AC_CHECK_FILE(../pdks/pdk,[ + echo "Using pre-existing pdk download..." + ], [ +- mkdir -p ../pdks/pdk +- sh dl $(cat "../pdk/pdk_get") ../pdks/pdk.tar.gz; +- (echo "Extracting pdk..." && cd ../pdks && tar -xf pdk.tar.gz --strip-components 1 -C ../pdks/pdk) ++ 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") + ]) + export pdkvar[]_SOURCE_PATH=../pdks/pdk + ], [ +@@ -38,18 +40,33 @@ AC_DEFUN([M4_GEN_WITH_PDK_ARGS], [ + ]) + } + ++ pdk_find() { ++ FOUND=0 ++ for path in /opt/pdks/pdk /usr/share/pdks/pdk /usr/local/share/pdks/pdk; do ++ if @<:@ -d $path @:>@ ; then ++ echo "Found pdk in $path, using this installation..." ++ export pdkvar[]_SOURCE_PATH=$path ++ FOUND=1 ++ fi ++ done ++ if @<:@ "$FOUND" = "$1" @:>@; then ++ echo "Could not found pdk in standard search paths, manually downloading to ../pdks/pdk ..." ++ pdk_find ++ fi ++ } ++ + AC_ARG_ENABLE(pdk-[pdk], + [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_get ++ pdk_find + elif test "$enableval" == "no" -o "$enableval" == "NO"; then + echo "Disabling pdk..." + else + export pdkvar[]_SOURCE_PATH=$enableval + fi + ], [ +- pdk_get ++ pdk_find + ] + ) + # # Require this argument +diff --git a/scripts/download.sh b/scripts/download.sh +new file mode 100755 +index 0000000..7623f32 +--- /dev/null ++++ b/scripts/download.sh +@@ -0,0 +1,22 @@ ++#!/bin/sh ++# ++# Neither curl or wget are guaranteed to be included in all *nix systems, ++# (but most have *one* of them). This tools tries its best to find one. ++# ++ ++DL_CMD= ++if type "wget" > /dev/null; then ++ DL_CMD="wget -qO" ++fi ++ ++if type "curl" > /dev/null; then ++ DL_CMD="curl -sLo" ++fi ++ ++if [ "$DL_CMD" = "" ]; then ++ echo "Either curl or wget are required to automatically install tools." ++ exit 1 ++fi ++ ++echo "Downloading $1 to $2..." ++$DL_CMD $2 $1 +\ No newline at end of file +diff --git a/sky130/pdk_info b/sky130/pdk_info +new file mode 100644 +index 0000000..ee872cd +--- /dev/null ++++ b/sky130/pdk_info +@@ -0,0 +1,10 @@ ++https://github.com/google/skywater-pdk ++ ++# Post Clone Commands ++for i in $(git submodule | grep /latest | awk '{print $2}'); do ++ git submodule init $i ++done ++ ++git submodule update ++ ++make timing +\ No newline at end of file +diff --git a/sky130/pdk_url b/sky130/pdk_url +deleted file mode 100644 +index 11a17e1..0000000 +--- a/sky130/pdk_url ++++ /dev/null +@@ -1 +0,0 @@ +-https://github.com/google/skywater-pdk/archive/master.tar.gz +\ No newline at end of file
diff --git a/scripts/.gitignore b/scripts/.gitignore index b1083e1..1383243 100644 --- a/scripts/.gitignore +++ b/scripts/.gitignore
@@ -4,4 +4,4 @@ !configure.ac !tools.txt !print_tools_make.pl -!dl \ No newline at end of file +!download.sh \ No newline at end of file
diff --git a/scripts/configure b/scripts/configure index ba4f0c8..5e03076 100755 --- a/scripts/configure +++ b/scripts/configure
@@ -628,6 +628,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -706,6 +707,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -958,6 +960,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=* \ @@ -1095,7 +1106,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. @@ -1248,6 +1259,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] @@ -1279,7 +1291,7 @@ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-sky130-pdk=[/path/to/sky130/] --disable-sky130-pdk "location of the source files for the sky130 (pdks - with a pdk_url file can automatically download them + with a pdk_info file can automatically download them if the path is omitted)" --enable-klayout Enable or disable klayout [default=enabled] @@ -1797,22 +1809,22 @@ SKY130_LINK_TARGETS="none" pdk_get() { - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ../sky130/pdk_url" >&5 -$as_echo_n "checking for ../sky130/pdk_url... " >&6; } -if ${ac_cv_file____sky130_pdk_url+:} false; then : + { $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_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_url"; then - ac_cv_file____sky130_pdk_url=yes +if test -r "../sky130/pdk_info"; then + ac_cv_file____sky130_pdk_info=yes else - ac_cv_file____sky130_pdk_url=no + ac_cv_file____sky130_pdk_info=no fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file____sky130_pdk_url" >&5 -$as_echo "$ac_cv_file____sky130_pdk_url" >&6; } -if test "x$ac_cv_file____sky130_pdk_url" = xyes; then : +{ $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}: checking for ../pdks/sky130" >&5 $as_echo_n "checking for ../pdks/sky130... " >&6; } @@ -1835,9 +1847,11 @@ else - mkdir -p ../pdks/sky130 - sh dl $(cat "../sky130/pdk_get") ../pdks/sky130.tar.gz; - (echo "Extracting sky130" && cd ../pdks && tar -xf sky130.tar.gz --strip-components 1 -C ../pdks/sky130) + 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") fi @@ -1851,11 +1865,26 @@ } + pdk_find() { + FOUND=0 + for path in /opt/pdks/sky130 /usr/share/pdks/sky130 /usr/local/share/pdks/sky130; do + if [ -d $path ] ; then + echo "Found sky130 in $path, using this installation..." + export SKY130_SOURCE_PATH=$path + FOUND=1 + fi + done + if [ "$FOUND" = "sky130" ]; then + echo "Could not found sky130 in standard search paths, manually downloading to ../pdks/sky130 ..." + pdk_find + fi + } + # Check whether --enable-sky130-sky130 was given. if test "${enable_sky130_pdk+set}" = set; then : enableval=$enable_sky130_pdk; if test "$enableval" == "yes" -o "$enableval" == "YES"; then - pdk_get + pdk_find elif test "$enableval" == "no" -o "$enableval" == "NO"; then echo "Disabling sky130..." else @@ -1864,7 +1893,7 @@ else - pdk_get + pdk_find fi @@ -2455,7 +2484,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.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 @@ -2678,28 +2707,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 # Check for "--with-ef-style"
diff --git a/scripts/configure.ac b/scripts/configure.ac index 1c06fcf..03866fc 100755 --- a/scripts/configure.ac +++ b/scripts/configure.ac
@@ -24,13 +24,15 @@ pdkvar[]_LINK_TARGETS="none" pdk_get() { - AC_CHECK_FILE(../pdk/[pdk]_url, [ + AC_CHECK_FILE(../pdk/[pdk]_info, [ AC_CHECK_FILE(../pdks/pdk,[ echo "Using pre-existing pdk download..." ], [ - mkdir -p ../pdks/pdk - sh dl $(cat "../pdk/pdk_get") ../pdks/pdk.tar.gz; - (echo "Extracting pdk..." && cd ../pdks && tar -xf pdk.tar.gz --strip-components 1 -C ../pdks/pdk) + 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") ]) export pdkvar[]_SOURCE_PATH=../pdks/pdk ], [ @@ -38,18 +40,33 @@ ]) } + pdk_find() { + FOUND=0 + for path in /opt/pdks/pdk /usr/share/pdks/pdk /usr/local/share/pdks/pdk; do + if @<:@ -d $path @:>@ ; then + echo "Found pdk in $path, using this installation..." + export pdkvar[]_SOURCE_PATH=$path + FOUND=1 + fi + done + if @<:@ "$FOUND" = "$1" @:>@; then + echo "Could not found pdk in standard search paths, manually downloading to ../pdks/pdk ..." + pdk_find + fi + } + AC_ARG_ENABLE(pdk-[pdk], [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_get + pdk_find elif test "$enableval" == "no" -o "$enableval" == "NO"; then echo "Disabling pdk..." else export pdkvar[]_SOURCE_PATH=$enableval fi ], [ - pdk_get + pdk_find ] ) # # Require this argument
diff --git a/scripts/download.sh b/scripts/download.sh new file mode 100644 index 0000000..ec206a5 --- /dev/null +++ b/scripts/download.sh
@@ -0,0 +1,22 @@ +#!/bin/sh +# +# Neither curl or wget are guaranteed to be included in all *nix systems, +# (but most have *one* of them). This tools tries its best to find one. +# + +DL_CMD= +if type "wget" > /dev/null; then + DL_CMD="wget -qO" +fi + +if type "curl" > /dev/null; then + DL_CMD="curl -sLo" +fi + +if [ "$DL_CMD" = "" ]; then + echo "Either curl or wget are required to automatically install tools." + exit 1 +fi + +echo "Downloading $1 to $2..." +$DL_CMD $2 $1
diff --git a/sky130/pdk_info b/sky130/pdk_info new file mode 100644 index 0000000..ee872cd --- /dev/null +++ b/sky130/pdk_info
@@ -0,0 +1,10 @@ +https://github.com/google/skywater-pdk + +# Post Clone Commands +for i in $(git submodule | grep /latest | awk '{print $2}'); do + git submodule init $i +done + +git submodule update + +make timing \ No newline at end of file
diff --git a/sky130/pdk_url b/sky130/pdk_url deleted file mode 100644 index 11a17e1..0000000 --- a/sky130/pdk_url +++ /dev/null
@@ -1 +0,0 @@ -https://github.com/google/skywater-pdk/archive/master.tar.gz \ No newline at end of file