about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xpatch-for-solaris2
-rwxr-xr-xtools/gen-deps.sh11
-rwxr-xr-xtools/install.sh11
3 files changed, 18 insertions, 6 deletions
diff --git a/patch-for-solaris b/patch-for-solaris
index 2d1296b..ccb17f7 100755
--- a/patch-for-solaris
+++ b/patch-for-solaris
@@ -1,4 +1,4 @@
-#!/usr/xpg4/bin/sh
+#!/usr/xpg4/bin/sh -e
 
 patchit () {
   echo '#!/usr/xpg4/bin/sh' > $1.tmp
diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh
index 27e5b3e..befe021 100755
--- a/tools/gen-deps.sh
+++ b/tools/gen-deps.sh
@@ -7,6 +7,8 @@ echo '# This file has been generated by tools/gen-deps.sh'
 echo '#'
 echo
 
+internal_libs=
+
 for dir in src/include/${package} src/* ; do
   for file in $(ls -1 $dir | grep -- \\.h$) ; do
     {
@@ -70,8 +72,12 @@ for dir in $(ls -1 src | grep -v ^include) ; do
     echo else
     echo "lib${file}.a.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')"
     echo endif
-    echo "lib${file}.so.xyzzy: EXTRA_LIBS :=$libs"
-    echo "lib${file}.so.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')"
+    if grep -E "^LIB_DEFS [+:]=" package/targets.mak | grep -qF "$file" ; then
+      echo "lib${file}.so.xyzzy: EXTRA_LIBS :=$libs"
+      echo "lib${file}.so.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')"
+    else
+      internal_libs="$internal_libs lib${file}.a.xyzzy"
+    fi
   done
 
   for file in $(ls -1 src/$dir/deps-exe) ; do
@@ -91,3 +97,4 @@ for dir in $(ls -1 src | grep -v ^include) ; do
     echo "$file: src/$dir/$file.o$deps"
   done
 done
+echo "INTERNAL_LIBS :=$internal_libs"
diff --git a/tools/install.sh b/tools/install.sh
index 89f9428..e96dd7b 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -1,19 +1,21 @@
 #!/bin/sh
 
 usage() {
-  echo "usage: $0 [-D] [-l] [-m mode] src dst" 1>&2
+  echo "usage: $0 [ -D ] [ -l ] [ -m mode ] [ -O owner:group ] src dst" 1>&2
   exit 1
 }
 
 mkdirp=false
 symlink=false
 mode=0755
+og=
 
-while getopts Dlm: name ; do
+while getopts Dlm:O: name ; do
   case "$name" in
     D) mkdirp=true ;;
     l) symlink=true ;;
     m) mode=$OPTARG ;;
+    O) og=$OPTARG ;;
     ?) usage ;;
   esac
 done
@@ -46,7 +48,10 @@ if $symlink ; then
   ln -s "$src" "$tmp"
 else
   cat < "$1" > "$tmp"
-  chmod "$mode" "$tmp"
+  if test -n "$og" ; then
+    chown -- "$og" "$tmp"
+  fi
+  chmod -- "$mode" "$tmp"
 fi
 
 mv -f "$tmp" "$dst"