RetroArch/qb/config.libs.sh

133 lines
4.4 KiB
Bash
Raw Normal View History

2012-06-12 20:16:16 +00:00
check_switch_c C99 -std=gnu99 "Cannot find C99 compatible compiler."
2010-12-30 01:52:02 +00:00
check_switch_c NOUNUSED -Wno-unused-result
2012-06-12 20:16:16 +00:00
add_define_make NOUNUSED "$HAVE_NOUNUSED"
2011-08-24 14:12:38 +00:00
# There are still broken 64-bit Linux distros out there. :)
2012-06-12 20:16:16 +00:00
[ -d /usr/lib64 ] && add_library_dirs /usr/lib64
2011-08-24 14:12:38 +00:00
2012-06-12 20:16:16 +00:00
[ -d /opt/local/lib ] && add_library_dirs /opt/local/lib
2011-09-02 14:12:34 +00:00
2012-06-12 20:16:16 +00:00
if [ "$OS" = 'BSD' ]; then DYLIB=-lc; else DYLIB=-ldl; fi
2012-06-12 20:16:16 +00:00
if [ "$LIBRETRO" ]; then
echo "Explicit libsnes used, disabling dynamic libsnes loading ..."
2012-06-12 20:16:16 +00:00
HAVE_DYNAMIC='no'
else LIBRETRO="-lretro"
fi
2012-06-12 20:16:16 +00:00
[ "$HAVE_DYNAMIC" = 'yes' ] || {
check_lib_cxx RETRO "$LIBRETRO" retro_init "$DYLIB" "Cannot find libretro."
add_define_make libretro "$LIBRETRO"
}
2010-12-30 01:52:02 +00:00
2011-11-30 16:46:58 +00:00
check_lib THREADS -lpthread pthread_create
2012-06-12 20:16:16 +00:00
check_lib DYLIB "$DYLIB" dlopen
2011-03-19 19:41:07 +00:00
check_lib NETPLAY -lc socket
2012-06-12 20:16:16 +00:00
if [ "$HAVE_NETPLAY" = 'yes' ]; then
HAVE_GETADDRINFO=auto
check_lib GETADDRINFO -lc getaddrinfo
2012-06-12 20:16:16 +00:00
if [ "$HAVE_GETADDRINFO" = 'yes' ]; then
HAVE_SOCKET_LEGACY='no'
else
2012-06-12 20:16:16 +00:00
HAVE_SOCKET_LEGACY='yes'
fi
2012-06-12 20:16:16 +00:00
HAVE_NETWORK_CMD='yes'
2012-05-27 12:23:30 +00:00
else
2012-06-12 20:16:16 +00:00
HAVE_NETWORK_CMD='no'
fi
2011-11-30 10:48:53 +00:00
check_lib GETOPT_LONG -lc getopt_long
2011-03-07 19:22:55 +00:00
2012-06-12 20:16:16 +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
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
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
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
2012-06-12 20:16:16 +00:00
check_pkgconf SDL sdl 1.2.10 "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 ...
2012-06-12 20:16:16 +00:00
if [ "$HAVE_OPENGL" != 'no' ]; then
2011-11-01 17:24:43 +00:00
check_lib_cxx CG -lCg cgCreateContext
else
echo "Ignoring Cg. OpenGL is not enabled."
2012-06-12 20:16:16 +00:00
HAVE_CG='no'
2011-11-01 17:24:43 +00:00
fi
2011-08-24 14:12:38 +00:00
2011-01-05 16:42:58 +00:00
check_pkgconf XML libxml-2.0
check_pkgconf SDL_IMAGE SDL_image
2010-12-30 02:02:30 +00:00
2012-06-12 20:16:16 +00:00
if [ "$HAVE_THREADS" != 'no' ]; then
if [ "$HAVE_FFMPEG" != 'no' ]; then
2011-11-30 16:46:58 +00:00
check_pkgconf AVCODEC libavcodec
check_pkgconf AVFORMAT libavformat
check_pkgconf AVUTIL libavutil
check_pkgconf SWSCALE libswscale
2012-06-12 20:16:16 +00: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 16:46:58 +00:00
fi
2012-06-12 20:16:16 +00:00
if [ "$HAVE_FFMPEG" = 'yes' ]; then
2011-11-30 16:46:58 +00:00
check_lib FFMPEG_ALLOC_CONTEXT3 "$AVCODEC_LIBS" avcodec_alloc_context3
check_lib FFMPEG_AVCODEC_OPEN2 "$AVCODEC_LIBS" avcodec_open2
check_lib FFMPEG_AVCODEC_ENCODE_AUDIO2 "$AVCODEC_LIBS" avcodec_encode_audio2
2011-11-30 16:46:58 +00: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
check_lib FFMPEG_AVCODEC_ENCODE_VIDEO2 "$AVCODEC_LIBS" avcodec_encode_video2
2011-11-30 16:46:58 +00:00
fi
2012-06-12 20:16:16 +00:00
if [ "$HAVE_FFMPEG" = 'no' ] && [ "$HAVE_X264RGB" = 'yes' ]; then
2011-11-30 16:46:58 +00: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."
2012-06-12 20:16:16 +00:00
HAVE_FFMPEG='no'
fi
2012-06-12 20:16:16 +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
check_pkgconf X11 x11
check_pkgconf XEXT xext
2012-06-12 20:16:16 +00:00
if [ "$HAVE_X11" = 'yes' ] && [ "$HAVE_XEXT" = 'yes' ]; then
check_pkgconf XVIDEO xv
else
echo "X11 or Xext not present. Skipping XVideo."
2012-06-12 20:16:16 +00:00
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
check_pkgconf PYTHON python3
2012-06-12 20:16:16 +00:00
add_define_make OS "$OS"
2011-06-25 15:22:47 +00:00
# Creates config.mk and config.h.
2012-05-27 12:23: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 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"
2010-12-30 01:52:02 +00:00
create_config_make config.mk $VARS
2012-06-12 20:16:16 +00:00
create_config_header config.h $VARS