hi people..
dont know if this the right forum for this doubt ... so sorry if i am
mis-posting...
i was looking at the way glib 2.10.3 does export optimization using a
list of "to be exposed" function names in a file caleed glib.symbols.
this file is used by a perl script to generate a header a .c file
( galias.h and galiasdefs.c). This files essentially enusres default
visibility for these functions (using the __attribute__((default))__
option) , while building the rest of the functions with -
fvisibility=hidden.
i have two doubt regarding this.
1in the generated header galias.h there is a syntax
#define IN_FILE(x) 1
#define IN_HEADER defined
#if IN_HEADER(__G_ARRAY_H__)
#if IN_FILE(__G_ARRAY_C__)
extern __typeof (g_array_append_vals) IA__g_array_append_vals
__attribute((visibility("hidden")));
#define g_array_append_vals IA__g_array_append_vals
....
......
#endif
#endif
whnat does #define IN_HEADER defined mean.. and how is it used
in this context.
2secondly , how does glib maintain the glib.symbols list .. is it
manual or does it use some kind of a parser to parse through the
include folder of glib to come up with the list...
hope i have been able to clearly state my doubts....
thanks in advance for the replies and help...
BR
Rahul