Support symbol visibility features of Sun / Oracle C compilers.
Reported by Kiyoshi Kanazawa: https://lists.gnu.org/archive/html/freetype-devel/2018-05/msg00008.html Thanks to the suggestions by Alexei and Alan Coopersmith. * builds/unix/configure.raw: Check if "-xldscope=hidden" is accepted, and if so, it is added to CFLAGS. This is the option making Sun / Oracle C compilers hide the symbols from global scope. * include/freetype/config/ftconfig.h: Use "__global" prefix for FT_EXPORT() macro, if SunPro C is newer than Sun ONE Studio 8 (2003). * builds/unix/ftconfig.in: Ditto. * builds/vms/ftconfig.h: Ditto.
This commit is contained in:
parent
660afb5ce8
commit
2b3e0ef6c0
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
||||
2018-05-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
Support symbol visibility features of Sun / Oracle C compilers.
|
||||
Reported by Kiyoshi Kanazawa:
|
||||
https://lists.gnu.org/archive/html/freetype-devel/2018-05/msg00008.html
|
||||
Thanks to the suggestions by Alexei and Alan Coopersmith.
|
||||
|
||||
* builds/unix/configure.raw: Check if "-xldscope=hidden" is
|
||||
accepted, and if so, it is added to CFLAGS. This is the option
|
||||
making Sun / Oracle C compilers hide the symbols from global
|
||||
scope.
|
||||
* include/freetype/config/ftconfig.h: Use "__global" prefix
|
||||
for FT_EXPORT() macro, if SunPro C is newer than Sun ONE
|
||||
Studio 8 (2003).
|
||||
* builds/unix/ftconfig.in: Ditto.
|
||||
* builds/vms/ftconfig.h: Ditto.
|
||||
|
||||
2018-05-02 Nikolaus Waxweiler <madigens@gmail.com>
|
||||
|
||||
Unbreak CMake Windows installation
|
||||
|
@ -311,6 +311,14 @@ AC_SUBST([XX_ANSIFLAGS])
|
||||
# It is recommended that shared libraries hide symbols except those with
|
||||
# explicit __attribute__((visibility("default"))).
|
||||
#
|
||||
AC_MSG_CHECKING([for -xldscope=hidden compiler flag])
|
||||
orig_CFLAGS="${CFLAGS}"
|
||||
CFLAGS="${CFLAGS} -xldscope=hidden"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
AC_MSG_RESULT(yes),
|
||||
CFLAGS="${orig_CFLAGS}"
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
|
||||
orig_CFLAGS="${CFLAGS}"
|
||||
CFLAGS="${CFLAGS} -fvisibility=hidden"
|
||||
|
@ -493,6 +493,8 @@ FT_BEGIN_HEADER
|
||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||
#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
|
||||
#define FT_EXPORT( x ) __global x
|
||||
#elif defined( __cplusplus )
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
|
@ -445,6 +445,8 @@ FT_BEGIN_HEADER
|
||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||
#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
|
||||
#define FT_EXPORT( x ) __global x
|
||||
#elif defined( __cplusplus )
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
|
@ -461,6 +461,8 @@ FT_BEGIN_HEADER
|
||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||
#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
|
||||
#define FT_EXPORT( x ) __global x
|
||||
#elif defined( __cplusplus )
|
||||
#define FT_EXPORT( x ) extern "C" x
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user