2010-12-30 01:52:02 +00:00
|
|
|
. qb/qb.libs.sh
|
|
|
|
|
|
|
|
check_switch_c C99 -std=gnu99
|
|
|
|
check_critical C99 "Cannot find C99 compatible compiler."
|
|
|
|
|
2011-08-24 14:12:38 +00:00
|
|
|
# There are still broken 64-bit Linux distros out there. :)
|
|
|
|
if [ -d /usr/lib64 ]; then
|
|
|
|
add_library_dirs /usr/lib64
|
|
|
|
fi
|
|
|
|
|
2011-09-02 17:50:51 +00:00
|
|
|
if [ -d /opt/local/lib ]; then
|
|
|
|
add_library_dirs /opt/local/lib
|
2011-09-02 14:12:34 +00:00
|
|
|
fi
|
|
|
|
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ $OS = BSD ]; then
|
2011-06-16 20:47:37 +00:00
|
|
|
DYLIB=-lc
|
|
|
|
else
|
|
|
|
DYLIB=-ldl
|
|
|
|
fi
|
|
|
|
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ -z "$LIBSNES" ]; then
|
|
|
|
LIBSNES="-lsnes"
|
|
|
|
else
|
|
|
|
echo "Explicit libsnes used, disabling dynamic libsnes loading ..."
|
|
|
|
HAVE_DYNAMIC=no
|
|
|
|
fi
|
|
|
|
|
2010-12-30 13:27:55 +00:00
|
|
|
if [ $HAVE_DYNAMIC != yes ]; then
|
2011-06-16 20:47:37 +00:00
|
|
|
check_lib_cxx SNES $LIBSNES snes_init $DYLIB
|
2010-12-30 13:27:55 +00:00
|
|
|
check_critical SNES "Cannot find libsnes."
|
|
|
|
add_define_make libsnes $LIBSNES
|
|
|
|
fi
|
2010-12-30 01:52:02 +00:00
|
|
|
|
2011-11-30 16:46:58 +00:00
|
|
|
check_lib THREADS -lpthread pthread_create
|
2011-06-16 20:47:37 +00:00
|
|
|
check_lib DYLIB $DYLIB dlopen
|
2012-01-24 20:00:30 +00:00
|
|
|
|
2011-03-19 19:41:07 +00:00
|
|
|
check_lib NETPLAY -lc socket
|
2012-01-24 20:00:30 +00:00
|
|
|
if [ $HAVE_NETPLAY = yes ]; then
|
|
|
|
HAVE_GETADDRINFO=auto
|
|
|
|
check_lib GETADDRINFO -lc getaddrinfo
|
|
|
|
if [ $HAVE_GETADDRINFO = yes ]; then
|
|
|
|
HAVE_SOCKET_LEGACY=no
|
|
|
|
else
|
|
|
|
HAVE_SOCKET_LEGACY=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2011-11-30 10:48:53 +00:00
|
|
|
check_lib GETOPT_LONG -lc getopt_long
|
2011-03-07 19:22:55 +00:00
|
|
|
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ $HAVE_DYLIB = no ] && [ $HAVE_DYNAMIC = yes ]; then
|
|
|
|
echo "Dynamic loading of libsnes is enabled, but your platform does not appear to have dlopen(), use --disable-dynamic or --with-libsnes=\"-lsnes\"".
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2011-06-25 15:15:58 +00:00
|
|
|
check_pkgconf ALSA alsa
|
2010-12-30 01:52:02 +00:00
|
|
|
check_header OSS sys/soundcard.h
|
2011-06-16 21:20:12 +00:00
|
|
|
check_header OSS_BSD soundcard.h
|
|
|
|
check_lib OSS_LIB -lossaudio
|
|
|
|
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ $OS = Darwin ]; then
|
2011-02-04 13:42:26 +00:00
|
|
|
check_lib AL "-framework OpenAL" alcOpenDevice
|
|
|
|
else
|
|
|
|
check_lib AL -lopenal alcOpenDevice
|
|
|
|
fi
|
|
|
|
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ $OS = Darwin ]; then
|
2011-03-23 22:48:13 +00:00
|
|
|
check_lib FBO "-framework OpenGL" glFramebufferTexture2D
|
|
|
|
else
|
|
|
|
check_lib FBO -lGL glFramebufferTexture2D
|
|
|
|
fi
|
|
|
|
|
2011-02-06 22:55:17 +00:00
|
|
|
check_pkgconf RSOUND rsound 1.1
|
2011-06-25 15:15:58 +00:00
|
|
|
check_pkgconf ROAR libroar
|
2011-03-13 17:09:27 +00:00
|
|
|
check_pkgconf JACK jack 0.120.1
|
2011-01-29 00:15:09 +00:00
|
|
|
check_pkgconf PULSE libpulse
|
2010-12-30 01:52:02 +00:00
|
|
|
|
2011-08-08 15:27:52 +00:00
|
|
|
check_lib COREAUDIO "-framework AudioUnit" AudioUnitInitialize
|
|
|
|
|
2011-01-06 19:29:04 +00:00
|
|
|
check_pkgconf SDL sdl 1.2.10
|
2011-09-13 12:06:49 +00:00
|
|
|
check_critical SDL "Cannot find SDL library."
|
2010-12-30 01:52:02 +00:00
|
|
|
|
2011-08-25 07:49:32 +00:00
|
|
|
# On some distros, -lCg doesn't link against -lstdc++ it seems ...
|
2011-11-01 17:24:43 +00:00
|
|
|
if [ $HAVE_OPENGL != no ]; then
|
|
|
|
check_lib_cxx CG -lCg cgCreateContext
|
|
|
|
else
|
2011-11-02 15:50:34 +00:00
|
|
|
echo "Ignoring Cg. OpenGL is not enabled."
|
2011-11-01 17:24:43 +00:00
|
|
|
HAVE_CG=no
|
|
|
|
fi
|
2011-08-24 14:12:38 +00:00
|
|
|
|
2011-01-05 16:42:58 +00:00
|
|
|
check_pkgconf XML libxml-2.0
|
2011-06-11 14:55:53 +00:00
|
|
|
check_pkgconf SDL_IMAGE SDL_image
|
2010-12-30 02:02:30 +00:00
|
|
|
|
2011-11-30 16:46:58 +00:00
|
|
|
if [ $HAVE_THREADS != no ]; then
|
|
|
|
if [ $HAVE_FFMPEG != no ]; then
|
|
|
|
check_pkgconf AVCODEC libavcodec
|
|
|
|
check_pkgconf AVFORMAT libavformat
|
|
|
|
check_pkgconf AVUTIL libavutil
|
|
|
|
check_pkgconf SWSCALE libswscale
|
|
|
|
|
|
|
|
( [ $HAVE_FFMPEG = auto ] && ( [ $HAVE_AVCODEC = no ] || [ $HAVE_AVFORMAT = no ] || [ $HAVE_AVUTIL = no ] || [ $HAVE_SWSCALE = no ] ) && HAVE_FFMPEG=no ) || HAVE_FFMPEG=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $HAVE_FFMPEG = yes ]; then
|
|
|
|
check_lib FFMPEG_ALLOC_CONTEXT3 "$AVCODEC_LIBS" avcodec_alloc_context3
|
|
|
|
check_lib FFMPEG_AVCODEC_OPEN2 "$AVCODEC_LIBS" avcodec_open2
|
|
|
|
check_lib FFMPEG_AVIO_OPEN "$AVFORMAT_LIBS" avio_open
|
|
|
|
check_lib FFMPEG_AVFORMAT_WRITE_HEADER "$AVFORMAT_LIBS" avformat_write_header
|
|
|
|
check_lib FFMPEG_AVFORMAT_NEW_STREAM "$AVFORMAT_LIBS" avformat_new_stream
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $HAVE_FFMPEG = no ] && [ $HAVE_X264RGB = yes ]; then
|
|
|
|
echo "x264 RGB recording is enabled, but FFmpeg is not. --enable-x264rgb will not have any effect."
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "Not building with threading support. Will skip FFmpeg."
|
|
|
|
HAVE_FFMPEG=no
|
2011-11-02 15:54:45 +00:00
|
|
|
fi
|
|
|
|
|
2011-06-16 20:47:37 +00:00
|
|
|
check_lib DYNAMIC $DYLIB dlopen
|
2010-12-30 12:54:49 +00:00
|
|
|
|
2011-01-22 23:27:20 +00:00
|
|
|
check_pkgconf FREETYPE freetype2
|
2011-10-23 10:48:44 +00:00
|
|
|
check_pkgconf X11 x11
|
|
|
|
check_pkgconf XEXT xext
|
2011-11-02 15:50:34 +00:00
|
|
|
if [ $HAVE_X11 = yes ] && [ $HAVE_XEXT = yes ]; then
|
2011-10-23 10:48:44 +00:00
|
|
|
check_pkgconf XVIDEO xv
|
|
|
|
else
|
|
|
|
echo "X11 or Xext not present. Skipping XVideo."
|
|
|
|
HAVE_XVIDEO=no
|
|
|
|
fi
|
2011-01-22 23:27:20 +00:00
|
|
|
|
2011-04-03 20:16:59 +00:00
|
|
|
check_lib STRL -lc strlcpy
|
|
|
|
|
2011-06-06 15:44:05 +00:00
|
|
|
check_pkgconf PYTHON python3
|
|
|
|
|
2011-06-25 15:22:47 +00:00
|
|
|
add_define_make OS $OS
|
|
|
|
|
2011-01-05 18:51:19 +00:00
|
|
|
# Creates config.mk and config.h.
|
2012-01-24 20:00:30 +00:00
|
|
|
VARS="ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL OPENGL DYLIB GETOPT_LONG THREADS CG XML SDL_IMAGE DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE CONFIGFILE FREETYPE XVIDEO X11 XEXT NETPLAY SOCKET_LEGACY FBO STRL PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM X264RGB"
|
2010-12-30 01:52:02 +00:00
|
|
|
create_config_make config.mk $VARS
|
|
|
|
create_config_header config.h $VARS
|
|
|
|
|