aboutsummaryrefslogtreecommitdiffstats
path: root/wspkg-sh/packages-cpp.sh
diff options
context:
space:
mode:
Diffstat (limited to 'wspkg-sh/packages-cpp.sh')
-rwxr-xr-xwspkg-sh/packages-cpp.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/wspkg-sh/packages-cpp.sh b/wspkg-sh/packages-cpp.sh
new file mode 100755
index 0000000..8e517c1
--- /dev/null
+++ b/wspkg-sh/packages-cpp.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+toupper () {
+ echo "$1" | sed 's/^-//' | tr '[:lower:]' '[:upper:]'
+}
+
+[ -z "$1" ] && echo "Usage: $0 input_file cpp_args" && exit 1
+[ -z "$2" ] && default="yes"
+
+input_file="$1"
+shift
+
+: ${CPP:="cpp"}
+: ${CPPFLAGS:="-I."}
+while [ "$1" ]; do
+ case "$1" in
+ -*)
+ selarg="$selarg -D`toupper "$1"`"
+ ;;
+ *)
+ selarg="$selarg -DWSPKG_`toupper "$1"`"
+ ;;
+ esac
+ shift
+done
+
+${CPP} ${CPPFLAGS} $selarg "$input_file" | \
+ sed -e '/^#/d' -e '/^ *$/d' | tr ' ' '\n' | sed '/^ *$/d'