69 lines
2.6 KiB
Diff
69 lines
2.6 KiB
Diff
|
Index: configure.ac
|
||
|
===================================================================
|
||
|
--- configure.ac.orig 2006-03-04 01:31:27.000000000 +0100
|
||
|
+++ configure.ac 2009-10-07 01:53:26.000000000 +0200
|
||
|
@@ -208,6 +208,44 @@ AC_SUBST(JAVA_INC)
|
||
|
AC_SUBST(JAVA_INC_NATIVE)
|
||
|
AM_CONDITIONAL(JAVAWRAPPER, test x$enable_java = xyes)
|
||
|
|
||
|
+dnl ************************************************************
|
||
|
+dnl Enable hiding of internal symbols in library to reduce its size and
|
||
|
+dnl speed dynamic linking of applications. This currently is only supported
|
||
|
+dnl on gcc >= 4.0 and SunPro C.
|
||
|
+dnl
|
||
|
+AC_MSG_CHECKING([whether to enable hidden symbols in the library])
|
||
|
+AC_ARG_ENABLE(hidden-symbols,
|
||
|
+AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
|
||
|
+AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
|
||
|
+[ case "$enableval" in
|
||
|
+ no)
|
||
|
+ AC_MSG_RESULT(no)
|
||
|
+ ;;
|
||
|
+ *)
|
||
|
+ AC_MSG_CHECKING([whether $CC supports it])
|
||
|
+ if test "$GCC" = yes ; then
|
||
|
+ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
|
||
|
+ AC_MSG_RESULT(yes)
|
||
|
+ AC_DEFINE(BRAILLE_API, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
|
||
|
+ CFLAGS="$CFLAGS -fvisibility=hidden"
|
||
|
+ else
|
||
|
+ AC_MSG_RESULT(no)
|
||
|
+ fi
|
||
|
+
|
||
|
+ else
|
||
|
+ dnl Test for SunPro cc
|
||
|
+ if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
|
||
|
+ AC_MSG_RESULT(yes)
|
||
|
+ AC_DEFINE(BRAILLE_API, [__global], [to make a symbol visible])
|
||
|
+ CFLAGS="$CFLAGS -xldscope=hidden"
|
||
|
+ else
|
||
|
+ AC_MSG_RESULT(no)
|
||
|
+ fi
|
||
|
+ fi
|
||
|
+ ;;
|
||
|
+ esac ],
|
||
|
+ AC_MSG_RESULT(no)
|
||
|
+)
|
||
|
# Finally create all the generated files
|
||
|
# The configure script takes "file.in" and substitutes variables to produce
|
||
|
# "file". In this case we are just generating the Makefiles, but this could
|
||
|
Index: include/braille.h
|
||
|
===================================================================
|
||
|
--- include/braille.h.orig 2006-03-04 01:31:25.000000000 +0100
|
||
|
+++ include/braille.h 2009-10-07 02:08:27.000000000 +0200
|
||
|
@@ -25,13 +25,7 @@ extern "C" {
|
||
|
// that uses this DLL. This way any other project whose source files include this file see
|
||
|
// LIBBRAILLE_API functions as being imported from a DLL, wheras this DLL sees symbols
|
||
|
// defined with this macro as being exported.
|
||
|
-#ifdef WIN32
|
||
|
-#ifdef LIBBRAILLE_EXPORTS
|
||
|
-#define BRAILLE_API __declspec(dllexport)
|
||
|
-#else
|
||
|
-#define BRAILLE_API __declspec(dllimport)
|
||
|
-#endif
|
||
|
-#else
|
||
|
+#ifndef BRAILLE_API
|
||
|
#define BRAILLE_API
|
||
|
#endif
|
||
|
|