I=`echo "$i" | tr -d '\n' | tr a-z A-Z | tr -c a-zA-Z0-9 _`
for j in $extlist; do
J=`echo "$j" | tr -d '\n' | tr a-z A-Z | tr -c a-zA-Z0-9 _`
- guard="${I}_${J}_H"
- cat >$i-$j.h <<EOF
+ guard="CATACOMB_${I}_${J}_H"
+ cat >$i-$j.h.new <<EOF
/* -*-c-*-
*
* $i-$j.h [generated]
extern "C" {
#endif
-#ifndef ${J}_H
+#ifndef CATACOMB_${J}_H
# include "$j.h"
#endif
-#ifndef ${I}_H
+#ifndef CATACOMB_${I}_H
# include "$i.h"
#endif
#endif
EOF
- cat >$i-$j.c <<EOF
+ if cmp "$i-$j.h" "$i-$j.h.new" 2>/dev/null; then
+ rm "$i-$j.h.new"
+ else
+ mv "$i-$j.h.new" "$i-$j.h"
+ echo >&2 "Written new $i-$j.h."
+ fi
+ cat >$i-$j.c.new <<EOF
/* -*-c-*-
*
- * $i-$j.h [generated]
+ * $i-$j.c [generated]
*/
#include "$i-$j.h"
+#include "$j-def.h"
${J}_DEF($I, $i)
EOF
+ if cmp "$i-$j.c" "$i-$j.c.new" 2>/dev/null; then
+ rm "$i-$j.c.new"
+ else
+ mv "$i-$j.c.new" "$i-$j.c"
+ echo >&2 "Written new $i-$j.c."
+ fi
done
done