changeset 11260:78ac16260082

Simplify usage recipe for HAVE_VISIBILITY.
author Bruno Haible <bruno@clisp.org>
date Tue, 03 Mar 2009 23:32:37 +0100
parents de4587124345
children f0359b41944f
files ChangeLog doc/visibility.texi
diffstat 2 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2009-03-03  Bruno Haible  <bruno@clisp.org>
 
+	* doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
+	Reported by Simon Josefsson.
+
 	* doc/ld-version-script.texi: Update node reference.
 
 2009-03-03  Bruno Haible  <bruno@clisp.org>
--- a/doc/visibility.texi
+++ b/doc/visibility.texi
@@ -102,7 +102,7 @@
 The gnulib autoconf macro @code{gl_VISIBILITY} tests for GCC 4.0 or newer.
 It defines a Makefile variable @code{@@CFLAG_VISIBILITY@@} containing
 @samp{-fvisibility=hidden} or nothing. It also defines as a C macro and
-as a Makefile variable: @@HAVE_VISIBILITY@@. Its value is 1 when symbol
+as a substituted variable: @@HAVE_VISIBILITY@@. Its value is 1 when symbol
 visibility control is supported, and 0 otherwise.
 
 To use this module in a library, say libfoo, you will do these steps:
@@ -120,7 +120,7 @@
 @item
 Define a macro specific to your library like this.
 @smallexample
-#if @@HAVE_VISIBILITY@@ && BUILDING_LIBFOO
+#if BUILDING_LIBFOO && HAVE_VISIBILITY
 #define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default")))
 #else
 #define LIBFOO_DLL_EXPORTED
@@ -148,9 +148,9 @@
 Note about other compilers: MSVC support can be added easily, by extending
 the definition of the macro mentioned above, to something like this:
 @smallexample
-#if @@HAVE_VISIBILITY@@ && BUILDING_LIBFOO
+#if BUILDING_LIBFOO && HAVE_VISIBILITY
 #define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default")))
-#elif defined _MSC_VER && BUILDING_LIBFOO
+#elif BUILDING_LIBFOO && defined _MSC_VER
 #define LIBFOO_DLL_EXPORTED __declspec(dllexport)
 #elif defined _MSC_VER
 #define LIBFOO_DLL_EXPORTED __declspec(dllimport)