Add optional visibility hiding (only useful with modular build).

SVN revision: 31691
This commit is contained in:
Kim Woelders 2007-09-12 21:33:50 +00:00
parent b8c8a33686
commit 04d18ba16d
9 changed files with 40 additions and 15 deletions

View File

@ -311,6 +311,16 @@ if test "x$GCC" = "xyes"; then
fi
fi
dnl Set default visibility to hidden?
AC_ARG_ENABLE(visibility-hiding,
[ --enable-visibility-hiding enable visibility hiding @<:@default=no@:>@],,
enable_visibility_hiding=no
)
if test "x$enable_visibility_hiding" = xyes ; then
CPPFLAGS="$CPPFLAGS -fvisibility=hidden"
fi
AC_SUBST(E_X_LIBS)
AM_CONFIG_HEADER(config.h)

View File

@ -661,8 +661,8 @@ char **ThemesList(int *num);
extern const char e_wm_name[];
extern const char e_wm_version[];
extern const char e_wm_date[];
extern Display *disp;
__EXPORT__ extern Display *disp;
extern RealRoot RRoot;
extern VirtRoot VRoot;
extern EConf Conf;
extern EMode Mode;
__EXPORT__ extern VirtRoot VRoot;
__EXPORT__ extern EConf Conf;
__EXPORT__ extern EMode Mode;

View File

@ -344,6 +344,8 @@ ModLoadSym(const char *lib, const char *sym, const char *name)
Esnprintf(buf, sizeof(buf), "%s_%s", sym, name);
h = dlsym(h, buf);
if (!h)
Eprintf("*** ModLoad %s: %s\n", buf, dlerror());
return h;
}

View File

@ -27,6 +27,10 @@
#include <esd.h>
#include <audiofile.h>
#ifdef USE_MODULES
#define Estrdup strdup
#endif
struct _sample
{
char *file; /* We should not need this */
@ -162,7 +166,7 @@ _esd_Exit(void)
sound_fd = -1;
}
extern const SoundOps SoundOps_esd;
__EXPORT__ extern const SoundOps SoundOps_esd;
const SoundOps SoundOps_esd = {
_esd_Init, _esd_Exit, _esd_Load, _esd_Destroy, _esd_Play,
};

View File

@ -107,7 +107,7 @@ void TextclassSetJustification(TextClass * tc, int just);
/* text.c */
TextState *TextclassGetTextState(TextClass * tclass, int state,
int active, int sticky);
void TextstateTextFit(TextState * ts, char **ptext, int *pw,
__EXPORT__ void TextstateTextFit(TextState * ts, char **ptext, int *pw,
int textwidth_limit);
void TextstateTextDraw(TextState * ts, Win win, Drawable draw,
const char *text, int x, int y, int w,
@ -121,9 +121,9 @@ void TextDraw(TextClass * tclass, Win win, Drawable draw,
const char *text, int x, int y, int w, int h,
int fsize, int justification);
int _xft_FdcInit(TextState * ts, Win win, Drawable draw);
void _xft_FdcFini(TextState * ts);
void _xft_FdcSetDrawable(TextState * ts, unsigned long draw);
void _xft_FdcSetColor(TextState * ts, EColor * xc);
__EXPORT__ int _xft_FdcInit(TextState * ts, Win win, Drawable draw);
__EXPORT__ void _xft_FdcFini(TextState * ts);
__EXPORT__ void _xft_FdcSetDrawable(TextState * ts, unsigned long draw);
__EXPORT__ void _xft_FdcSetColor(TextState * ts, EColor * xc);
#endif /* _TCLASS_H */

View File

@ -31,7 +31,7 @@
/*
* Pango-Xft
*/
extern const FontOps FontOps_pango;
__EXPORT__ extern const FontOps FontOps_pango;
static PangoContext *_pango_ctx = NULL;

View File

@ -31,7 +31,7 @@
/*
* Xft
*/
extern const FontOps FontOps_xft;
__EXPORT__ extern const FontOps FontOps_xft;
typedef struct
{

View File

@ -31,7 +31,7 @@
/*
* Imlib2/FreeType
*/
extern const FontOps FontOps_ift;
__EXPORT__ extern const FontOps FontOps_ift;
typedef void EFont;

View File

@ -27,6 +27,15 @@
#include "config.h"
#include <stdarg.h>
/* Inspired by Xfuncproto.h */
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
# define __EXPORT__ __attribute__((visibility("default")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
# define __EXPORT__ __global
#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
# define __EXPORT__
#endif
#if HAVE___ATTRIBUTE__
#define __PRINTF__ __attribute__((__format__(__printf__, 1, 2)))
#else
@ -63,12 +72,12 @@ char *Estrndup(const char *s, size_t n);
char *Estrdupcat2(char *ss, const char *s1, const char *s2);
char **StrlistDup(char **lst, int num);
void StrlistFree(char **lst, int num);
__EXPORT__ void StrlistFree(char **lst, int num);
char *StrlistJoin(char **lst, int num);
char *StrlistEncodeEscaped(char *buf, int len, char **lst,
int num);
char **StrlistDecodeEscaped(const char *str, int *pnum);
char **StrlistFromString(const char *str, int delim, int *num);
__EXPORT__ char **StrlistFromString(const char *str, int delim, int *num);
void Esetenv(const char *name, const char *value);