Skip to content

Commit

Permalink
-fvisibility=hidden is no longer a requirement for dynamic X11.
Browse files Browse the repository at this point in the history
We don't clash with Xlib symbols anymore.
  • Loading branch information
icculus committed Nov 19, 2013
1 parent 131a072 commit 825a689
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 24 deletions.
11 changes: 0 additions & 11 deletions cmake/sdlchecks.cmake
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -331,15 +331,8 @@ macro(CheckX11)
set(SOURCE_FILES ${SOURCE_FILES} ${X11_SOURCES}) set(SOURCE_FILES ${SOURCE_FILES} ${X11_SOURCES})
set(SDL_VIDEO_DRIVER_X11 1) set(SDL_VIDEO_DRIVER_X11 1)


if(HAVE_GCC_FVISIBILITY)
set(X11_SYMBOLS_PRIVATE TRUE)
else()
set(X11_SYMBOLS_PRIVATE FALSE)
endif(HAVE_GCC_FVISIBILITY)

if(APPLE) if(APPLE)
set(X11_SHARED OFF) set(X11_SHARED OFF)
set(X11_SYMBOLS_PRIVATE TRUE)
endif(APPLE) endif(APPLE)


check_function_exists("shmat" HAVE_SHMAT) check_function_exists("shmat" HAVE_SHMAT)
Expand All @@ -358,10 +351,6 @@ macro(CheckX11)
if(NOT HAVE_DLOPEN) if(NOT HAVE_DLOPEN)
message_warn("You must have SDL_LoadObject() support for dynamic X11 loading") message_warn("You must have SDL_LoadObject() support for dynamic X11 loading")
set(HAVE_X11_SHARED FALSE) set(HAVE_X11_SHARED FALSE)
if(X11_SYMBOLS_PRIVATE)
message_warn("You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading")
set(HAVE_X11_SHARED TRUE)
endif(X11_SYMBOLS_PRIVATE)
else(NOT HAVE_DLOPEN) else(NOT HAVE_DLOPEN)
set(HAVE_X11_SHARED TRUE) set(HAVE_X11_SHARED TRUE)
endif() endif()
Expand Down
14 changes: 1 addition & 13 deletions configure.in
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -1140,18 +1140,12 @@ AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]),
AC_PATH_X AC_PATH_X
AC_PATH_XTRA AC_PATH_XTRA
if test x$have_x = xyes; then if test x$have_x = xyes; then
# Only allow dynamically loaded X11 if the X11 function pointers
# will not end up in the global namespace, which causes problems
# with other libraries calling X11 functions.
x11_symbols_private=$have_gcc_fvisibility

AC_ARG_ENABLE(x11-shared, AC_ARG_ENABLE(x11-shared,
AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]), AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]),
, enable_x11_shared=maybe) , enable_x11_shared=maybe)


case "$host" in case "$host" in
*-*-darwin*) *-*-darwin*)
x11_symbols_private=yes
x11_lib='/usr/X11R6/lib/libX11.6.dylib' x11_lib='/usr/X11R6/lib/libX11.6.dylib'
x11ext_lib='/usr/X11R6/lib/libXext.6.dylib' x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
xcursor_lib='/usr/X11R6/lib/libXcursor.1.dylib' xcursor_lib='/usr/X11R6/lib/libXcursor.1.dylib'
Expand Down Expand Up @@ -1212,19 +1206,13 @@ AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=ma
SDL_CFLAGS="$SDL_CFLAGS $X_CFLAGS" SDL_CFLAGS="$SDL_CFLAGS $X_CFLAGS"


if test x$enable_x11_shared = xmaybe; then if test x$enable_x11_shared = xmaybe; then
enable_x11_shared=$x11_symbols_private enable_x11_shared=yes
fi fi
if test x$have_loadso != xyes && \ if test x$have_loadso != xyes && \
test x$enable_x11_shared = xyes; then test x$enable_x11_shared = xyes; then
AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading]) AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading])
enable_x11_shared=no enable_x11_shared=no
fi fi
if test x$x11_symbols_private != xyes && \
test x$enable_x11_shared = xyes; then
AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading])
enable_x11_shared=no
fi

if test x$have_loadso = xyes && \ if test x$have_loadso = xyes && \
test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
echo "-- dynamic libX11 -> $x11_lib" echo "-- dynamic libX11 -> $x11_lib"
Expand Down

0 comments on commit 825a689

Please sign in to comment.