summaryrefslogtreecommitdiff
path: root/build-0.3/c/gnu/dep
diff options
context:
space:
mode:
authorJörg Frings-Fürst <jff@merkur>2014-05-18 16:08:14 +0200
committerJörg Frings-Fürst <jff@merkur>2014-05-18 16:08:14 +0200
commita15cf65c44d5c224169c32ef5495b68c758134b7 (patch)
tree3419f58fc8e1b315ba8171910ee044c5d467c162 /build-0.3/c/gnu/dep
Imported Upstream version 3.3.0.2upstream/3.3.0.2
Diffstat (limited to 'build-0.3/c/gnu/dep')
-rwxr-xr-xbuild-0.3/c/gnu/dep58
1 files changed, 58 insertions, 0 deletions
diff --git a/build-0.3/c/gnu/dep b/build-0.3/c/gnu/dep
new file mode 100755
index 0000000..1286ce2
--- /dev/null
+++ b/build-0.3/c/gnu/dep
@@ -0,0 +1,58 @@
+#! /usr/bin/env bash
+
+# file : build/c/gnu/dep
+# author : Boris Kolpackov <boris@codesynthesis.com>
+# copyright : Copyright (c) 2004-2010 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+# Post-process generated dependency information.
+#
+# $1 current project's $(out_base)
+# $2 - $N optional .cpp-options files
+
+out_base=$1
+shift
+
+files=$*
+
+#echo $out_base
+#echo $files
+
+script=
+
+function gen_script ()
+{
+ while [ "$1" ]; do
+ prefix=$1
+ shift
+
+ path=$1
+ shift
+
+ # Besides unresolved paths also replace default installation
+ # targets (/usr/include and /usr/local/include).
+ #
+ script="$script"\
+"s \\ $prefix \\ $path$prefix g;"\
+"s \\ /usr/include/$prefix \\ $path$prefix g;"\
+"s \\ /usr/local/include/$prefix \\ $path$prefix g;"\
+"s ^$prefix $path$prefix ;"\
+"s ^/usr/include/$prefix $path$prefix ;"\
+"s ^/usr/local/include/$prefix $path$prefix ;"
+ done
+}
+
+if [ "$files" ]; then
+ prefixes=`sed -e 's%^prefix: \(.*\)$%\1%' -e t -e d $files`
+ gen_script $prefixes
+fi
+
+# The last part of the script translates all file names that don't start
+# with / or . (that is, local generated files) to files in $out_base. Note
+# that it is assumed that such files are never installed and therefore there
+# is no way to get around the situation where this file is picket up from
+# some other place (e.g., /usr/include).
+#
+epilogue="s% \([^/. \\\\]\)% $out_base/\1%g;s%^\([^/. ].*:\)%$out_base/\1%"
+
+exec sed -e "$script$epilogue"