From 380255a37895b31b06602505c831e925bc8daa5d Mon Sep 17 00:00:00 2001 From: Dan Callaghan Date: Tue, 8 Jan 2013 21:22:31 +1000 Subject: [PATCH 2/2] hide symbols for private utf8 utility functions --- Makefile | 3 ++- linenoise.h | 26 ++++++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index a1a906f..0a42a7f 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,8 @@ SONAME = liblinenoise.so.$(MAJOR_VERSION) LIB = $(SONAME)$(EXTRA_VERSION) export CFLAGS ?= -Os -g -CFLAGS += -Wall -fpic -DUSE_UTF8 +CFLAGS += -Wall -fpic -DUSE_UTF8 \ + -fvisibility=hidden -DHAVE_VISIBILITY=1 -DBUILDING_LINENOISE=1 LIBDIR ?= /usr/lib INCLUDEDIR ?= /usr/include diff --git a/linenoise.h b/linenoise.h index ab0058a..406aa3e 100644 --- a/linenoise.h +++ b/linenoise.h @@ -37,6 +37,12 @@ #ifndef __LINENOISE_H #define __LINENOISE_H +#if BUILDING_LINENOISE && HAVE_VISIBILITY +#define LINENOISE_EXPORTED __attribute__((__visibility__("default"))) +#else +#define LINENOISE_EXPORTED +#endif + #ifndef NO_COMPLETION typedef struct linenoiseCompletions { size_t len; @@ -44,19 +50,19 @@ typedef struct linenoiseCompletions { } linenoiseCompletions; typedef void(linenoiseCompletionCallback)(const char *, linenoiseCompletions *); -void linenoiseSetCompletionCallback(linenoiseCompletionCallback *); -void linenoiseAddCompletion(linenoiseCompletions *, const char *); +LINENOISE_EXPORTED void linenoiseSetCompletionCallback(linenoiseCompletionCallback *); +LINENOISE_EXPORTED void linenoiseAddCompletion(linenoiseCompletions *, const char *); #endif typedef int(linenoiseCharacterCallback)(const char *, size_t, char); -void linenoiseSetCharacterCallback(linenoiseCharacterCallback *, char); +LINENOISE_EXPORTED void linenoiseSetCharacterCallback(linenoiseCharacterCallback *, char); -char *linenoise(const char *prompt); -int linenoiseHistoryAdd(const char *line); -int linenoiseHistorySetMaxLen(int len); -int linenoiseHistorySave(const char *filename); -int linenoiseHistoryLoad(const char *filename); -void linenoiseHistoryFree(void); -char **linenoiseHistory(int *len); +LINENOISE_EXPORTED char *linenoise(const char *prompt); +LINENOISE_EXPORTED int linenoiseHistoryAdd(const char *line); +LINENOISE_EXPORTED int linenoiseHistorySetMaxLen(int len); +LINENOISE_EXPORTED int linenoiseHistorySave(const char *filename); +LINENOISE_EXPORTED int linenoiseHistoryLoad(const char *filename); +LINENOISE_EXPORTED void linenoiseHistoryFree(void); +LINENOISE_EXPORTED char **linenoiseHistory(int *len); #endif /* __LINENOISE_H */ -- 1.7.11.7