#!/bin/sh
cwd=`pwd`
dir=`basename ${cwd}`
#
# When compiling a file that goes into libunwind, we only
# need to compile it when we really do support UNW_LOCAL_ONLY.
# In contrast, libunwind-tests should always get compiled.
#
if test $dir = "tests"; then
  local_only_test=""
else
  local_only_test="defined(UNW_LOCAL_ONLY) && "
fi
for gname in `ls G*.c G*.cxx G*.S 2>/dev/null`; do
	lname="L$(expr $gname : '.\(.*\)')"
	bk edit $lname >/dev/null 2>&1
	ext=$(expr $gname : '[^.]*[.]\(.*\)')
	if [ "$ext" = "S" ]; then
	    include=""
	else
	    include="#include <libunwind.h>"
	fi
	echo -e "\
#define UNW_LOCAL_ONLY\n\
$include\n\
#if ${local_only_test}!defined(UNW_REMOTE_ONLY)\n\
#include \"$gname\"\n\
#endif" > $lname
	echo created $lname
done
