aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/src/makealias
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig/src/makealias')
-rw-r--r--fontconfig/src/makealias28
1 files changed, 28 insertions, 0 deletions
diff --git a/fontconfig/src/makealias b/fontconfig/src/makealias
new file mode 100644
index 000000000..fd9c3fd1f
--- /dev/null
+++ b/fontconfig/src/makealias
@@ -0,0 +1,28 @@
+#!/bin/sh
+SRCDIR=$1
+shift
+HEAD=$1
+shift
+TAIL=$1
+shift
+rm -f $HEAD $TAIL
+echo "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL
+cat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' |
+while read name; do
+ case $name in
+ FcCacheDir|FcCacheSubdir)
+ ;;
+ *)
+ alias="IA__$name"
+ hattr='__attribute((visibility("hidden")))'
+ echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
+ echo "#define $name $alias" >> $HEAD
+ grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/#ifdef __\1__/' >> $TAIL
+ echo "#undef $name" >> $TAIL
+ cattr='__attribute((alias("'$alias'"), visibility("default")))'
+ echo "extern __typeof ($name) $name $cattr;" >> $TAIL
+ echo "#endif" >> $TAIL
+ ;;
+ esac
+done
+echo "#endif" >> $TAIL