Commit 5669e1a82d24af8ebb6653f75a80f8b11279a6fc

Kristian Høgsberg 2010-07-02T11:43:56

Compile with -fvisibility=hidden when possible

diff --git a/configure.ac b/configure.ac
index 5a70315..26e37ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,6 +58,10 @@ AC_CHECK_FUNCS([strcasecmp])
 XORG_CHECK_MALLOC_ZERO
 XORG_CWARNFLAGS
 
+if  test "x$GCC" = xyes ; then
+  CFLAGS="$CFLAGS -fvisibility=hidden"
+fi
+
 PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.99.1])
 PKG_CHECK_MODULES([XLIB], [x11])
 
diff --git a/include/X11/extensions/XKBcommon.h b/include/X11/extensions/XKBcommon.h
index ab67e6e..59a0dd4 100644
--- a/include/X11/extensions/XKBcommon.h
+++ b/include/X11/extensions/XKBcommon.h
@@ -884,19 +884,19 @@ _XFUNCPROTOBEGIN
 typedef uint32_t (*InternAtomFuncPtr)(const char *val);
 typedef const char *(*GetAtomValueFuncPtr)(uint32_t atom);
 
-extern void
+_X_EXPORT extern void
 XkbcInitAtoms(InternAtomFuncPtr intern, GetAtomValueFuncPtr get_atom_value);
 
-extern struct xkb_desc *
+_X_EXPORT extern struct xkb_desc *
 XkbcCompileKeymapFromRules(const XkbRMLVOSet *rmlvo);
 
-extern struct xkb_desc *
+_X_EXPORT extern struct xkb_desc *
 XkbcCompileKeymapFromComponents(const struct xkb_component_names * ktcsg);
 
-extern struct xkb_desc *
+_X_EXPORT extern struct xkb_desc *
 XkbcCompileKeymapFromFile(FILE *inputFile, const char *mapName);
 
-extern struct xkb_component_list *
+_X_EXPORT extern struct xkb_component_list *
 XkbcListComponents(struct xkb_component_names * ptrns, int *maxMatch);
 
 /*
@@ -913,7 +913,7 @@ XkbcListComponents(struct xkb_component_names * ptrns, int *maxMatch);
  * If a component in names needs to be modified, the existing value will be
  * free()d, and a new one allocated with malloc().
  */
-extern void
+_X_EXPORT extern void
 XkbcCanonicaliseComponents(struct xkb_component_names * names,
                            const struct xkb_component_names * old);
 
@@ -928,14 +928,14 @@ XkbcCanonicaliseComponents(struct xkb_component_names * names,
  * This is uint32_t rather than KeySym, as KeySym changes size between
  * client and server (no, really).
  */
-extern char *
+_X_EXPORT extern char *
 XkbcKeysymToString(uint32_t ks);
 
 /*
  * See XkbcKeysymToString comments: this function will accept any string
  * from that function.
  */
-extern uint32_t
+_X_EXPORT extern uint32_t
 XkbcStringToKeysym(const char *s);
 
 _XFUNCPROTOEND
diff --git a/test/filecomp.c b/test/filecomp.c
index 49c8394..d2b2d7b 100644
--- a/test/filecomp.c
+++ b/test/filecomp.c
@@ -57,8 +57,6 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    uSetErrorFile(NULL);
-
     xkb = XkbcCompileKeymapFromFile(file, name);
     fclose(file);
 
diff --git a/test/namescomp.c b/test/namescomp.c
index 72a8b35..430e0a7 100644
--- a/test/namescomp.c
+++ b/test/namescomp.c
@@ -51,8 +51,6 @@ int main(int argc, char *argv[])
     ktcsg.symbols = argv[4];
     ktcsg.geometry = argv[5];
 
-    uSetErrorFile(NULL);
-
     xkb = XkbcCompileKeymapFromComponents(&ktcsg);
 
     if (!xkb) {
diff --git a/test/rulescomp.c b/test/rulescomp.c
index ccb59df..2056adf 100644
--- a/test/rulescomp.c
+++ b/test/rulescomp.c
@@ -50,8 +50,6 @@ int main(int argc, char *argv[])
     rmlvo.variant = argv[4];
     rmlvo.options = argv[5];
 
-    uSetErrorFile(NULL);
-
     xkb = XkbcCompileKeymapFromRules(&rmlvo);
 
     if (!xkb) {