From: Bruno Haible Date: Sat, 16 Sep 2023 09:28:23 +0000 (+0200) Subject: lib-symbol-visibility: Fix a misnomer. X-Git-Tag: v1.0~779 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=c7194899546c054e11be28fc01bf3eb11e27d80a;p=gnulib.git lib-symbol-visibility: Fix a misnomer. * doc/lib-symbol-visibility.texi: Rename LIBFOO_DLL_EXPORTED to LIBFOO_SHLIB_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * lib/relocatable.h (RELOCATABLE_SHLIB_EXPORTED): Renamed from RELOCATABLE_DLL_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * lib/mbtowc-lock.c (SHLIB_EXPORTED): Renamed from DLL_EXPORTED. * lib/nl_langinfo-lock.c (SHLIB_EXPORTED): Likewise. * lib/setlocale-lock.c (SHLIB_EXPORTED): Likewise. --- diff --git a/ChangeLog b/ChangeLog index a669c7de47..cdce8c12cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2023-09-16 Bruno Haible + + lib-symbol-visibility: Fix a misnomer. + * doc/lib-symbol-visibility.texi: Rename LIBFOO_DLL_EXPORTED to + LIBFOO_SHLIB_EXPORTED. Prefer the term "shared library", since the term + "DLL" applies only to Windows. + * lib/relocatable.h (RELOCATABLE_SHLIB_EXPORTED): Renamed from + RELOCATABLE_DLL_EXPORTED. Prefer the term "shared library", since the + term "DLL" applies only to Windows. + * lib/mbtowc-lock.c (SHLIB_EXPORTED): Renamed from DLL_EXPORTED. + * lib/nl_langinfo-lock.c (SHLIB_EXPORTED): Likewise. + * lib/setlocale-lock.c (SHLIB_EXPORTED): Likewise. + 2023-09-15 Bruno Haible acl-permissions: Fix compilation error on Solaris 11 (regr. 2023-09-04). diff --git a/doc/lib-symbol-visibility.texi b/doc/lib-symbol-visibility.texi index 5a3b3cdbfb..904c1fdc5d 100644 --- a/doc/lib-symbol-visibility.texi +++ b/doc/lib-symbol-visibility.texi @@ -140,16 +140,16 @@ for the compilation of the sources that make up the library. Define a macro specific to your library like this. @smallexample #if HAVE_VISIBILITY && BUILDING_LIBFOO -# define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default"))) +# define LIBFOO_SHLIB_EXPORTED __attribute__((__visibility__("default"))) #else -# define LIBFOO_DLL_EXPORTED +# define LIBFOO_SHLIB_EXPORTED #endif @end smallexample This macro should be enabled in all public header files of your library. @item Annotate all variable, function and class declarations in all public header -files of your library with @samp{LIBFOO_DLL_EXPORTED}. This annotation +files of your library with @samp{LIBFOO_SHLIB_EXPORTED}. This annotation can occur at different locations: between the @samp{extern} and the type or return type, or just before the entity being declared, or after the entire declarator. My preference is to put it right after @samp{extern}, @@ -168,17 +168,17 @@ 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 -# define LIBFOO_DLL_EXPORTED __attribute__((__visibility__("default"))) +# define LIBFOO_SHLIB_EXPORTED __attribute__((__visibility__("default"))) #elif (defined _WIN32 && !defined __CYGWIN__) && @@BUILDING_SHARED@@ && BUILDING_LIBFOO # if defined DLL_EXPORT -# define LIBFOO_DLL_EXPORTED __declspec(dllexport) +# define LIBFOO_SHLIB_EXPORTED __declspec(dllexport) # else -# define LIBFOO_DLL_EXPORTED +# define LIBFOO_SHLIB_EXPORTED # endif #elif (defined _WIN32 && !defined __CYGWIN__) && @@BUILDING_SHARED@@ -# define LIBFOO_DLL_EXPORTED __declspec(dllimport) +# define LIBFOO_SHLIB_EXPORTED __declspec(dllimport) #else -# define LIBFOO_DLL_EXPORTED +# define LIBFOO_SHLIB_EXPORTED #endif @end smallexample @noindent @@ -198,5 +198,6 @@ You may use the following @samp{configure.ac} snippet: @noindent And @code{DLL_EXPORT} is defined by Libtool, on Windows platforms, when -compiling for a DLL. It is not defined when Libtool compiles an object -file meant to be linked statically into some executable. +compiling for a shared library (called DLL under Windows). +It is not defined when Libtool compiles an object file meant to be linked +statically into some executable. diff --git a/lib/mbtowc-lock.c b/lib/mbtowc-lock.c index 6ca6e10f94..c4d0b088f6 100644 --- a/lib/mbtowc-lock.c +++ b/lib/mbtowc-lock.c @@ -37,14 +37,14 @@ typedef int dummy; /* Macro for exporting a symbol (function, not variable) defined in this file, when compiled into a shared library. */ -# ifndef DLL_EXPORTED +# ifndef SHLIB_EXPORTED # if HAVE_VISIBILITY /* Override the effect of the compiler option '-fvisibility=hidden'. */ -# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# define SHLIB_EXPORTED __attribute__((__visibility__("default"))) # elif defined _WIN32 || defined __CYGWIN__ -# define DLL_EXPORTED __declspec(dllexport) +# define SHLIB_EXPORTED __declspec(dllexport) # else -# define DLL_EXPORTED +# define SHLIB_EXPORTED # endif # endif @@ -59,7 +59,7 @@ typedef int dummy; because the latter is not guaranteed to be a stable ABI in the future. */ /* Make sure the function gets exported from DLLs. */ -DLL_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void); static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; static CRITICAL_SECTION lock; @@ -96,7 +96,7 @@ gl_get_mbtowc_lock (void) static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void); /* Returns the internal lock used by mbrtowc and mbrtoc32. */ pthread_mutex_t * @@ -123,7 +123,7 @@ atomic_init (void) } /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED mtx_t *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED mtx_t *gl_get_mbtowc_lock (void); /* Returns the internal lock used by mbrtowc and mbrtoc32. */ mtx_t * diff --git a/lib/nl_langinfo-lock.c b/lib/nl_langinfo-lock.c index e5cdcd3e77..fb12299959 100644 --- a/lib/nl_langinfo-lock.c +++ b/lib/nl_langinfo-lock.c @@ -37,14 +37,14 @@ typedef int dummy; /* Macro for exporting a symbol (function, not variable) defined in this file, when compiled into a shared library. */ -# ifndef DLL_EXPORTED +# ifndef SHLIB_EXPORTED # if HAVE_VISIBILITY /* Override the effect of the compiler option '-fvisibility=hidden'. */ -# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# define SHLIB_EXPORTED __attribute__((__visibility__("default"))) # elif defined _WIN32 || defined __CYGWIN__ -# define DLL_EXPORTED __declspec(dllexport) +# define SHLIB_EXPORTED __declspec(dllexport) # else -# define DLL_EXPORTED +# define SHLIB_EXPORTED # endif # endif @@ -59,7 +59,7 @@ typedef int dummy; because the latter is not guaranteed to be a stable ABI in the future. */ /* Make sure the function gets exported from DLLs. */ -DLL_EXPORTED CRITICAL_SECTION *gl_get_nl_langinfo_lock (void); +SHLIB_EXPORTED CRITICAL_SECTION *gl_get_nl_langinfo_lock (void); static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; static CRITICAL_SECTION lock; @@ -96,7 +96,7 @@ gl_get_nl_langinfo_lock (void) static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED pthread_mutex_t *gl_get_nl_langinfo_lock (void); +SHLIB_EXPORTED pthread_mutex_t *gl_get_nl_langinfo_lock (void); /* Returns the internal lock used by nl_langinfo. */ pthread_mutex_t * @@ -123,7 +123,7 @@ atomic_init (void) } /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED mtx_t *gl_get_nl_langinfo_lock (void); +SHLIB_EXPORTED mtx_t *gl_get_nl_langinfo_lock (void); /* Returns the internal lock used by nl_langinfo. */ mtx_t * diff --git a/lib/relocatable.h b/lib/relocatable.h index fcbbb21934..ae2a880c07 100644 --- a/lib/relocatable.h +++ b/lib/relocatable.h @@ -33,11 +33,11 @@ extern "C" { /* This can be enabled through the configure --enable-relocatable option. */ #if ENABLE_RELOCATABLE -/* When building a DLL, we must export some functions. Note that because - this is a private .h file, we don't need to use __declspec(dllimport) - in any case. */ +/* When building a shared library, we must export some functions. + Note that because this is a private .h file, we don't need to use + __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL -# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) +# define RELOCATABLE_SHLIB_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL /* When building with MSVC, exporting a symbol means that the object file contains a "linker directive" of the form /EXPORT:symbol. This can be @@ -45,16 +45,16 @@ extern "C" { "dumpbin /directives FILE" commands. The symbols from this file should be exported if and only if the object file gets included in a DLL. Libtool, on Windows platforms, defines - the C macro DLL_EXPORT (together with PIC) when compiling for a DLL - and does not define it when compiling an object file meant to be linked - statically into some executable. */ + the C macro DLL_EXPORT (together with PIC) when compiling for a shared + library (called DLL under Windows) and does not define it when compiling + an object file meant to be linked statically into some executable. */ # if defined DLL_EXPORT -# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) +# define RELOCATABLE_SHLIB_EXPORTED __declspec(dllexport) # else -# define RELOCATABLE_DLL_EXPORTED +# define RELOCATABLE_SHLIB_EXPORTED # endif #else -# define RELOCATABLE_DLL_EXPORTED +# define RELOCATABLE_SHLIB_EXPORTED #endif /* Sets the original and the current installation prefix of the package. @@ -62,7 +62,7 @@ extern "C" { by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ -extern RELOCATABLE_DLL_EXPORTED void +extern RELOCATABLE_SHLIB_EXPORTED void set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); diff --git a/lib/setlocale-lock.c b/lib/setlocale-lock.c index b70ba09b00..593f63711b 100644 --- a/lib/setlocale-lock.c +++ b/lib/setlocale-lock.c @@ -37,14 +37,14 @@ typedef int dummy; /* Macro for exporting a symbol (function, not variable) defined in this file, when compiled into a shared library. */ -# ifndef DLL_EXPORTED +# ifndef SHLIB_EXPORTED # if HAVE_VISIBILITY /* Override the effect of the compiler option '-fvisibility=hidden'. */ -# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# define SHLIB_EXPORTED __attribute__((__visibility__("default"))) # elif defined _WIN32 || defined __CYGWIN__ -# define DLL_EXPORTED __declspec(dllexport) +# define SHLIB_EXPORTED __declspec(dllexport) # else -# define DLL_EXPORTED +# define SHLIB_EXPORTED # endif # endif @@ -59,7 +59,7 @@ typedef int dummy; because the latter is not guaranteed to be a stable ABI in the future. */ /* Make sure the function gets exported from DLLs. */ -DLL_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void); static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; static CRITICAL_SECTION lock; @@ -96,7 +96,7 @@ gl_get_setlocale_null_lock (void) static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void); /* Returns the internal lock used by setlocale_null_r. */ pthread_mutex_t * @@ -123,7 +123,7 @@ atomic_init (void) } /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED mtx_t *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED mtx_t *gl_get_setlocale_null_lock (void); /* Returns the internal lock used by setlocale_null_r. */ mtx_t *