]> git.draconx.ca Git - cdecl99.git/blobdiff - bootstrap
Add an explanation for declaration specifier rules.
[cdecl99.git] / bootstrap
index 43fee2c28260a8a8f8fd4052616da6f32cbd0ff4..5ec2dc408e5a7e12b836435c7d6604b3d9d52e26 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright © 2011-2012, 2021 Nick Bowler
+# Copyright © 2011-2012, 2021-2023 Nick Bowler
 #
 # Simple script to get started from a fresh git checkout.
 #
@@ -28,7 +28,19 @@ die() {
 $GIT submodule update --init || err "Failed to update submodules from git."
 
 if test -x $GNULIB/gnulib-tool; then
-       $GNULIB/gnulib-tool --update -S || die "Failed to update Gnulib."
+  $GNULIB/gnulib-tool --update -S || die "Failed to update Gnulib."
+
+  exec 3>lib/symfiles.tmp 4<lib/symfiles.tmp
+  rm -f lib/symfiles.tmp
+
+  shared_modules='lock tls snprintf'
+  set x --extract-recursive-dependencies $shared_modules; shift
+  (set -x; $GNULIB/gnulib-tool "$@" >&3 ) || die "gnulib-tool failed"
+  shared_modules=`LC_ALL=C sort -u <&4`
+
+  set x --extract-filelist $shared_modules; shift
+  ( set -x; $GNULIB/gnulib-tool "$@" >&3 ) || die "gnulib-tool failed"
+  <&4 grep '^lib/.*[.][^vh][^.]*$' | LC_ALL=C sort -u >lib/symfiles
 else
   err "Gnulib sources are not properly installed in $GNULIB/"
   cat >&2 <<'EOF'