Home | History | Annotate | Download | only in scripts
      1 #!/bin/sh
      2 cwd=`pwd`
      3 dir=`basename ${cwd}`
      4 #
      5 # When compiling a file that goes into libunwind, we only
      6 # need to compile it when we really do support UNW_LOCAL_ONLY.
      7 # In contrast, libunwind-tests should always get compiled.
      8 #
      9 if test $dir = "tests"; then
     10   local_only_test=""
     11 else
     12   local_only_test="defined(UNW_LOCAL_ONLY) && "
     13 fi
     14 for gname in `ls G*.c G*.cxx G*.S 2>/dev/null`; do
     15 	lname="L$(expr $gname : '.\(.*\)')"
     16 	bk edit $lname >/dev/null 2>&1
     17 	ext=$(expr $gname : '[^.]*[.]\(.*\)')
     18 	if [ "$ext" = "S" ]; then
     19 	    include=""
     20 	else
     21 	    include="#include <libunwind.h>"
     22 	fi
     23 	echo -e "\
     24 #define UNW_LOCAL_ONLY\n\
     25 $include\n\
     26 #if ${local_only_test}!defined(UNW_REMOTE_ONLY)\n\
     27 #include \"$gname\"\n\
     28 #endif" > $lname
     29 	echo created $lname
     30 done
     31