#
SDL_MAJOR_VERSION=2
SDL_MINOR_VERSION=0
-SDL_MICRO_VERSION=4
+SDL_MICRO_VERSION=8
SDL_INTERFACE_AGE=0
-SDL_BINARY_AGE=4
+SDL_BINARY_AGE=8
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
AC_SUBST(SDL_MAJOR_VERSION)
esac
dnl Set up the compiler and linker flags
-INCLUDE="-I$srcdir/include"
+INCLUDE="-I$srcdir/include -idirafter $srcdir/src/video/khronos"
if test x$srcdir != x.; then
INCLUDE="-Iinclude $INCLUDE"
elif test -d .hg; then
dnl Check for C library headers
AC_HEADER_STDC
- AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h)
+ AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h wchar.h inttypes.h stdint.h limits.h ctype.h math.h float.h iconv.h signal.h)
dnl Check for typedefs, structures, etc.
AC_TYPE_SIZE_T
AC_DEFINE(HAVE_MPROTECT, 1, [ ])
]),
)
- AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname)
+ AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove wcslen wcscmp strlen strlcpy strlcat _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname getauxval poll)
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
- AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
+ AC_CHECK_FUNCS(acos acosf asin asinf atan atanf atan2 atan2f ceil ceilf copysign copysignf cos cosf fabs fabsf floor floorf fmod fmodf log logf log10 log10f pow powf scalbn scalbnf sin sinf sqrt sqrtf tan tanf)
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
AC_CHECK_FUNCS(iconv)
- AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE(HAVE_SA_SIGACTION)], ,[#include <signal.h>])
+ AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE([HAVE_SA_SIGACTION], 1, [ ])], ,[#include <signal.h>])
+
+ dnl Check for additional non-standard headers
+ AC_CHECK_HEADERS(libunwind.h)
fi
dnl AC_CHECK_SIZEOF(void*)
SOURCES="$SOURCES $srcdir/src/thread/*.c"
SOURCES="$SOURCES $srcdir/src/timer/*.c"
SOURCES="$SOURCES $srcdir/src/video/*.c"
+SOURCES="$SOURCES $srcdir/src/video/yuv2rgb/*.c"
dnl Enable/disable various subsystems of the SDL library
;;
esac
AC_ARG_ENABLE(ssemath,
-AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=no]]]),
+AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=maybe]]]),
, enable_ssemath=$default_ssemath)
if test x$enable_ssemath = xno; then
- if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then
+ if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes -o x$have_gcc_sse3 = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387"
fi
fi
fi
AC_ARG_ENABLE(sse2,
-AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=no]]]),
+AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=maybe]]]),
, enable_sse2=$default_ssemath)
if test x$enable_sse2 = xyes; then
save_CFLAGS="$CFLAGS"
fi
fi
+ AC_ARG_ENABLE(sse3,
+AC_HELP_STRING([--enable-sse3], [use SSE3 assembly routines [[default=maybe]]]),
+ , enable_sse3=$default_ssemath)
+ if test x$enable_sse3 = xyes; then
+ save_CFLAGS="$CFLAGS"
+ have_gcc_sse3=no
+ AC_MSG_CHECKING(for GCC -msse3 option)
+ sse3_CFLAGS="-msse3"
+ CFLAGS="$save_CFLAGS $sse3_CFLAGS"
+
+ AC_TRY_COMPILE([
+ #ifdef __MINGW32__
+ #include <_mingw.h>
+ #ifdef __MINGW64_VERSION_MAJOR
+ #include <intrin.h>
+ #else
+ #include <pmmintrin.h>
+ #endif
+ #else
+ #include <pmmintrin.h>
+ #endif
+ #ifndef __SSE2__
+ #error Assembler CPP flag not enabled
+ #endif
+ ],[
+ ],[
+ have_gcc_sse3=yes
+ ])
+ AC_MSG_RESULT($have_gcc_sse3)
+ CFLAGS="$save_CFLAGS"
+
+ if test x$have_gcc_sse3 = xyes; then
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $sse3_CFLAGS"
+ SUMMARY_math="${SUMMARY_math} sse3"
+ fi
+ fi
+
+ AC_CHECK_HEADER(immintrin.h,
+ have_immintrin_h_hdr=yes,
+ have_immintrin_h_hdr=no)
+ if test x$have_immintrin_h_hdr = xyes; then
+ AC_DEFINE(HAVE_IMMINTRIN_H, 1, [ ])
+ fi
+
AC_ARG_ENABLE(altivec,
AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]),
, enable_altivec=yes)
AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
, enable_alsa=yes)
if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
- AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
+ AM_PATH_ALSA(1.0.11, have_alsa=yes, have_alsa=no)
# Restore all flags from before the ALSA detection runs
CFLAGS="$alsa_save_CFLAGS"
LDFLAGS="$alsa_save_LDFLAGS"
fi
}
+dnl Find JACK Audio
+CheckJACK()
+{
+ AC_ARG_ENABLE(jack,
+AC_HELP_STRING([--enable-jack], [use JACK audio [[default=yes]]]),
+ , enable_jack=yes)
+ if test x$enable_audio = xyes -a x$enable_jack = xyes; then
+ audio_jack=no
+
+ JACK_REQUIRED_VERSION=0.125
+
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ AC_MSG_CHECKING(for JACK $JACK_REQUIRED_VERSION support)
+ if test x$PKG_CONFIG != xno; then
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $JACK_REQUIRED_VERSION jack; then
+ JACK_CFLAGS=`$PKG_CONFIG --cflags jack`
+ JACK_LIBS=`$PKG_CONFIG --libs jack`
+ audio_jack=yes
+ fi
+ fi
+ AC_MSG_RESULT($audio_jack)
+
+ if test x$audio_jack = xyes; then
+ AC_ARG_ENABLE(jack-shared,
+AC_HELP_STRING([--enable-jack-shared], [dynamically load JACK audio support [[default=yes]]]),
+ , enable_jack_shared=yes)
+ jack_lib=[`find_lib "libjack.so.*" "$JACK_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
+
+ AC_DEFINE(SDL_AUDIO_DRIVER_JACK, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/jack/*.c"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $JACK_CFLAGS"
+ if test x$have_loadso != xyes && \
+ test x$enable_jack_shared = xyes; then
+ AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic JACK audio loading])
+ fi
+ if test x$have_loadso = xyes && \
+ test x$enable_jack_shared = xyes && test x$jack_lib != x; then
+ echo "-- dynamic libjack -> $jack_lib"
+ AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_JACK_DYNAMIC, "$jack_lib", [ ])
+ SUMMARY_audio="${SUMMARY_audio} jack(dynamic)"
+
+ case "$host" in
+ # On Solaris, jack must be linked deferred explicitly
+ # to prevent undefined symbol failures.
+ *-*-solaris*)
+ JACK_LIBS=`echo $JACK_LIBS | sed 's/\-l/-Wl,-l/g'`
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-zdeferred $JACK_LIBS -Wl,-znodeferred"
+ esac
+ else
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $JACK_LIBS"
+ SUMMARY_audio="${SUMMARY_audio} jack"
+ fi
+ have_audio=yes
+ fi
+ fi
+}
+
dnl Find the ESD includes and libraries
CheckESD()
{
fi
}
+dnl Find FusionSound
+CheckFusionSound()
+{
+ AC_ARG_ENABLE(fusionsound,
+AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]),
+ , enable_fusionsound=no)
+ if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
+ fusionsound=no
+
+ FUSIONSOUND_REQUIRED_VERSION=1.1.1
+
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support)
+ if test x$PKG_CONFIG != xno; then
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
+ FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
+ FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
+ fusionsound=yes
+ fi
+ fi
+ AC_MSG_RESULT($fusionsound)
+
+ if test x$fusionsound = xyes; then
+ AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
+
+ AC_ARG_ENABLE(fusionsound-shared,
+AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]),
+ , enable_fusionsound_shared=yes)
+ fusionsound_shared=no
+ AC_MSG_CHECKING(for FusionSound dynamic loading support)
+ if test x$have_loadso != xyes && \
+ test x$enable_fusionsound_shared = xyes; then
+ AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading])
+ fi
+ if test x$have_loadso = xyes && \
+ test x$enable_fusionsound_shared = xyes; then
+ AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ])
+ fusionsound_shared=yes
+ SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
+ else
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
+ SUMMARY_audio="${SUMMARY_audio} fusionsound"
+ fi
+ AC_MSG_RESULT($fusionsound_shared)
+
+ have_audio=yes
+ fi
+ fi
+}
+
dnl rcg07142001 See if the user wants the disk writer audio driver...
CheckDiskAudio()
{
fi
}
+dnl See if libsamplerate is available
+CheckLibSampleRate()
+{
+ AC_ARG_ENABLE(libsamplerate,
+AC_HELP_STRING([--enable-libsamplerate], [use libsamplerate for audio rate conversion [[default=yes]]]),
+ , enable_libsamplerate=yes)
+ if test x$enable_libsamplerate = xyes; then
+ AC_CHECK_HEADER(samplerate.h,
+ have_samplerate_h_hdr=yes,
+ have_samplerate_h_hdr=no)
+ if test x$have_samplerate_h_hdr = xyes; then
+ AC_DEFINE(HAVE_LIBSAMPLERATE_H, 1, [ ])
+
+ AC_ARG_ENABLE(libsamplerate-shared,
+AC_HELP_STRING([--enable-libsamplerate-shared], [dynamically load libsamplerate [[default=yes]]]),
+ , enable_libsamplerate_shared=yes)
+
+ samplerate_lib=[`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`]
+
+ if test x$have_loadso != xyes && \
+ test x$enable_libsamplerate_shared = xyes; then
+ AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic libsamplerate loading])
+ fi
+ if test x$have_loadso = xyes && \
+ test x$enable_libsamplerate_shared = xyes && test x$samplerate_lib != x; then
+ echo "-- dynamic libsamplerate -> $samplerate_lib"
+ AC_DEFINE_UNQUOTED(SDL_LIBSAMPLERATE_DYNAMIC, "$samplerate_lib", [ ])
+ else
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lsamplerate"
+ fi
+ fi
+ fi
+}
+
dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
dnl Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
CheckVisibilityHidden()
fi
}
+dnl See if GCC's -Wdeclaration-after-statement is supported.
+dnl This lets us catch things that would fail on a C89 compiler when using
+dnl a modern GCC.
+CheckDeclarationAfterStatement()
+{
+ AC_MSG_CHECKING(for GCC -Wdeclaration-after-statement option)
+ have_gcc_declaration_after_statement=no
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$save_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
+ AC_TRY_COMPILE([
+ int x = 0;
+ ],[
+ ],[
+ have_gcc_declaration_after_statement=yes
+ ])
+ AC_MSG_RESULT($have_gcc_declaration_after_statement)
+ CFLAGS="$save_CFLAGS"
+
+ if test x$have_gcc_declaration_after_statement = xyes; then
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
+ fi
+}
+
dnl See if GCC's -Wall is supported.
CheckWarnAll()
{
if test x$PKG_CONFIG != xno && \
test x$video_opengl_egl = xyes && \
test x$video_opengles_v2 = xyes; then
- if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client ; then
+ if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client; then
WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
+ WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
+ WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
video_wayland=yes
fi
fi
if test x$enable_video_wayland_qt_touch = xyes; then
AC_DEFINE(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH, 1, [ ])
fi
+
+ WAYLAND_PROTOCOLS_UNSTABLE="relative-pointer-unstable-v1 pointer-constraints-unstable-v1 xdg-shell-unstable-v6"
+
SOURCES="$SOURCES $srcdir/src/video/wayland/*.c"
- EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS -I\$(gen)"
AC_ARG_ENABLE(wayland-shared,
AC_HELP_STRING([--enable-wayland-shared], [dynamically load Wayland support [[default=maybe]]]),
, enable_wayland_shared=maybe)
CheckTizen()
{
AC_ARG_ENABLE(video-tizen,
- AC_HELP_STRING([--enable-video-tizen], [use tizen video driver [[default=yes]]]),
+ AC_HELP_STRING([--enable-video-tizen], [use tizen video driver [[default=yes]]]),
,enable_video_tizen=yes)
if test x$enable_video = xyes -a x$enable_video_tizen = xyes; then
if test x$PKG_CONFIG != xno && \
test x$video_opengl_egl = xyes && \
test x$video_opengles_v2 = xyes; then
- if $PKG_CONFIG --exists wayland-client wayland-egl ecore ecore-wayland eina capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf; then
- TIZEN_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl ecore ecore-wayland eina capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf`
- TIZEN_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl ecore ecore-wayland eina capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf`
+ if $PKG_CONFIG --exists wayland-client wayland-egl wayland-egl-tizen ecore ecore-wl2 xdg-shell-client text-client tizen-extension-client eina elementary capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf libdrm ecore-ipc appcore-ui; then
+ TIZEN_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-egl-tizen ecore ecore-wl2 xdg-shell-client text-client tizen-extension-client eina elementary capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf libdrm aul ecore-ipc appcore-ui`
+ TIZEN_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-egl-tizen ecore ecore-wl2 xdg-shell-client text-client tizen-extension-client eina elementary capi-appfw-application capi-system-system-settings ecore-input dlog ecore-imf libdrm aul ecore-ipc appcore-ui`
video_tizen=yes
fi
fi
-
AC_MSG_RESULT($video_tizen)
if test x$video_tizen = xyes; then
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
SDL_LIBS="-lSDL2main $SDL_LIBS"
- EXTRA_CFLAGS="$EXTRA_CFLAGS $TIZEN_CFLAGS -DTIZEN"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS $TIZEN_LIBS"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $TIZEN_CFLAGS -DTIZEN -fstack-protector-strong -Wl,-z,relro -D_FORTIFY_SOURCE=2 -fPIE -pie"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $TIZEN_LIBS -pie -Wl,-z,relro,-z,now"
SUMMARY_video="${SUMMARY_video} tizen"
have_video=yes
fi
fi
+
+ if test x$enable_joystick = xyes; then
+ SUMMARY="${SUMMARY}SDL2 tizen joystick in:\n"
+ AC_DEFINE(SDL_JOYSTICK_TIZEN, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/joystick/tizen/*.c"
+ have_joystick=yes
+ fi
}
dnl Check for Mir
CheckMir()
{
AC_ARG_ENABLE(video-mir,
-AC_HELP_STRING([--enable-video-mir], [use Mir video driver [[default=yes]]]),
- ,enable_video_mir=yes)
+AC_HELP_STRING([--enable-video-mir], [use Mir video driver [[default=no]]]),
+ ,enable_video_mir=no)
if test x$enable_video = xyes -a x$enable_video_mir = xyes; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
save_CFLAGS="$CFLAGS"
CFLAGS="$save_CFLAGS $MIR_CFLAGS"
-
- dnl This will disable Mir on Ubuntu < 14.04
+
+ dnl This will disable Mir if >= v0.26 is not available
AC_TRY_COMPILE([
#include <mir_toolkit/mir_client_library.h>
],[
- MirMotionToolType tool = mir_motion_tool_type_mouse;
+ MirWindowAttrib attrib = mir_window_attrib_state
],[
video_mir=yes
])
#endif
],[
],[
- AC_DEFINE(SDL_VIDEO_DRIVER_NACL)
- AC_DEFINE(SDL_AUDIO_DRIVER_NACL)
+ AC_DEFINE(SDL_VIDEO_DRIVER_NACL, 1, [ ])
+ AC_DEFINE(SDL_AUDIO_DRIVER_NACL, 1, [ ])
AC_DEFINE(HAVE_POW, 1, [ ])
AC_DEFINE(HAVE_OPENGLES2, 1, [ ])
AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ])
}
-dnl Find the X11 include and library directories
-CheckX11()
+CheckRPI()
{
+ AC_ARG_ENABLE(video-rpi,
+AC_HELP_STRING([--enable-video-rpi], [use Raspberry Pi video driver [[default=yes]]]),
+ , enable_video_rpi=yes)
+ if test x$enable_video = xyes -a x$enable_video_rpi = xyes; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x$PKG_CONFIG != xno && $PKG_CONFIG --exists bcm_host; then
+ RPI_CFLAGS=`$PKG_CONFIG --cflags bcm_host brcmegl`
+ RPI_LDFLAGS=`$PKG_CONFIG --libs bcm_host brcmegl`
+ elif test x$ARCH = xnetbsd; then
+ RPI_CFLAGS="-I/usr/pkg/include -I/usr/pkg/include/interface/vcos/pthreads -I/usr/pkg/include/interface/vmcs_host/linux"
+ RPI_LDFLAGS="-Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lbcm_host"
+ else
+ RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
+ RPI_LDFLAGS="-Wl,-rpath,/opt/vc/lib -L/opt/vc/lib -lbcm_host"
+ fi
+
+ # Save the original compiler flags and libraries
+ ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
+ # Add the Raspberry Pi compiler flags and libraries
+ CFLAGS="$CFLAGS $RPI_CFLAGS"; LIBS="$LIBS $RPI_LDFLAGS"
+ AC_MSG_CHECKING(for Raspberry Pi)
+ have_video_rpi=no
+ AC_TRY_LINK([
+ #include <bcm_host.h>
+ ],[
+ bcm_host_init();
+ ],[
+ have_video_rpi=yes
+ ],[
+ ])
+ AC_MSG_RESULT($have_video_rpi)
+
+ # Restore the compiler flags and libraries
+ CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
+
+ if test x$have_video_rpi = xyes; then
+ CFLAGS="$CFLAGS $RPI_CFLAGS"
+ SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $RPI_LDFLAGS"
+ SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"
+ AC_DEFINE(SDL_VIDEO_DRIVER_RPI, 1, [ ])
+ SUMMARY_video="${SUMMARY_video} rpi"
+ fi
+ fi
+}
+
+dnl Find the X11 include and library directories
+CheckX11()
+{
AC_ARG_ENABLE(video-x11,
AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]),
, enable_video_x11=yes)
],[
],[
have_const_param_XextAddDisplay=yes
- AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY)
+ AC_DEFINE([SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY], 1, [ ])
])
AC_MSG_RESULT($have_const_param_XextAddDisplay)
XFreeEventData(display, cookie);
],[
have_XGenericEvent=yes
- AC_DEFINE(SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS)
+ AC_DEFINE([SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS], 1, [ ])
])
AC_MSG_RESULT($have_XGenericEvent)
XITouchClassInfo *t;
],[
have_xinput2_multitouch=yes
- AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH)
+ AC_DEFINE([SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH], 1, [])
SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
])
AC_MSG_RESULT($have_xinput2_multitouch)
, enable_video_cocoa=yes)
if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
save_CFLAGS="$CFLAGS"
- dnl work around that we don't have Objective-C support in autoconf
+ dnl Work around that we don't have Objective-C support in autoconf
CFLAGS="$CFLAGS -x objective-c"
AC_MSG_CHECKING(for Cocoa framework)
have_cocoa=no
fi
}
+CheckMETAL()
+{
+ AC_ARG_ENABLE(render-metal,
+AC_HELP_STRING([--enable-render-metal], [enable the Metal render driver [[default=yes]]]),
+ , enable_render_metal=yes)
+ if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
+ save_CFLAGS="$CFLAGS"
+ dnl Work around that we don't have Objective-C support in autoconf
+ CFLAGS="$CFLAGS -x objective-c"
+ AC_MSG_CHECKING(for Metal framework)
+ have_metal=no
+ AC_TRY_COMPILE([
+ #import <Cocoa/Cocoa.h>
+ #import <Metal/Metal.h>
+ #import <QuartzCore/CAMetalLayer.h>
+
+ #if !TARGET_CPU_X86_64
+ #error Metal doesn't work on this configuration
+ #endif
+ ],[
+ ],[
+ have_metal=yes
+ ])
+ CFLAGS="$save_CFLAGS"
+ AC_MSG_RESULT($have_metal)
+ if test x$have_metal = xyes; then
+ AC_DEFINE(SDL_VIDEO_RENDER_METAL, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/render/metal/*.m"
+ SUMMARY_video="${SUMMARY_video} metal"
+ else
+ enable_render_metal=no
+ fi
+ fi
+}
+
+
dnl Find DirectFB
CheckDirectFB()
{
, enable_directfb_shared=yes)
AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ])
- AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ])
SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"
AC_MSG_CHECKING(for directfb dynamic loading support)
directfb_shared=no
- directfb_lib=[`find_lib "libdirectfb.so.*" "$DIRECTFB_LIBS"`]
+ directfb_lib=[`find_lib "libdirectfb*.so.*" "$DIRECTFB_LIBS"`]
# | sed 's/.*\/\(.*\)/\1/; q'`]
AC_MSG_WARN("directfb $directfb_lib")
if test x$have_loadso != xyes && \
fi
}
-dnl Find FusionSound
-CheckFusionSound()
+dnl Find KMSDRM
+CheckKMSDRM()
{
- AC_ARG_ENABLE(fusionsound,
-AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]),
- , enable_fusionsound=no)
- if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
- fusionsound=no
+ AC_ARG_ENABLE(video-kmsdrm,
+AC_HELP_STRING([--enable-video-kmsdrm], [use KMSDRM video driver [[default=no]]]),
+ , enable_video_kmsdrm=no)
- FUSIONSOUND_REQUIRED_VERSION=1.1.1
+ if test x$enable_video = xyes -a x$enable_video_kmsdrm = xyes; then
+ video_kmsdrm=no
+ libdrm_avail=no
+ libgbm_avail=no
+
+ LIBDRM_REQUIRED_VERSION=2.4.46
+ LIBGBM_REQUIRED_VERSION=9.0.0
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
- AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support)
if test x$PKG_CONFIG != xno; then
- if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
- FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
- FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
- fusionsound=yes
- fi
- fi
- AC_MSG_RESULT($fusionsound)
-
- if test x$fusionsound = xyes; then
- AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
- EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
-
- AC_ARG_ENABLE(fusionsound-shared,
-AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]),
- , enable_fusionsound_shared=yes)
- fusionsound_shared=no
- AC_MSG_CHECKING(for FusionSound dynamic loading support)
- if test x$have_loadso != xyes && \
- test x$enable_fusionsound_shared = xyes; then
- AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading])
- fi
- if test x$have_loadso = xyes && \
- test x$enable_fusionsound_shared = xyes; then
- AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ])
- fusionsound_shared=yes
- SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
- else
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
- SUMMARY_audio="${SUMMARY_audio} fusionsound"
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.7; then
+ if $PKG_CONFIG --atleast-version $LIBDRM_REQUIRED_VERSION libdrm; then
+ LIBDRM_CFLAGS=`$PKG_CONFIG --cflags libdrm`
+ LIBDRM_LIBS=`$PKG_CONFIG --libs libdrm`
+ LIBDRM_PREFIX=`$PKG_CONFIG --variable=prefix libdrm`
+ libdrm_avail=yes
+ fi
+ if $PKG_CONFIG --atleast-version $LIBGBM_REQUIRED_VERSION gbm; then
+ LIBGBM_CFLAGS=`$PKG_CONFIG --cflags gbm`
+ LIBGBM_LIBS=`$PKG_CONFIG --libs gbm`
+ LIBGBM_PREFIX=`$PKG_CONFIG --variable=prefix gbm`
+ libgbm_avail=yes
+ fi
+ if test x$libdrm_avail = xyes -a x$libgbm_avail = xyes; then
+ video_kmsdrm=yes
+ fi
+
+ AC_MSG_CHECKING(for libdrm $LIBDRM_REQUIRED_VERSION library for kmsdrm support)
+ AC_MSG_RESULT($libdrm_avail)
+ AC_MSG_CHECKING(for libgbm $LIBGBM_REQUIRED_VERSION library for kmsdrm support)
+ AC_MSG_RESULT($libgbm_avail)
+
+ if test x$video_kmsdrm = xyes; then
+ AC_ARG_ENABLE(kmsdrm-shared,
+AC_HELP_STRING([--enable-kmsdrm-shared], [dynamically load kmsdrm support [[default=yes]]]),
+ , enable_kmsdrm_shared=yes)
+
+ AC_DEFINE(SDL_VIDEO_DRIVER_KMSDRM, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/video/kmsdrm/*.c"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $LIBDRM_CFLAGS $LIBGBM_CFLAGS"
+
+ AC_MSG_CHECKING(for kmsdrm dynamic loading support)
+ kmsdrm_shared=no
+ drm_lib=[`find_lib "libdrm.so.*" "$DRM_LIBS"`]
+ gbm_lib=[`find_lib "libgbm.so.*" "$DRM_LIBS"`]
+ if test x$have_loadso != xyes && \
+ test x$enable_kmsdrm_shared = xyes; then
+ AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic kmsdrm loading])
+ fi
+ if test x$have_loadso = xyes && \
+ test x$enable_kmsdrm_shared = xyes && test x$drm_lib != x && test x$gbm_lib != x; then
+ kmsdrm_shared=yes
+ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC, "$drm_lib", [ ])
+ AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM, "$gbm_lib", [ ])
+ AC_DEFINE_UNQUOTED(HAVE_KMSDRM_SHARED, "TRUE", [ ])
+ SUMMARY_video="${SUMMARY_video} kmsdrm(dynamic)"
+ else
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LIBDRM_LIBS $LIBGBM_LIBS"
+ SUMMARY_video="${SUMMARY_video} kmsdrm"
+ fi
+ AC_MSG_RESULT($kmsdrm_shared)
+ have_video=yes
+ fi
fi
- AC_MSG_RESULT($fusionsound_shared)
-
- have_audio=yes
fi
fi
}
fi
}
+dnl Set up the QNX video driver if enabled
+CheckQNXVideo()
+{
+ if test x$enable_video = xyes; then
+ AC_DEFINE(SDL_VIDEO_DRIVER_QNX, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/video/qnx/*.c"
+ have_video=yes
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lscreen -lEGL -lGLESv2"
+ SUMMARY_video="${SUMMARY_video} qnx"
+ fi
+}
+
+dnl Set up the QNX audio driver if enabled
+CheckQNXAudio()
+{
+ if test x$enable_audio = xyes; then
+ AC_DEFINE(SDL_AUDIO_DRIVER_QSA, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/qsa/*.c"
+ have_audio=yes
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound"
+ SUMMARY_audio="${SUMMARY_audio} qsa"
+ fi
+}
+
dnl Check to see if OpenGL support is desired
AC_ARG_ENABLE(video-opengl,
AC_HELP_STRING([--enable-video-opengl], [include OpenGL support [[default=yes]]]),
AC_ARG_ENABLE(video-opengles2,
AC_HELP_STRING([--enable-video-opengles2], [include OpenGL ES 2.0 support [[default=yes]]]),
, enable_video_opengles2=yes)
-AC_ARG_ENABLE(video-vulkan,
-AC_HELP_STRING([--enable-video-vulkan], [include Vulkan support [[default=yes]]]),
- , enable_video_vulkan=yes)
dnl Find OpenGL ES
fi
}
-dnl Check for Tizen Vulkan
-CheckVulkanTizen()
+dnl Check to see if Vulkan support is desired
+AC_ARG_ENABLE(video-vulkan,
+AC_HELP_STRING([--enable-video-vulkan], [include Vulkan support [[default=yes]]]),
+ , enable_video_vulkan=yes)
+
+dnl Find Vulkan Header
+CheckVulkan()
{
if test x$enable_video = xyes -a x$enable_video_vulkan = xyes; then
- AC_MSG_CHECKING(for Vulkan support)
- video_vulkan=no
- AC_TRY_COMPILE([
- #include <vulkan/vulkan.h>
- ],[
- ],[
- video_vulkan=yes
- ])
- AC_MSG_RESULT($video_vulkan)
- if test x$video_vulkan = xyes; then
- AC_DEFINE(SDL_VIDEO_VULKAN, 1, [ ])
- SUMMARY_video="${SUMMARY_video} vulkan"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvulkan"
+ case "$host" in
+ *-*-android*)
+ AC_TRY_COMPILE([
+ #if defined(__ARM_ARCH) && __ARM_ARCH < 7
+ #error Vulkan doesn't work on this configuration
+ #endif
+ ],[
+ ],[
+ ],[
+ enable_video_vulkan=no
+ ])
+ ;;
+ *-*-darwin*)
+ save_CFLAGS="$CFLAGS"
+ dnl Work around that we don't have Objective-C support in autoconf
+ CFLAGS="$CFLAGS -x objective-c"
+ AC_TRY_COMPILE([
+ #include <Cocoa/Cocoa.h>
+ #include <Metal/Metal.h>
+ #include <QuartzCore/CAMetalLayer.h>
+
+ #if !TARGET_CPU_X86_64
+ #error Vulkan doesn't work on this configuration
+ #endif
+ ],[
+ ],[
+ ],[
+ enable_video_vulkan=no
+ ])
+ CFLAGS="$save_CFLAGS"
+ ;;
+ *)
+ ;;
+ esac
+ if test x$enable_video_vulkan = xno; then
+ # For reasons I am totally unable to see, I get an undefined macro error if
+ # I put this in the AC_TRY_COMPILE.
+ AC_MSG_WARN([Vulkan does not work on this configuration.])
fi
fi
+ if test x$enable_video_vulkan = xyes; then
+ AC_DEFINE(SDL_VIDEO_VULKAN, 1, [ ])
+ SUMMARY_video="${SUMMARY_video} vulkan"
+ fi
}
dnl See if we can use the new unified event interface in Linux 2.4
have_libudev_h_hdr=no)
if test x$have_libudev_h_hdr = xyes; then
AC_DEFINE(HAVE_LIBUDEV_H, 1, [ ])
+
+ udev_lib=[`find_lib "libudev.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`]
+ if test x$udev_lib != x; then
+ echo "-- dynamic udev -> $udev_lib"
+ AC_DEFINE_UNQUOTED(SDL_UDEV_DYNAMIC, "$udev_lib", [ ])
+ fi
fi
fi
}
fi
}
+dnl See if the platform wanna IME support.
+CheckIME()
+{
+ AC_ARG_ENABLE(ime,
+AC_HELP_STRING([--enable-ime], [enable IME support [[default=yes]]]),
+ , enable_ime=yes)
+ if test x$enable_ime = xyes; then
+ AC_DEFINE(SDL_USE_IME, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ime.c"
+ fi
+}
+
dnl See if the platform has libibus IME support.
CheckIBus()
{
have_inotify_inotify_h_hdr=no)
CFLAGS="$save_CFLAGS"
if test x$have_ibus_ibus_h_hdr = xyes; then
- if test x$enable_dbus != xyes; then
+ if test x$enable_ime != xyes; then
+ AC_MSG_WARN([IME support is required for IBus.])
+ have_ibus_ibus_h_hdr=no
+ elif test x$enable_dbus != xyes; then
AC_MSG_WARN([DBus support is required for IBus.])
have_ibus_ibus_h_hdr=no
elif test x$have_inotify_inotify_h_hdr != xyes; then
fi
}
+dnl See if the platform has fcitx IME support.
+CheckFcitx()
+{
+ AC_ARG_ENABLE(fcitx,
+AC_HELP_STRING([--enable-fcitx], [enable fcitx support [[default=yes]]]),
+ , enable_fcitx=yes)
+ if test x$enable_fcitx = xyes; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x$PKG_CONFIG != xno; then
+ FCITX_CFLAGS=`$PKG_CONFIG --cflags fcitx`
+ CFLAGS="$CFLAGS $FCITX_CFLAGS"
+ AC_CHECK_HEADER(fcitx/frontend.h,
+ have_fcitx_frontend_h_hdr=yes,
+ have_fcitx_frontend_h_hdr=no)
+ CFLAGS="$save_CFLAGS"
+ if test x$have_fcitx_frontend_h_hdr = xyes; then
+ if test x$enable_ime != xyes; then
+ AC_MSG_WARN([IME support is required for fcitx.])
+ have_fcitx_frontend_h_hdr=no
+ elif test x$enable_dbus != xyes; then
+ AC_MSG_WARN([DBus support is required for fcitx.])
+ have_fcitx_frontend_h_hdr=no
+ else
+ AC_DEFINE(HAVE_FCITX_FRONTEND_H, 1, [ ])
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $FCITX_CFLAGS"
+ SOURCES="$SOURCES $srcdir/src/core/linux/SDL_fcitx.c"
+ fi
+ fi
+ fi
+ fi
+}
+
dnl See if we can use the Touchscreen input library
CheckTslib()
{
AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
, enable_pthread_sem=yes)
case "$host" in
- *-*-androideabi*)
+ *-*-android*)
pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
pthread_lib=""
;;
pthread_cflags="-D_REENTRANT"
pthread_lib=""
;;
+ *-*-nto*)
+ pthread_cflags="-D_REENTRANT"
+ pthread_lib=""
+ ;;
*)
pthread_cflags="-D_REENTRANT"
pthread_lib="-lpthread"
sem_timedwait(NULL, NULL);
],[
have_sem_timedwait=yes
- AC_DEFINE(HAVE_SEM_TIMEDWAIT)
+ AC_DEFINE([HAVE_SEM_TIMEDWAIT], 1, [ ])
])
AC_MSG_RESULT($have_sem_timedwait)
fi
AC_CHECK_HEADER(dsound.h, have_dsound=yes)
AC_CHECK_HEADER(dinput.h, have_dinput=yes)
AC_CHECK_HEADER(dxgi.h, have_dxgi=yes)
- AC_CHECK_HEADER(xaudio2.h, have_xaudio2=yes)
AC_CHECK_HEADER(xinput.h, have_xinput=yes)
+ AC_CHECK_HEADER(mmdeviceapi.h, have_wasapi=yes)
+ AC_CHECK_HEADER(audioclient.h,,have_wasapi=no)
+ AC_TRY_COMPILE([
+#include <windows.h>
+#include <xinput.h>
+XINPUT_GAMEPAD_EX x1;
+ ],[],[have_xinput_gamepadex=yes])
+ AC_TRY_COMPILE([
+#include <windows.h>
+#include <xinput.h>
+XINPUT_STATE_EX s1;
+ ],[],[have_xinput_stateex=yes])
if test x$have_ddraw = xyes; then
AC_DEFINE(HAVE_DDRAW_H, 1, [ ])
if test x$have_xinput = xyes; then
AC_DEFINE(HAVE_XINPUT_H, 1, [ ])
fi
+ if test x$have_xinput_gamepadex = xyes; then
+ AC_DEFINE(HAVE_XINPUT_GAMEPAD_EX, 1, [ ])
+ fi
+ if test x$have_xinput_stateex = xyes; then
+ AC_DEFINE(HAVE_XINPUT_STATE_EX, 1, [ ])
+ fi
SUMMARY_video="${SUMMARY_video} directx"
SUMMARY_audio="${SUMMARY_audio} directx"
, enable_rpath=yes)
}
+dnl Do this on all platforms, before everything else (other things might want to override it).
+CheckWarnAll
+
dnl Set up the configuration based on the host platform!
case "$host" in
- *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
+ *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*|*-*-nto*)
case "$host" in
- *-raspberry-linux*)
- # Raspberry Pi
- ARCH=linux
- RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
- CFLAGS="$CFLAGS $RPI_CFLAGS"
- SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS"
- EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L/opt/vc/lib -lbcm_host -ldl"
-
- if test x$enable_video = xyes; then
- SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"
- # FIXME: confdefs? Not AC_DEFINE?
- $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h
- SUMMARY_video="${SUMMARY_video} rpi"
- fi
- ;;
- *-*-androideabi*)
+ *-*-android*)
# Android
ARCH=android
ANDROID_CFLAGS="-DGL_GLEXT_PROTOTYPES"
SDL_CFLAGS="$SDL_CFLAGS $ANDROID_CFLAGS"
EXTRA_CFLAGS="$EXTRA_CFLAGS $ANDROID_CFLAGS"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl -lGLESv1_CM -lGLESv2 -llog -landroid"
+ SDLMAIN_SOURCES="$srcdir/src/main/android/*.c"
if test x$enable_video = xyes; then
SOURCES="$SOURCES $srcdir/src/core/android/*.c $srcdir/src/video/android/*.c"
*-*-bsdi*) ARCH=bsdi ;;
*-*-freebsd*) ARCH=freebsd ;;
*-*-dragonfly*) ARCH=freebsd ;;
- *-raspberry-netbsd*)
- # Raspberry Pi
- ARCH=netbsd
- RPI_CFLAGS="-I/usr/pkg/include -I/usr/pkg/include/interface/vcos/pthreads -I/usr/pkg/include/interface/vmcs_host/linux"
- CFLAGS="$CFLAGS $RPI_CFLAGS"
- SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS"
- EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lbcm_host -ldl"
-
- if test x$enable_video = xyes; then
- SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"
- $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h
- SUMMARY_video="${SUMMARY_video} raspberry"
- fi
- ;;
*-*-netbsd*) ARCH=netbsd ;;
*-*-openbsd*) ARCH=openbsd ;;
*-*-sysv5*) ARCH=sysv5 ;;
*-*-hpux*) ARCH=hpux ;;
*-*-aix*) ARCH=aix ;;
*-*-minix*) ARCH=minix ;;
+ *-*-nto*) ARCH=nto
+ CheckQNXVideo
+ ;;
esac
CheckVisibilityHidden
+ CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
CheckOSS
CheckALSA
CheckPulseAudio
+ CheckJACK
CheckARTSC
CheckESD
CheckNAS
CheckSNDIO
+ CheckFusionSound
+ CheckLibSampleRate
+ # Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
+ CheckRPI
CheckX11
CheckDirectFB
- CheckFusionSound
+ CheckKMSDRM
CheckOpenGLX11
CheckOpenGLESX11
- CheckVulkanTizen
+ CheckVulkan
CheckMir
CheckWayland
CheckTizen
CheckLibUDev
CheckDBus
+ CheckIME
CheckIBus
+ CheckFcitx
case $ARCH in
linux)
CheckInputEvents
CheckLinuxVersion
CheckRPATH
CheckVivanteVideo
+
# Set up files for the audio library
if test x$enable_audio = xyes; then
case $ARCH in
sysv5|solaris|hpux)
AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
+ SUMMARY_audio="${SUMMARY_audio} sun"
have_audio=yes
;;
netbsd) # Don't use this on OpenBSD, it's busted.
- AC_DEFINE(SDL_AUDIO_DRIVER_BSD, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
+ AC_DEFINE(SDL_AUDIO_DRIVER_NETBSD, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/netbsd/*.c"
+ SUMMARY_audio="${SUMMARY_audio} netbsd"
have_audio=yes
;;
aix)
AC_DEFINE(SDL_AUDIO_DRIVER_PAUDIO, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
+ SUMMARY_audio="${SUMMARY_audio} paudio"
have_audio=yes
;;
android)
SUMMARY_audio="${SUMMARY_audio} android"
have_audio=yes
;;
+ nto)
+ CheckQNXAudio
+ ;;
esac
fi
# Set up files for the joystick library
linux)
AC_DEFINE(SDL_JOYSTICK_LINUX, 1, [ ])
SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
+ SOURCES="$SOURCES $srcdir/src/joystick/steam/*.c"
have_joystick=yes
;;
android)
AC_DEFINE(SDL_JOYSTICK_ANDROID, 1, [ ])
SOURCES="$SOURCES $srcdir/src/joystick/android/*.c"
+ SOURCES="$SOURCES $srcdir/src/joystick/steam/*.c"
have_joystick=yes
;;
esac
fi
# Set up files for the haptic library
if test x$enable_haptic = xyes; then
- if test x$use_input_events = xyes; then
- case $ARCH in
- linux)
- AC_DEFINE(SDL_HAPTIC_LINUX, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/haptic/linux/*.c"
- have_haptic=yes
- ;;
- esac
- fi
+ case $ARCH in
+ linux)
+ if test x$use_input_events = xyes; then
+ AC_DEFINE(SDL_HAPTIC_LINUX, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/haptic/linux/*.c"
+ have_haptic=yes
+ fi
+ ;;
+ android)
+ AC_DEFINE(SDL_HAPTIC_ANDROID, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/haptic/android/*.c"
+ have_haptic=yes
+ ;;
+ esac
fi
# Set up files for the power library
if test x$enable_power = xyes; then
fi
# Set up files for evdev input
if test x$use_input_events = xyes; then
- SOURCES="$SOURCES $srcdir/src/core/linux/SDL_evdev.c"
+ SOURCES="$SOURCES $srcdir/src/core/linux/SDL_evdev*.c"
fi
+ # Set up other core UNIX files
+ SOURCES="$SOURCES $srcdir/src/core/unix/*.c"
;;
*-*-cygwin* | *-*-mingw32*)
ARCH=win32
ac_default_prefix=$BUILD_PREFIX
fi
fi
+ CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
CheckWINDOWS
CheckWINDOWSGL
CheckWINDOWSGLES
+ CheckVulkan
CheckDIRECTX
# Set up the core platform files
AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/directsound/*.c"
fi
- if test x$have_xaudio2 = xyes; then
- AC_DEFINE(SDL_AUDIO_DRIVER_XAUDIO2, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c"
+ if test x$have_wasapi = xyes; then
+ AC_DEFINE(SDL_AUDIO_DRIVER_WASAPI, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/wasapi/*.c"
fi
have_audio=yes
fi
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
+ CheckDLOPEN
CheckHaikuVideo
CheckHaikuGL
CheckPTHREAD
if test x$enable_audio = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_HAIKU, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/haiku/*.cc"
+ SUMMARY_audio="${SUMMARY_audio} haiku"
have_audio=yes
fi
# Set up files for the joystick library
SOURCES="$SOURCES $srcdir/src/timer/haiku/*.c"
have_timers=yes
fi
- # Set up files for the shared object loading library
- if test x$enable_loadso = xyes; then
- AC_DEFINE(SDL_LOADSO_HAIKU, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/loadso/haiku/*.c"
- have_loadso=yes
- fi
# Set up files for the system power library
if test x$enable_power = xyes; then
AC_DEFINE(SDL_POWER_HAIKU, 1, [ ])
# The Haiku platform requires special setup.
SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
+ # Haiku's x86 spins use libstdc++.r4.so (for binary compat?), but
+ # other spins, like x86-64, use a more standard "libstdc++.so.*"
+ AC_CHECK_FILE("/boot/system/lib/libstdc++.r4.so", EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++.r4", EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++")
;;
- arm*-apple-darwin*)
- # iOS - We are not writing anything to confdefs.h because you have to replace
- # SDL_config.h for SDL_config_iphoneos.h anyway
+ arm*-apple-darwin*|*-ios-*)
ARCH=ios
CheckVisibilityHidden
+ CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
CheckDLOPEN
- CheckCOCOA
+ CheckMETAL
+ CheckVulkan
CheckPTHREAD
-
# Set up files for the audio library
if test x$enable_audio = xyes; then
- SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"
+ AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
SUMMARY_audio="${SUMMARY_audio} coreaudio"
have_audio=yes
fi
# Set up files for the joystick library
if test x$enable_joystick = xyes; then
+ AC_DEFINE(SDL_JOYSTICK_MFI, 1, [ ])
SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
+ SOURCES="$SOURCES $srcdir/src/joystick/steam/*.c"
have_joystick=yes
fi
# Set up files for the haptic library
#fi
# Set up files for the power library
if test x$enable_power = xyes; then
+ AC_DEFINE(SDL_POWER_UIKIT, 1, [ ])
SOURCES="$SOURCES $srcdir/src/power/uikit/*.m"
have_power=yes
fi
SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m"
have_filesystem=yes
fi
+ # Set up additional files for the file library
+ if test x$enable_file = xyes; then
+ AC_DEFINE(SDL_FILESYSTEM_COCOA, 1, [ ])
+ SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m"
+ fi
# Set up files for the timer library
if test x$enable_timers = xyes; then
+ AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
have_timers=yes
fi
- # Set up additional files for the file library
- if test x$enable_file = xyes; then
- SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m"
- fi
+ # Set up other core UNIX files
+ SOURCES="$SOURCES $srcdir/src/core/unix/*.c"
# The iOS platform requires special setup.
+ AC_DEFINE(SDL_VIDEO_DRIVER_UIKIT, 1, [ ])
+ AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ])
+ AC_DEFINE(SDL_VIDEO_OPENGL_ES, 1, [ ])
+ AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES, 1, [ ])
+ AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES2, 1, [ ])
SOURCES="$SOURCES $srcdir/src/video/uikit/*.m"
- EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm -liconv -lobjc"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AVFoundation"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreGraphics"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreMotion"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,GameController"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit"
+
+ if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Metal"
+ fi
;;
*-*-darwin* )
# This could be either full "Mac OS X", or plain "Darwin" which is
EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
CheckVisibilityHidden
+ CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
CheckDLOPEN
CheckCOCOA
+ CheckMETAL
CheckX11
CheckMacGL
CheckOpenGLX11
+ CheckVulkan
CheckPTHREAD
# Set up files for the audio library
if test x$enable_audio = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ])
- SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"
+ SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox"
SUMMARY_audio="${SUMMARY_audio} coreaudio"
have_audio=yes
fi
if test x$enable_haptic = xyes; then
AC_DEFINE(SDL_HAPTIC_IOKIT, 1, [ ])
SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"
- have_haptic=yes
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"
+ have_haptic=yes
fi
# Set up files for the power library
if test x$enable_power = xyes; then
if test x$enable_file = xyes; then
SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m"
fi
+ # Set up other core UNIX files
+ SOURCES="$SOURCES $srcdir/src/core/unix/*.c"
# The Mac OS X platform requires special setup.
- EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreVideo"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
- # If audio is used, add the AudioUnit framework
- if test x$enable_audio = xyes; then
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
+
+ if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,QuartzCore -Wl,-weak_framework,Metal"
fi
;;
*-nacl|*-pnacl)
# Set up files for the timer library
if test x$enable_timers = xyes; then
- AC_DEFINE(SDL_TIMER_UNIX)
+ AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
have_timers=yes
fi
fi
CheckVisibilityHidden
+ CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
;;
esac
-dnl Do this on all platforms, after everything else.
-CheckWarnAll
-
# Verify that we have all the platform specific files we need
if test x$have_joystick != xyes; then
fi
SDLTEST_SOURCES="$srcdir/src/test/*.c"
+if test x$video_wayland = xyes; then
+ WAYLAND_CORE_PROTOCOL_SOURCE='$(gen)/wayland-protocol.c'
+ WAYLAND_CORE_PROTOCOL_HEADER='$(gen)/wayland-client-protocol.h'
+ WAYLAND_PROTOCOLS_UNSTABLE_SOURCES=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
+ sed 's,[[^ ]]\+,\\$(gen)/&-protocol.c,g'`
+ WAYLAND_PROTOCOLS_UNSTABLE_HEADERS=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
+ sed 's,[[^ ]]\+,\\$(gen)/&-client-protocol.h,g'`
+ GEN_SOURCES="$GEN_SOURCES $WAYLAND_CORE_PROTOCOL_SOURCE $WAYLAND_PROTOCOLS_UNSTABLE_SOURCES"
+ GEN_HEADERS="$GEN_HEADERS $WAYLAND_CORE_PROTOCOL_HEADER $WAYLAND_PROTOCOLS_UNSTABLE_HEADERS"
+
+ WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS="
+$WAYLAND_CORE_PROTOCOL_SOURCE: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
+ \$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
+ \$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) code \$< \$@"
+
+ WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS="
+$WAYLAND_CORE_PROTOCOL_HEADER: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
+ \$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
+ \$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) client-header \$< \$@"
+
+ WAYLAND_CORE_PROTOCOL_OBJECT="
+\$(objects)/`echo $WAYLAND_CORE_PROTOCOL_SOURCE | sed 's/\$(gen)\/\(.*\).c$/\1.lo/'`: $WAYLAND_CORE_PROTOCOL_SOURCE
+ \$(RUN_CMD_CC)\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \$< -o \$@"
+
+ WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
+ do echo ; echo \$p | sed\
+ "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\$(gen)/&-client-protocol.h: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
+ \\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
+ \\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) client-header \\$< \\$@," ; done`
+
+ WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
+ do echo ; echo \$p | sed\
+ "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\$(gen)/&-protocol.c: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
+ \\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
+ \\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) code \\$< \\$@," ; done`
+
+ WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
+ do echo ; echo \$p | sed\
+ "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\\$(objects)/&-protocol.lo: \\$(gen)/&-protocol.c \\$(gen)/&-client-protocol.h\\\\
+ \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@," ; done`
+
+ WAYLAND_PROTOCOLS_DEPENDS="
+$WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS
+$WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS
+$WAYLAND_CORE_PROTOCOL_OBJECT
+$WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS
+$WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS
+$WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE
+"
+fi
+
OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done
+GEN_OBJECTS=`echo "$GEN_SOURCES" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
+
VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
-SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
+SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
-\\$(objects)/\\2.o: \\1/\\2.c\\\\
+\\$(objects)/\\2.lo: \\1/\\2.c\\\\
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES`
SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES`
-SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
+SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
-\\$(objects)/\\2.o: \\1/\\2.c\\\\
+\\$(objects)/\\2.lo: \\1/\\2.c\\\\
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
# Set runtime shared library paths as needed
if test "x$enable_rpath" = "xyes"; then
if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"
+
+ AC_MSG_CHECKING(for linker option --enable-new-dtags)
+ have_enable_new_dtags=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags"
+ AC_TRY_LINK([
+ ],[
+ ],[
+ have_enable_new_dtags=yes
+ SDL_RLD_FLAGS="$SDL_RLD_FLAGS -Wl,--enable-new-dtags"
+ ])
+ LDFLAGS="$save_LDFLAGS"
+ AC_MSG_RESULT($have_enable_new_dtags)
fi
if test $ARCH = solaris; then
SDL_RLD_FLAGS="-R\${libdir}"
AC_SUBST(ac_aux_dir)
AC_SUBST(INCLUDE)
AC_SUBST(OBJECTS)
+AC_SUBST(GEN_HEADERS)
+AC_SUBST(GEN_OBJECTS)
AC_SUBST(VERSION_OBJECTS)
AC_SUBST(SDLMAIN_OBJECTS)
AC_SUBST(SDLTEST_OBJECTS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
AC_SUBST(WINDRES)
+AC_SUBST(WAYLAND_SCANNER)
cat >Makefile.rules <<__EOF__
$VERSION_DEPENDS
$SDLMAIN_DEPENDS
$SDLTEST_DEPENDS
+$WAYLAND_PROTOCOLS_DEPENDS
__EOF__
AC_CONFIG_FILES([
])
AC_CONFIG_COMMANDS([sdl2_config],[chmod a+x sdl2-config])
-SUMMARY="SDL2 Configure Summary:\n"
+SUMMARY="${SUMMARY}SDL2 Configure Summary:\n"
if test x$enable_shared = xyes; then
SUMMARY="${SUMMARY}Building Shared Libraries\n"
fi
SUMMARY="${SUMMARY}X11 libraries :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers :${SUMMARY_input}\n"
-if test x$enable_libudev = xyes; then
- SUMMARY="${SUMMARY}Using libudev : YES\n"
+if test x$have_samplerate_h_hdr = xyes; then
+ SUMMARY="${SUMMARY}Using libsamplerate : YES\n"
else
- SUMMARY="${SUMMARY}Using libudev : NO\n"
+ SUMMARY="${SUMMARY}Using libsamplerate : NO\n"
+fi
+if test x$have_libudev_h_hdr = xyes; then
+ SUMMARY="${SUMMARY}Using libudev : YES\n"
+else
+ SUMMARY="${SUMMARY}Using libudev : NO\n"
fi
if test x$have_dbus_dbus_h_hdr = xyes; then
- SUMMARY="${SUMMARY}Using dbus : YES\n"
+ SUMMARY="${SUMMARY}Using dbus : YES\n"
+else
+ SUMMARY="${SUMMARY}Using dbus : NO\n"
+fi
+if test x$enable_ime = xyes; then
+ SUMMARY="${SUMMARY}Using ime : YES\n"
else
- SUMMARY="${SUMMARY}Using dbus : NO\n"
+ SUMMARY="${SUMMARY}Using ime : NO\n"
fi
if test x$have_ibus_ibus_h_hdr = xyes; then
- SUMMARY="${SUMMARY}Using ibus : YES\n"
+ SUMMARY="${SUMMARY}Using ibus : YES\n"
+else
+ SUMMARY="${SUMMARY}Using ibus : NO\n"
+fi
+if test x$have_fcitx_frontend_h_hdr = xyes; then
+ SUMMARY="${SUMMARY}Using fcitx : YES\n"
else
- SUMMARY="${SUMMARY}Using ibus : NO\n"
+ SUMMARY="${SUMMARY}Using fcitx : NO\n"
fi
AC_CONFIG_COMMANDS([summary], [echo -en "$SUMMARY"], [SUMMARY="$SUMMARY"])