fontconfig: Branch 'master'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 fontconfig/fcprivate.h |    9 ++++++++-
 src/makealias          |    4 ++--
 2 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit b8a225b3c3495942480377b7b3404710c70be914
Author: Tom Anderson <thomasanderson@xxxxxxxxxxxx>
Date:   Wed Jan 3 11:42:45 2018 -0800

    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

diff --git a/fontconfig/fcprivate.h b/fontconfig/fcprivate.h
index a6ee5c2..23021b2 100644
--- a/fontconfig/fcprivate.h
+++ b/fontconfig/fcprivate.h
@@ -123,5 +123,12 @@ _FcObjectSetVapBuild_bail0:						\
     ;									\
 }
 
-#endif /* _FCPRIVATE_H_ */
+#ifndef FC_ATTRIBUTE_VISIBILITY_HIDDEN
+#define FC_ATTRIBUTE_VISIBILITY_HIDDEN __attribute((visibility("hidden")))
+#endif
+
+#ifndef FC_ATTRIBUTE_VISIBILITY_EXPORT
+#define FC_ATTRIBUTE_VISIBILITY_EXPORT __attribute((visibility("default")))
+#endif
 
+#endif /* _FCPRIVATE_H_ */
diff --git a/src/makealias b/src/makealias
index e2f31c6..21de72e 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
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/fontconfig




[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux