Added -fvisibility=hidden support, for builds by gcc4 and later.
All the sordid reasons for this are laid out here: http://gcc.gnu.org/wiki/Visibility
This commit is contained in:
parent
c08f79715b
commit
0d9f7c7b8a
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
-- stuff in the stable-1.0 branch, backported from 2.0.0 dev branch, etc ---
|
-- stuff in the stable-1.0 branch, backported from 2.0.0 dev branch, etc ---
|
||||||
|
|
||||||
|
03232006 - Added -fvisibility for gcc4 (http://gcc.gnu.org/wiki/Visibility)
|
||||||
01012006 - Added physfs.rc (thanks, Dennis!). Changed my email address.
|
01012006 - Added physfs.rc (thanks, Dennis!). Changed my email address.
|
||||||
11282005 - Whitespace fix, and corrected docs on PHYSFS_setWriteDir().
|
11282005 - Whitespace fix, and corrected docs on PHYSFS_setWriteDir().
|
||||||
09062005 - Happy September. Minor MingW fixes (but it's still broken, I think).
|
09062005 - Happy September. Minor MingW fixes (but it's still broken, I think).
|
||||||
|
|
27
configure.in
27
configure.in
|
@ -68,18 +68,39 @@ AC_ARG_ENABLE(debug,
|
||||||
, enable_debug=no)
|
, enable_debug=no)
|
||||||
if test x$enable_debug = xyes; then
|
if test x$enable_debug = xyes; then
|
||||||
if test x$ac_cv_prog_cc_g = xyes; then
|
if test x$ac_cv_prog_cc_g = xyes; then
|
||||||
PHYSFSCFLAGS="-g -O0"
|
PHYSFSCFLAGS="$PHYSFSCFLAGS -g -O0"
|
||||||
else
|
else
|
||||||
PHYSFSCFLAGS="-O0"
|
PHYSFSCFLAGS="$PHYSFSCFLAGS -O0"
|
||||||
fi
|
fi
|
||||||
PHYSFSCFLAGS="$PHYSFSCFLAGS -Werror -Wall"
|
PHYSFSCFLAGS="$PHYSFSCFLAGS -Werror -Wall"
|
||||||
AC_DEFINE([DEBUG], 1, [define if debug build is enabled])
|
AC_DEFINE([DEBUG], 1, [define if debug build is enabled])
|
||||||
AC_DEFINE([DEBUG_CHATTER], 1, [define if debug chatter is enabled])
|
AC_DEFINE([DEBUG_CHATTER], 1, [define if debug chatter is enabled])
|
||||||
else
|
else
|
||||||
PHYSFSCFLAGS="-O2"
|
PHYSFSCFLAGS="$PHYSFSCFLAGS -O2"
|
||||||
AC_DEFINE([NDEBUG], 1, [define if debug build is disabled])
|
AC_DEFINE([NDEBUG], 1, [define if debug build is disabled])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl ---------------------------------------------------------------------
|
||||||
|
dnl Have GCC's -fvisibility option?
|
||||||
|
dnl ---------------------------------------------------------------------
|
||||||
|
AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
|
||||||
|
have_gcc_fvisibility=no
|
||||||
|
visibility_CFLAGS="-fvisibility=hidden"
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$save_CFLAGS $visibility_CFLAGS"
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
int placeholder = 1;
|
||||||
|
],[
|
||||||
|
],[
|
||||||
|
have_gcc_fvisibility=yes
|
||||||
|
])
|
||||||
|
AC_MSG_RESULT($have_gcc_fvisibility)
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
|
||||||
|
if test x$have_gcc_fvisibility = xyes; then
|
||||||
|
PHYSFSCFLAGS="$PHYSFSCFLAGS $visibility_CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------
|
||||||
dnl Profile sorts, etc?
|
dnl Profile sorts, etc?
|
||||||
|
|
2
physfs.h
2
physfs.h
|
@ -153,6 +153,8 @@ extern "C" {
|
||||||
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
||||||
#if (defined _MSC_VER)
|
#if (defined _MSC_VER)
|
||||||
#define __EXPORT__ __declspec(dllexport)
|
#define __EXPORT__ __declspec(dllexport)
|
||||||
|
#elif (defined __GNUC__)
|
||||||
|
#define __EXPORT__ __attribute__((visibility("default")))
|
||||||
#else
|
#else
|
||||||
#define __EXPORT__
|
#define __EXPORT__
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue