aboutsummaryrefslogtreecommitdiffstats
path: root/vms/posix-cc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vms/posix-cc.sh')
-rwxr-xr-xvms/posix-cc.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/vms/posix-cc.sh b/vms/posix-cc.sh
new file mode 100755
index 00000000..6ac70990
--- /dev/null
+++ b/vms/posix-cc.sh
@@ -0,0 +1,16 @@
+# The VMS POSIX `c89' command writes any/all diagnostic info to stdout
+# rather than stderr, confusing configure tests which capture error output.
+#
+# Also, the VMS linker issues a warning for any undefined symbol, but that
+# does not inhibit creation of the final executable file, again confusing
+# configure. As an added complication, there's not enough control of the
+# linker to put the map file with chosen name into the current directory.
+#
+if [ -f ~/_posix-cc.map ] ; then rm -f ~/_posix-cc.map* ; fi
+c89 -Wc,nowarn -Wl,nodebug -Wl,map=_posix-cc.map $* ; x=$?
+if [ -f ~/_posix-cc.map ] ; then
+ if [ -n "`fgrep LINK-W-USEUNDEF ~/_posix-cc.map`" ] ; then x=1 ; fi
+ rm -f ~/_posix-cc.map*
+fi
+if [ x -ne 0 ] ; then echo "c89 reports failure" 1>&2 && exit 1 ; fi
+exit 0