aboutsummaryrefslogtreecommitdiff
path: root/unix/hlib/util.csh/mkproto
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /unix/hlib/util.csh/mkproto
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'unix/hlib/util.csh/mkproto')
-rwxr-xr-xunix/hlib/util.csh/mkproto114
1 files changed, 114 insertions, 0 deletions
diff --git a/unix/hlib/util.csh/mkproto b/unix/hlib/util.csh/mkproto
new file mode 100755
index 00000000..f0fe1dbf
--- /dev/null
+++ b/unix/hlib/util.csh/mkproto
@@ -0,0 +1,114 @@
+#!/bin/csh -f
+#
+# MKPROTO -- Generate the VOS prototype definitions.
+
+unalias chdir ls egrep wc rm
+
+
+set vos_dir = "sys"
+#set math_dir = "math"
+set math_dir = ""
+set xtools_dir = "pkg/xtools"
+set ds_dir = "pkg/images/tv/display pkg/images/tv/wcslab"
+
+#set vosdirs = "$vos_dir $math_dir $ds_dir"
+set vosdirs = "$vos_dir $math_dir $xtools_dir $ds_dir"
+
+set curdir = `echo $cwd`
+set tproto = /tmp/_vosproto.$$
+
+
+foreach d ($vosdirs)
+
+ # Process each of the subdirectories.
+ #
+ foreach sd (`find $d -type d -print`)
+
+ # Skip the IMFORT library and any documentation directories
+ if ($sd:t != "doc" && "`echo $sd | egrep -e imfort`" == "" && \
+ "`echo $sd | egrep -e osb`" == "" && \
+ "`echo $sd | egrep -e memdbg`" == "" && \
+ "`echo $sd | egrep -e nspp`" == "") then
+
+ chdir $sd # go to subdirectory
+
+ set nf = `ls -1 | egrep -e "\.f" | wc -l` # nfiles to process
+ set nx = `ls -1 | egrep -e "\.x" | wc -l` # nfiles to process
+
+ echo "Processing: "$nx" "$nf" "$sd
+ if ($nf > 0 || $nx > 0) then
+
+ # Skip any files beginning with the letters 'zz', e.g. test
+ # files like zzdebug.x
+
+ foreach f ( [a-z][a-y]*.[xf] )
+ if ($f != 'intrp.f' && \
+ $f != 'xtpmmap.x' && \
+ $f != 'ytpmmap.x') then
+ xc -c -/P $f >& /dev/null # make prototype
+ else
+ echo " Skipping " $f
+ endif
+ end
+
+ egrep -h ^extern *.P >> $tproto # save prototypes
+ /bin/rm -f *.[oP] >& /dev/null # clean up
+ endif
+
+ chdir $curdir # back to top
+
+ else
+ echo " Skipping " $sd
+ endif
+ end
+end
+
+# Sort the prototype file, exclude certain symbols which are duplicates
+# in the VOS but harmless because they occur in places that never conflict,
+# e.g. the stdgraph and imd kernels.
+
+cat $tproto | \
+ egrep -v arbpix_ | \
+ egrep -v imdgeg_ | \
+ egrep -v stxset_ | \
+ egrep -v stxpas_ | \
+ egrep -v dgt_ | \
+ egrep -v sgt_ | \
+ egrep -v asider_ | \
+ egrep -v asifit_ | \
+ egrep -v bndsol_ | \
+ egrep -v ffa_ | \
+ egrep -v ffs_ | \
+ egrep -v fft842_ | \
+ egrep -v avdrs_ | \
+ egrep -v asigrl_ | \
+ egrep -v smooth_ | \
+ egrep -v sigl2 | \
+ egrep -v sigm2 | \
+ egrep -v impcom_ | \
+ egrep -v intrp | \
+ egrep -v srch | \
+ egrep -v codim | \
+ egrep -v mrsole | \
+ egrep -v mreval | \
+ egrep -v \ icg | \
+ egrep -v iclisd | \
+ egrep -v gscr | \
+ egrep -v imdcom | \
+ egrep -v getrot | \
+ egrep -v gtplot | \
+ egrep -v xev | \
+ egrep -v ceps | \
+ egrep -v sgt | \
+ egrep -v sgt | \
+ egrep -v U_fp | \
+ sort >$iraf/unix/hlib/libc/vosproto.h
+
+# sigl2* and sigm2* removed because of multiple uses in apps
+# impcom removed because imio$dbc/impcom.x conflicts with plot$t_implot.x
+# use of 'impcom' as a common
+# intrp* removed because it's use is xtools$ was commented out
+# srch* removed because it's use is xtools$ was commented out
+# mrsole/mreval removed because of duplicate use (splot$deblend.x and
+# xtools$numrecipes)
+# icguag removed duplicate use in noao$imred/dtoi