2010-12-30 02:52:02 +01:00
. qb/qb.libs.sh
check_switch_c C99 -std= gnu99
check_critical C99 "Cannot find C99 compatible compiler."
2012-05-01 23:00:37 +02:00
check_switch_c NOUNUSED -Wno-unused-result
add_define_make NOUNUSED $HAVE_NOUNUSED
2011-08-24 16:12:38 +02: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 20:50:51 +03:00
if [ -d /opt/local/lib ] ; then
add_library_dirs /opt/local/lib
2011-09-02 16:12:34 +02:00
fi
2012-05-23 02:31:29 -04:00
if [ -d /opt/vc/lib ] ; then
add_library_dirs /opt/vc/lib
add_include_dirs /opt/vc/include
# the gles library gets messed up with the gl library if available, so turn it off
HAVE_OPENGL = no
HAVE_RPI = yes
else
HAVE_RPI = no
fi
2012-06-02 22:05:14 +02:00
if [ " $OS " = BSD ] ; then
2011-06-16 22:47:37 +02:00
DYLIB = -lc
else
DYLIB = -ldl
fi
2012-04-03 19:25:53 +02:00
if [ -z " $LIBRETRO " ] ; then
LIBRETRO = "-lretro"
2011-11-02 16:50:34 +01:00
else
echo "Explicit libsnes used, disabling dynamic libsnes loading ..."
HAVE_DYNAMIC = no
fi
2012-06-02 22:05:14 +02:00
if [ " $HAVE_DYNAMIC " != yes ] ; then
2012-04-03 19:25:53 +02:00
check_lib_cxx RETRO $LIBRETRO retro_init $DYLIB
check_critical RETRO "Cannot find libretro."
add_define_make libretro $LIBRETRO
2010-12-30 14:27:55 +01:00
fi
2010-12-30 02:52:02 +01:00
2011-11-30 17:46:58 +01:00
check_lib THREADS -lpthread pthread_create
2011-06-16 22:47:37 +02:00
check_lib DYLIB $DYLIB dlopen
2012-01-24 21:00:30 +01:00
2011-03-19 20:41:07 +01:00
check_lib NETPLAY -lc socket
2012-06-02 22:05:14 +02:00
if [ " $HAVE_NETPLAY " = yes ] ; then
2012-01-24 21:00:30 +01:00
HAVE_GETADDRINFO = auto
check_lib GETADDRINFO -lc getaddrinfo
2012-06-02 22:05:14 +02:00
if [ " $HAVE_GETADDRINFO " = yes ] ; then
2012-01-24 21:00:30 +01:00
HAVE_SOCKET_LEGACY = no
else
HAVE_SOCKET_LEGACY = yes
fi
2012-05-27 14:23:30 +02:00
HAVE_NETWORK_CMD = yes
else
HAVE_NETWORK_CMD = no
2012-01-24 21:00:30 +01:00
fi
2011-11-30 11:48:53 +01:00
check_lib GETOPT_LONG -lc getopt_long
2011-03-07 20:22:55 +01:00
2012-06-02 22:05:14 +02:00
if [ " $HAVE_DYLIB " = no ] && [ " $HAVE_DYNAMIC " = yes ] ; then
2011-11-02 16:50:34 +01:00
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 17:15:58 +02:00
check_pkgconf ALSA alsa
2010-12-30 02:52:02 +01:00
check_header OSS sys/soundcard.h
2011-06-16 23:20:12 +02:00
check_header OSS_BSD soundcard.h
check_lib OSS_LIB -lossaudio
2012-06-02 22:05:14 +02:00
if [ " $OS " = Darwin ] ; then
2011-02-04 07:42:26 -06:00
check_lib AL "-framework OpenAL" alcOpenDevice
else
check_lib AL -lopenal alcOpenDevice
fi
2012-06-02 22:05:14 +02:00
if [ " $OS " = Darwin ] ; then
2011-03-23 23:48:13 +01:00
check_lib FBO "-framework OpenGL" glFramebufferTexture2D
else
check_lib FBO -lGL glFramebufferTexture2D
fi
2011-02-06 23:55:17 +01:00
check_pkgconf RSOUND rsound 1.1
2011-06-25 17:15:58 +02:00
check_pkgconf ROAR libroar
2011-03-13 18:09:27 +01:00
check_pkgconf JACK jack 0.120.1
2011-01-29 01:15:09 +01:00
check_pkgconf PULSE libpulse
2010-12-30 02:52:02 +01:00
2011-08-08 17:27:52 +02:00
check_lib COREAUDIO "-framework AudioUnit" AudioUnitInitialize
2011-01-06 20:29:04 +01:00
check_pkgconf SDL sdl 1.2.10
2011-09-13 14:06:49 +02:00
check_critical SDL "Cannot find SDL library."
2010-12-30 02:52:02 +01:00
2011-08-25 09:49:32 +02:00
# On some distros, -lCg doesn't link against -lstdc++ it seems ...
2012-06-02 22:05:14 +02:00
if [ " $HAVE_OPENGL " != no ] ; then
2011-11-01 18:24:43 +01:00
check_lib_cxx CG -lCg cgCreateContext
else
2011-11-02 16:50:34 +01:00
echo "Ignoring Cg. OpenGL is not enabled."
2011-11-01 18:24:43 +01:00
HAVE_CG = no
fi
2011-08-24 16:12:38 +02:00
2011-01-05 17:42:58 +01:00
check_pkgconf XML libxml-2.0
2011-06-11 16:55:53 +02:00
check_pkgconf SDL_IMAGE SDL_image
2010-12-30 03:02:30 +01:00
2012-06-02 22:05:14 +02:00
if [ " $HAVE_THREADS " != no ] ; then
if [ " $HAVE_FFMPEG " != no ] ; then
2011-11-30 17:46:58 +01:00
check_pkgconf AVCODEC libavcodec
check_pkgconf AVFORMAT libavformat
check_pkgconf AVUTIL libavutil
check_pkgconf SWSCALE libswscale
2012-06-02 22:05:14 +02:00
( [ " $HAVE_FFMPEG " = auto ] && ( [ " $HAVE_AVCODEC " = no ] || [ " $HAVE_AVFORMAT " = no ] || [ " $HAVE_AVUTIL " = no ] || [ " $HAVE_SWSCALE " = no ] ) && HAVE_FFMPEG = no ) || HAVE_FFMPEG = yes
2011-11-30 17:46:58 +01:00
fi
2012-06-02 22:05:14 +02:00
if [ " $HAVE_FFMPEG " = yes ] ; then
2011-11-30 17:46:58 +01:00
check_lib FFMPEG_ALLOC_CONTEXT3 " $AVCODEC_LIBS " avcodec_alloc_context3
check_lib FFMPEG_AVCODEC_OPEN2 " $AVCODEC_LIBS " avcodec_open2
2012-01-29 18:01:10 +01:00
check_lib FFMPEG_AVCODEC_ENCODE_AUDIO2 " $AVCODEC_LIBS " avcodec_encode_audio2
2011-11-30 17:46:58 +01:00
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
2012-03-08 00:29:32 +01:00
check_lib FFMPEG_AVCODEC_ENCODE_VIDEO2 " $AVCODEC_LIBS " avcodec_encode_video2
2011-11-30 17:46:58 +01:00
fi
2012-06-02 22:05:14 +02:00
if [ " $HAVE_FFMPEG " = no ] && [ " $HAVE_X264RGB " = yes ] ; then
2011-11-30 17:46:58 +01:00
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 16:54:45 +01:00
fi
2011-06-16 22:47:37 +02:00
check_lib DYNAMIC $DYLIB dlopen
2010-12-30 13:54:49 +01:00
2011-01-23 00:27:20 +01:00
check_pkgconf FREETYPE freetype2
2011-10-23 12:48:44 +02:00
check_pkgconf X11 x11
check_pkgconf XEXT xext
2012-06-02 22:05:14 +02:00
if [ " $HAVE_X11 " = yes ] && [ " $HAVE_XEXT " = yes ] ; then
2011-10-23 12:48:44 +02:00
check_pkgconf XVIDEO xv
else
echo "X11 or Xext not present. Skipping XVideo."
HAVE_XVIDEO = no
fi
2011-01-23 00:27:20 +01:00
2011-04-03 22:16:59 +02:00
check_lib STRL -lc strlcpy
2011-06-06 17:44:05 +02:00
check_pkgconf PYTHON python3
2011-06-25 17:22:47 +02:00
add_define_make OS $OS
2011-01-05 19:51:19 +01:00
# Creates config.mk and config.h.
2012-05-28 02:27:25 -04: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 NETWORK_CMD SOCKET_LEGACY FBO STRL PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 X264RGB SINC BSV_MOVIE RPI"
2010-12-30 02:52:02 +01:00
create_config_make config.mk $VARS
create_config_header config.h $VARS