Dear Alexei,

>> Does it define __GNUC__? Does it undestand __attribute__(( visibility(
>> "default" ) ))?
> 
> Q1) __GNUC__
> Maybe No.

Oh, Oh. I found my misunderstanding.

ftconfig.h does like this:

#if defined( _WIN32 ) && ( defined( _DLL ) || defined( DLL_EXPORT ) )
#define FT_EXPORT( x )  __declspec( dllexport )  x
#elif defined( __GNUC__ ) && __GNUC__ >= 4
#define FT_EXPORT( x )  __attribute__(( visibility( "default" ) ))  x
#elif defined( __cplusplus )
#define FT_EXPORT( x )  extern "C"  x
#else
#define FT_EXPORT( x )  extern  x
#endif

Thus, attribute visibility is only enabled for GCC >= 4.

Comparing with configure.raw, I guess you assumed that
-fvisibility is GCC-specific feature?

# I should remind, such kind of linker-related technologies
# in GNU toolchains are heavily inspired by Solaris, maybe
# in Drepper's era.


suzuki toshiya wrote:
> Alexei Podtelezhnikov wrote:
>> On Thu, May 3, 2018 at 8:31 AM, suzuki toshiya
>> <[email protected]> wrote:
>>> Dear Kanazawa-san,
>>>
>>> Hmm, it looks good... why Oracle cc hides all symbols...?
>>>
>> because it accepts -fvisibility=hidden, wh ich is a GNUC. Now two questions:
>> Does it define __GNUC__? Does it undestand __attribute__(( visibility(
>> "default" ) ))?
> 
> Q1) __GNUC__
> Maybe No.
> 
> Q2) __attribute__((visibility(xxx))
> Yes, according to the online help.
> https://docs.oracle.com/cd/E18659_01/html/821-1384/gjzke.html
> 
> Regards,
> mpsuzuki
> 


_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to