Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 154 lines (121 sloc) 5.132 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
check_switch_c C99 -std=gnu99 "Cannot find C99 compatible compiler."

check_switch_c NOUNUSED -Wno-unused-result
add_define_make NOUNUSED "$HAVE_NOUNUSED"

# There are still broken 64-bit Linux distros out there. :)
[ -d /usr/lib64 ] && add_library_dirs /usr/lib64

[ -d /opt/local/lib ] && add_library_dirs /opt/local/lib

if [ "$OS" = 'BSD' ]; then DYLIB=-lc; else DYLIB=-ldl; fi

[ -d /opt/vc/lib ] && add_library_dirs /opt/vc/lib
check_lib RPI -lbcm_host bcm_host_init "-lvcos -lvchiq_arm"

if [ "$HAVE_RPI" = 'yes' ]; then
   [ -d /opt/vc/include ] && add_include_dirs /opt/vc/include
   [ -d /opt/vc/include/interface/vcos/pthreads ] && add_include_dirs /opt/vc/include/interface/vcos/pthreads

   # the gles library gets messed up with the gl library if available, so turn it off
   HAVE_OPENGL='no'
fi

if [ "$LIBRETRO" ]; then
echo "Explicit libretro used, disabling dynamic libretro loading ..."
   HAVE_DYNAMIC='no'
else LIBRETRO="-lretro"
fi

[ "$HAVE_DYNAMIC" = 'yes' ] || {
   check_lib_cxx RETRO "$LIBRETRO" retro_init "$DYLIB" "Cannot find libretro."
   add_define_make libretro "$LIBRETRO"
}

check_lib THREADS -lpthread pthread_create
check_lib DYLIB "$DYLIB" dlopen

check_lib NETPLAY -lc socket
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
HAVE_NETWORK_CMD='yes'
else
HAVE_NETWORK_CMD='no'
fi

check_lib STDIN_CMD -lc fcntl

if [ "$HAVE_NETWORK_CMD" = "yes" ] || [ "$HAVE_STDIN_CMD" = "yes" ]; then
HAVE_COMMAND='yes'
else
HAVE_COMMAND='no'
fi

check_lib GETOPT_LONG -lc getopt_long

if [ "$HAVE_DYLIB" = 'no' ] && [ "$HAVE_DYNAMIC" = 'yes' ]; then
echo "Dynamic loading of libretro is enabled, but your platform does not appear to have dlopen(), use --disable-dynamic or --with-libretro=\"-lretro\"".
   exit 1
fi

check_pkgconf ALSA alsa
check_header OSS sys/soundcard.h
check_header OSS_BSD soundcard.h
check_lib OSS_LIB -lossaudio

if [ "$OS" = Darwin ]; then
check_lib AL "-framework OpenAL" alcOpenDevice
else
check_lib AL -lopenal alcOpenDevice
fi

if [ "$OS" = Darwin ]; then
check_lib FBO "-framework OpenGL" glFramebufferTexture2D
else
check_lib FBO -lGL glFramebufferTexture2D
fi

check_pkgconf RSOUND rsound 1.1
check_pkgconf ROAR libroar
check_pkgconf JACK jack 0.120.1
check_pkgconf PULSE libpulse

check_lib COREAUDIO "-framework AudioUnit" AudioUnitInitialize

check_pkgconf SDL sdl 1.2.10 "Cannot find SDL library."

# On some distros, -lCg doesn't link against -lstdc++ it seems ...
if [ "$HAVE_OPENGL" != 'no' ]; then
check_lib_cxx CG -lCg cgCreateContext
else
echo "Ignoring Cg. OpenGL is not enabled."
   HAVE_CG='no'
fi

check_pkgconf XML libxml-2.0
check_pkgconf SDL_IMAGE SDL_image
check_pkgconf LIBPNG libpng

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_AVCODEC_ENCODE_AUDIO2 "$AVCODEC_LIBS" avcodec_encode_audio2
      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
   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'
fi

check_lib DYNAMIC "$DYLIB" dlopen

check_pkgconf FREETYPE freetype2
check_pkgconf X11 x11
check_pkgconf XEXT xext
if [ "$HAVE_X11" = 'yes' ] && [ "$HAVE_XEXT" = 'yes' ]; then
check_pkgconf XVIDEO xv
else
echo "X11 or Xext not present. Skipping XVideo."
   HAVE_XVIDEO='no'
fi

check_lib STRL -lc strlcpy

check_pkgconf PYTHON python3

add_define_make OS "$OS"

# Creates config.mk and config.h.
VARS="ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL OPENGL DYLIB GETOPT_LONG THREADS CG XML SDL_IMAGE LIBPNG DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE CONFIGFILE FREETYPE XVIDEO X11 XEXT NETPLAY NETWORK_CMD STDIN_CMD COMMAND 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 FIXED_POINT BSV_MOVIE RPI"
create_config_make config.mk $VARS
create_config_header config.h $VARS
Something went wrong with that request. Please try again.