diff options
author | Tom Anderson <thomasanderson@chromium.org> | 2018-01-03 11:42:45 -0800 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2018-01-04 15:24:16 +0000 |
commit | b8a225b3c3495942480377b7b3404710c70be914 (patch) | |
tree | 85b1ad07de84efe800151780febb4a2ea27c8114 /src | |
parent | 37fb4a989e6243bceebadb8120f458d8d5b82c45 (diff) |
Allow overriding symbol visibility.
Fontconfig symbols were hardcoded to be either hidden or exported. This patch
adds configurable symbol visibility. This is useful for projects that want to
do in-tree fontconfig builds and not export any symbols, otherwise they would
conflict with the system library's symbols
Chromium is a project that does in-tree fontconfig builds, and the workaround
currently used is "#define visibility(x) // nothing" [1] and building with
"-fvisibility=hidden".
[1] https://cs.chromium.org/chromium/src/third_party/fontconfig/BUILD.gn?rcl=ce146f1f300988c960e1eecf8a61b238d6fd7f7f&l=62
Diffstat (limited to 'src')
-rwxr-xr-x | src/makealias | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/makealias b/src/makealias index e2f31c62..21de72ef 100755 --- a/src/makealias +++ b/src/makealias @@ -14,7 +14,7 @@ while read name; do ;; *) alias="IA__$name" - hattr='__attribute((visibility("hidden")))' + hattr='FC_ATTRIBUTE_VISIBILITY_HIDDEN' echo "extern __typeof ($name) $alias $hattr;" >> $HEAD echo "#define $name $alias" >> $HEAD ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'` @@ -28,7 +28,7 @@ while read name; do last=$ifdef fi echo "# undef $name" >> $TAIL - cattr='__attribute((alias("'$alias'"), visibility("default")))' + cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT' echo "extern __typeof ($name) $name $cattr;" >> $TAIL ;; esac |