2017-11-24 16:09:14 +00:00
check_switch '' C99 -std= gnu99 "Cannot find C99 compatible compiler."
check_switch '' NOUNUSED -Wno-unused-result
2017-11-24 02:22:01 +00:00
add_define MAKEFILE NOUNUSED " $HAVE_NOUNUSED "
2017-11-24 16:09:14 +00:00
check_switch '' NOUNUSED_VARIABLE -Wno-unused-variable
2017-11-24 02:22:01 +00:00
add_define MAKEFILE NOUNUSED_VARIABLE " $HAVE_NOUNUSED_VARIABLE "
2012-05-01 21:00:37 +00:00
2011-08-24 14:12:38 +00:00
# There are still broken 64-bit Linux distros out there. :)
2017-11-24 17:57:07 +00:00
[ -z " $CROSS_COMPILE " ] && [ -d /usr/lib64 ] && add_dirs LIBRARY /usr/lib64
2011-08-24 14:12:38 +00:00
2017-11-24 17:57:07 +00:00
[ -z " $CROSS_COMPILE " ] && [ -d /opt/local/lib ] && add_dirs LIBRARY /opt/local/lib
2011-09-02 14:12:34 +00:00
2017-10-22 04:31:52 +00:00
[ " $GLOBAL_CONFIG_DIR " ] || \
{ case " $PREFIX " in
/usr*) GLOBAL_CONFIG_DIR = /etc ; ;
*) GLOBAL_CONFIG_DIR = " $PREFIX " /etc ; ;
esac
}
2014-08-28 16:41:12 +00:00
DYLIB = -ldl;
CLIB = -lc
PTHREADLIB = -lpthread
SOCKETLIB = -lc
2014-10-29 00:30:12 +00:00
SOCKETHEADER =
2014-08-28 16:41:12 +00:00
2012-12-22 22:52:05 +00:00
if [ " $OS " = 'BSD' ] ; then
2017-12-26 19:03:48 +00:00
[ -d /usr/local/include ] && add_dirs INCLUDE /usr/local/include
2017-12-30 00:06:04 +00:00
[ -d /usr/local/lib ] && add_dirs LIBRARY /usr/local/lib
2012-12-22 22:52:05 +00:00
DYLIB = -lc;
elif [ " $OS " = 'Haiku' ] ; then
2014-08-28 16:41:12 +00:00
DYLIB = ""
CLIB = -lroot
PTHREADLIB = -lroot
SOCKETLIB = -lnetwork
2017-11-27 21:22:49 +00:00
CFLAGS = " $CFLAGS -D_BSD_SOURCE "
2014-08-29 19:35:56 +00:00
elif [ " $OS " = 'Win32' ] ; then
SOCKETLIB = -lws2_32
2014-10-29 00:30:12 +00:00
SOCKETHEADER = "#include <winsock2.h>"
2014-08-29 19:35:56 +00:00
DYLIB =
2017-01-15 15:47:27 +00:00
elif [ " $OS " = 'Cygwin' ] ; then
2017-10-22 07:33:27 +00:00
die 1 'Error: Cygwin is not a supported platform. See https://bot.libretro.com/docs/compilation/windows/'
2012-12-22 22:52:05 +00:00
fi
2017-11-24 02:22:01 +00:00
add_define MAKEFILE DYLIB_LIB " $DYLIB "
2012-12-22 22:52:05 +00:00
2017-10-27 20:01:04 +00:00
check_lib '' SYSTEMD -lsystemd sd_get_machine_names
2012-06-19 16:42:32 +00:00
2017-08-19 15:03:01 +00:00
if [ " $HAVE_VIDEOCORE " != "no" ] ; then
2017-10-04 00:52:55 +00:00
check_pkgconf VC_TEST bcm_host
# use fallback if pkgconfig is not available
if [ ! " $VC_TEST_LIBS " ] ; then
2017-11-24 17:57:07 +00:00
[ -d /opt/vc/lib ] && add_dirs LIBRARY /opt/vc/lib /opt/vc/lib/GL
2017-10-27 20:01:04 +00:00
check_lib '' VIDEOCORE -lbcm_host bcm_host_init "-lvcos -lvchiq_arm"
2017-10-04 00:52:55 +00:00
else
HAVE_VIDEOCORE = " $HAVE_VC_TEST "
fi
2017-08-19 15:03:01 +00:00
fi
2012-09-18 23:41:58 +00:00
if [ " $HAVE_VIDEOCORE " = 'yes' ] ; then
2016-09-16 22:38:35 +00:00
HAVE_OPENGLES = 'auto'
2017-10-04 00:52:55 +00:00
VC_PREFIX = "brcm"
# use fallback if pkgconfig is not available
if [ ! " $VC_TEST_LIBS " ] ; then
2017-11-24 17:57:07 +00:00
[ -d /opt/vc/include ] && add_dirs INCLUDE /opt/vc/include
[ -d /opt/vc/include/interface/vcos/pthreads ] && add_dirs INCLUDE /opt/vc/include/interface/vcos/pthreads
[ -d /opt/vc/include/interface/vmcs_host/linux ] && add_dirs INCLUDE /opt/vc/include/interface/vmcs_host/linux
2017-10-04 00:52:55 +00:00
EXTRA_GL_LIBS = "-lbrcmEGL -lbrcmGLESv2 -lbcm_host -lvcos -lvchiq_arm"
fi
2012-12-12 00:34:01 +00:00
fi
2013-07-13 02:07:38 +00:00
if [ " $HAVE_NEON " = "yes" ] ; then
2013-07-13 13:03:35 +00:00
CFLAGS = " $CFLAGS -mfpu=neon -marm "
CXXFLAGS = " $CXXFLAGS -mfpu=neon -marm "
2013-07-13 02:07:38 +00:00
ASFLAGS = " $ASFLAGS -mfpu=neon "
fi
2014-09-02 14:39:38 +00:00
if [ " $HAVE_7ZIP " = "yes" ] ; then
2017-11-24 17:57:07 +00:00
add_dirs INCLUDE ./deps/7zip
2014-09-02 14:39:38 +00:00
fi
2014-09-02 20:12:24 +00:00
if [ " $HAVE_PRESERVE_DYLIB " = "yes" ] ; then
2017-10-22 07:33:27 +00:00
die : 'Notice: Disabling dlclose() of shared objects for Valgrind support.'
2017-11-24 02:22:01 +00:00
add_define MAKEFILE HAVE_PRESERVE_DYLIB "1"
2014-09-02 20:12:24 +00:00
fi
2013-07-13 01:48:02 +00:00
if [ " $HAVE_FLOATHARD " = "yes" ] ; then
CFLAGS = " $CFLAGS -mfloat-abi=hard "
2013-07-13 01:52:22 +00:00
CXXFLAGS = " $CXXFLAGS -mfloat-abi=hard "
ASFLAGS = " $ASFLAGS -mfloat-abi=hard "
2013-07-13 01:48:02 +00:00
fi
if [ " $HAVE_FLOATSOFTFP " = "yes" ] ; then
CFLAGS = " $CFLAGS -mfloat-abi=softfp "
2013-07-13 01:52:22 +00:00
CXXFLAGS = " $CXXFLAGS -mfloat-abi=softfp "
ASFLAGS = " $ASFLAGS -mfloat-abi=softfp "
2013-07-13 01:48:02 +00:00
fi
2013-07-13 02:07:38 +00:00
if [ " $HAVE_NEON " = "yes" ] ; then
2013-07-13 13:03:35 +00:00
CFLAGS = " $CFLAGS -mfpu=neon -marm "
CXXFLAGS = " $CXXFLAGS -mfpu=neon -marm "
2013-07-13 02:07:38 +00:00
ASFLAGS = " $ASFLAGS -mfpu=neon "
fi
2013-07-13 01:48:02 +00:00
if [ " $HAVE_FLOATHARD " = "yes" ] ; then
CFLAGS = " $CFLAGS -mfloat-abi=hard "
2013-07-13 01:52:22 +00:00
CXXFLAGS = " $CXXFLAGS -mfloat-abi=hard "
ASFLAGS = " $ASFLAGS -mfloat-abi=hard "
2013-07-13 01:48:02 +00:00
fi
if [ " $HAVE_FLOATSOFTFP " = "yes" ] ; then
CFLAGS = " $CFLAGS -mfloat-abi=softfp "
2013-07-13 01:52:22 +00:00
CXXFLAGS = " $CXXFLAGS -mfloat-abi=softfp "
ASFLAGS = " $ASFLAGS -mfloat-abi=softfp "
2013-07-13 01:48:02 +00:00
fi
2013-05-04 13:08:04 +00:00
if [ " $HAVE_SSE " = "yes" ] ; then
CFLAGS = " $CFLAGS -msse -msse2 "
CXXFLAGS = " $CXXFLAGS -msse -msse2 "
fi
2017-10-25 02:01:36 +00:00
if [ " $HAVE_EGL " != "no" ] && [ " $OS " != 'Win32' ] ; then
2017-10-04 00:52:55 +00:00
check_pkgconf EGL " $VC_PREFIX " egl
2012-12-12 00:34:01 +00:00
# some systems have EGL libs, but no pkgconfig
2017-11-26 01:09:26 +00:00
check_val '' EGL " -l ${ VC_PREFIX } EGL $EXTRA_GL_LIBS "
if [ " $HAVE_EGL " = "yes" ] ; then
2014-06-15 10:02:34 +00:00
EGL_LIBS = " $EGL_LIBS $EXTRA_GL_LIBS "
2014-06-17 19:01:19 +00:00
fi
2012-05-23 06:31:29 +00:00
fi
2017-08-19 15:03:38 +00:00
if [ " $HAVE_SSA " != "no" ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' SSA -lass ass_library_init
2016-03-03 17:17:48 +00:00
fi
2013-11-24 16:28:21 +00:00
if [ " $HAVE_EXYNOS " != "no" ] ; then
check_pkgconf EXYNOS libdrm_exynos
check_pkgconf DRM libdrm
fi
2015-03-13 04:59:52 +00:00
if [ " $HAVE_DISPMANX " != "no" ] ; then
2015-03-15 15:20:03 +00:00
PKG_CONF_USED = " $PKG_CONF_USED DISPMANX "
2015-03-13 04:59:52 +00:00
fi
2012-06-12 20:16:16 +00:00
if [ " $LIBRETRO " ] ; then
2017-10-22 07:33:27 +00:00
die : 'Notice: Explicit libretro used, disabling dynamic libretro loading ...'
2012-06-12 20:16:16 +00:00
HAVE_DYNAMIC = 'no'
else LIBRETRO = "-lretro"
2011-11-02 15:50:34 +00:00
fi
2012-06-12 20:16:16 +00:00
[ " $HAVE_DYNAMIC " = 'yes' ] || {
2017-10-27 20:01:04 +00:00
#check_lib '' RETRO "$LIBRETRO" retro_init "$DYLIB" "Cannot find libretro, did you forget --with-libretro=\"-lretro\"?"
check_lib '' RETRO " $LIBRETRO " " $DYLIB " "Cannot find libretro, did you forget --with-libretro=\"-lretro\"?"
2017-11-24 02:22:01 +00:00
add_define MAKEFILE libretro " $LIBRETRO "
2012-06-12 20:16:16 +00:00
}
2010-12-30 01:52:02 +00:00
2017-11-26 20:26:33 +00:00
add_define MAKEFILE ASSETS_DIR " ${ ASSETS_DIR :- ${ PREFIX } /share } "
add_define MAKEFILE BIN_DIR " ${ BIN_DIR :- ${ PREFIX } /bin } "
add_define MAKEFILE MAN_DIR " ${ MAN_DIR :- ${ PREFIX } /share/man } "
2012-12-02 09:59:48 +00:00
2017-01-20 23:23:45 +00:00
if [ " $OS " = 'DOS' ] ; then
HAVE_SHADERPIPELINE = no
HAVE_LANGEXTRA = no
fi
2014-08-29 19:35:56 +00:00
if [ " $OS " = 'Win32' ] ; then
HAVE_THREADS = yes
2016-10-18 00:21:51 +00:00
HAVE_THREAD_STORAGE = yes
2014-08-29 19:35:56 +00:00
HAVE_DYLIB = yes
else
2017-10-27 20:01:04 +00:00
check_lib '' THREADS " $PTHREADLIB " pthread_create
2016-10-18 00:21:51 +00:00
if [ " $HAVE_THREADS " = 'yes' ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' THREAD_STORAGE " $PTHREADLIB " pthread_key_create
2016-10-18 00:21:51 +00:00
else
HAVE_THREAD_STORAGE = no
fi
2017-10-27 20:01:04 +00:00
check_lib '' DYLIB " $DYLIB " dlopen
2014-08-29 19:35:56 +00:00
fi
2012-01-24 20:00:30 +00:00
2017-10-27 20:01:04 +00:00
check_lib '' NETWORKING " $SOCKETLIB " socket "" " $SOCKETHEADER "
2014-10-29 00:30:12 +00:00
2015-01-27 23:49:43 +00:00
if [ " $HAVE_NETWORKING " = 'yes' ] ; then
2012-01-24 20:00:30 +00:00
HAVE_GETADDRINFO = auto
2015-03-20 20:40:27 +00:00
HAVE_SOCKET_LEGACY = no
# WinXP+ implements getaddrinfo()
if [ " $OS " = 'Win32' ] ; then
HAVE_GETADDRINFO = yes
2012-01-24 20:00:30 +00:00
else
2017-10-27 20:01:04 +00:00
check_lib '' GETADDRINFO " $SOCKETLIB " getaddrinfo
2015-03-20 20:40:27 +00:00
if [ " $HAVE_GETADDRINFO " != 'yes' ] ; then
HAVE_SOCKET_LEGACY = yes
2017-10-22 07:33:27 +00:00
die : 'Notice: RetroArch will use legacy socket support'
2015-03-20 20:40:27 +00:00
fi
2012-01-24 20:00:30 +00:00
fi
2015-03-20 20:40:27 +00:00
HAVE_NETWORK_CMD = yes
2016-06-07 13:23:07 +00:00
HAVE_NETWORKGAMEPAD = yes
2016-11-30 02:00:53 +00:00
2017-12-26 10:06:47 +00:00
if [ " $HAVE_MINIUPNPC " = 'no' ] ; then
HAVE_BUILTINMINIUPNPC = no
elif [ " $HAVE_BUILTINMINIUPNPC " = 'yes' ] ; then
2017-12-26 04:45:17 +00:00
HAVE_MINIUPNPC = yes
else
2017-12-26 10:06:47 +00:00
check_lib '' MINIUPNPC '-lminiupnpc'
2016-11-30 02:00:53 +00:00
fi
2012-05-27 12:23:30 +00:00
else
2017-10-22 07:33:27 +00:00
die : 'Warning: All networking features have been disabled.'
2017-10-22 02:02:03 +00:00
HAVE_KEYMAPPER = 'no'
2012-06-12 20:16:16 +00:00
HAVE_NETWORK_CMD = 'no'
2016-06-07 13:23:07 +00:00
HAVE_NETWORKGAMEPAD = 'no'
2016-10-01 08:23:01 +00:00
HAVE_CHEEVOS = 'no'
2012-01-24 20:00:30 +00:00
fi
2017-10-27 20:01:04 +00:00
check_lib '' STDIN_CMD " $CLIB " fcntl
2012-07-24 00:47:28 +00:00
if [ " $HAVE_NETWORK_CMD " = "yes" ] || [ " $HAVE_STDIN_CMD " = "yes" ] ; then
HAVE_COMMAND = 'yes'
else
HAVE_COMMAND = 'no'
fi
2017-10-27 20:01:04 +00:00
check_lib '' GETOPT_LONG " $CLIB " 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
2017-10-22 07:33:27 +00:00
die 1 'Error: Dynamic loading of libretro is enabled, but your platform does not appear to have dlopen(), use --disable-dynamic or --with-libretro="-lretro".'
2011-11-02 15:50:34 +00:00
fi
2011-06-25 15:15:58 +00:00
check_pkgconf ALSA alsa
2017-10-27 20:01:04 +00:00
check_lib '' CACA -lcaca
2017-12-30 23:42:43 +00:00
if [ " $HAVE_OSS " != 'no' ] ; then
check_header OSS sys/soundcard.h
check_header OSS_BSD soundcard.h
check_lib '' OSS_LIB -lossaudio
fi
2011-06-16 21:20:12 +00:00
2017-06-24 01:44:00 +00:00
if [ " $OS " = 'Linux' ] ; then
2017-11-25 23:00:01 +00:00
HAVE_TINYALSA = yes
2017-12-27 16:05:12 +00:00
HAVE_RPILED = yes
2017-06-24 01:44:00 +00:00
fi
2012-10-11 19:00:16 +00:00
if [ " $OS " = 'Darwin' ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' COREAUDIO "-framework AudioUnit" AudioUnitInitialize
check_lib '' CORETEXT "-framework CoreText" CTFontCreateWithName
check_lib '' COCOA "-framework AppKit" NSApplicationMain
check_lib '' AVFOUNDATION "-framework AVFoundation"
check_lib '' CORELOCATION "-framework CoreLocation"
check_lib '' IOHIDMANAGER "-framework IOKit" IOHIDManagerCreate
check_lib '' AL "-framework OpenAL" alcOpenDevice
2017-10-22 05:30:43 +00:00
HAVE_X11 = no # X11 breaks on recent OSXes even if present.
2013-07-17 20:38:25 +00:00
HAVE_SDL = no
2011-02-04 13:42:26 +00:00
else
2017-10-27 20:01:04 +00:00
check_lib '' AL -lopenal alcOpenDevice
2011-02-04 13:42:26 +00:00
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
2012-09-28 21:34:19 +00:00
check_pkgconf SDL sdl 1.2.10
2014-08-11 04:56:44 +00:00
check_pkgconf SDL2 sdl2 2.0.0
2010-12-30 01:52:02 +00:00
2014-08-11 16:03:51 +00:00
if [ " $HAVE_SDL2 " = 'yes' ] ; then
if [ " $HAVE_SDL2 " = 'yes' ] && [ " $HAVE_SDL " = 'yes' ] ; then
2017-10-22 07:33:27 +00:00
die : 'Notice: SDL drivers will be replaced by SDL2 ones.'
2014-08-10 16:35:18 +00:00
HAVE_SDL = no
2014-08-11 16:03:51 +00:00
elif [ " $HAVE_SDL2 " = 'no' ] ; then
2017-10-22 07:33:27 +00:00
die : 'Warning: SDL2 not found, skipping.'
2014-08-10 16:35:18 +00:00
HAVE_SDL2 = no
fi
fi
2017-12-26 06:50:32 +00:00
if [ " $HAVE_FLAC " = 'no' ] ; then
HAVE_BUILTINFLAC = no
elif [ " $HAVE_BUILTINFLAC " = 'yes' ] ; then
HAVE_FLAC = yes
else
check_pkgconf FLAC flac
check_val '' FLAC '-lFLAC'
fi
2017-11-23 04:44:54 +00:00
check_pkgconf LIBUSB libusb-1.0 1.0.13
2015-04-07 04:34:49 +00:00
2014-08-29 19:35:56 +00:00
if [ " $OS " = 'Win32' ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' DINPUT -ldinput8
check_lib '' D3D9 -ld3d9
check_lib '' DSOUND -ldsound
2014-08-29 19:35:56 +00:00
if [ " $HAVE_DINPUT " != 'no' ] ; then
2015-04-05 18:54:46 +00:00
HAVE_XINPUT = yes
2014-08-29 19:35:56 +00:00
fi
2017-04-09 21:53:55 +00:00
HAVE_WASAPI = yes
2014-08-29 19:35:56 +00:00
HAVE_XAUDIO = yes
2014-10-22 17:18:56 +00:00
else
HAVE_D3D9 = no
2014-08-29 19:35:56 +00:00
fi
2016-09-16 22:38:35 +00:00
if [ " $HAVE_OPENGL " != 'no' ] && [ " $HAVE_OPENGLES " != 'yes' ] ; then
2012-10-14 13:54:48 +00:00
if [ " $OS " = 'Darwin' ] ; then
2015-06-17 14:58:30 +00:00
check_header OPENGL "OpenGL/gl.h"
2017-10-27 20:01:04 +00:00
check_lib '' OPENGL "-framework OpenGL"
2014-09-16 20:45:45 +00:00
elif [ " $OS " = 'Win32' ] ; then
2015-06-17 14:58:30 +00:00
check_header OPENGL "GL/gl.h"
2017-10-27 20:01:04 +00:00
check_lib '' OPENGL -lopengl32
2012-10-14 13:54:48 +00:00
else
2015-06-17 00:25:55 +00:00
check_header OPENGL "GL/gl.h"
2017-10-27 20:01:04 +00:00
check_lib '' OPENGL -lGL
2012-10-14 13:54:48 +00:00
fi
2014-09-16 21:00:12 +00:00
2015-06-17 14:58:30 +00:00
if [ " $HAVE_OPENGL " = 'yes' ] ; then
if [ " $OS " = 'Darwin' ] ; then
2017-11-25 23:00:01 +00:00
check_lib '' CG '-framework Cg' cgCreateContext
2015-06-17 14:58:30 +00:00
elif [ " $OS " = 'Win32' ] ; then
2017-11-25 23:00:01 +00:00
check_lib cxx CG '-lcg -lcgGL' cgCreateContext
2015-06-17 14:58:30 +00:00
else
# On some distros, -lCg doesn't link against -lstdc++ it seems ...
2017-11-25 23:00:01 +00:00
check_lib cxx CG '-lCg -lCgGL' cgCreateContext
2015-06-17 14:58:30 +00:00
fi
2016-07-30 14:37:22 +00:00
check_pkgconf OSMESA osmesa
2015-06-17 14:58:30 +00:00
else
2017-10-22 07:33:27 +00:00
die : 'Notice: Ignoring Cg. Desktop OpenGL is not enabled.'
2015-06-17 14:58:30 +00:00
HAVE_CG = 'no'
fi
2011-11-01 17:24:43 +00:00
fi
2011-08-24 14:12:38 +00:00
2017-12-27 08:32:25 +00:00
if [ " $HAVE_ZLIB " = 'no' ] ; then
HAVE_BUILTINZLIB = no
elif [ " $HAVE_BUILTINZLIB " = 'yes' ] ; then
HAVE_ZLIB = yes
else
2015-04-19 23:56:48 +00:00
check_pkgconf ZLIB zlib
2017-11-26 01:09:26 +00:00
check_val '' ZLIB '-lz'
2015-04-19 23:56:48 +00:00
fi
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
2012-11-24 23:25:57 +00:00
check_pkgconf AVCODEC libavcodec 54
check_pkgconf AVFORMAT libavformat 54
2016-08-30 15:23:48 +00:00
check_pkgconf AVDEVICE libavdevice
2015-06-20 22:03:27 +00:00
check_pkgconf SWRESAMPLE libswresample
2016-08-30 15:31:39 +00:00
check_pkgconf AVRESAMPLE libavresample
2012-11-24 23:25:57 +00:00
check_pkgconf AVUTIL libavutil 51
check_pkgconf SWSCALE libswscale 2.1
2014-03-31 22:09:18 +00:00
check_header AV_CHANNEL_LAYOUT libavutil/channel_layout.h
2015-04-19 13:46:42 +00:00
HAVE_FFMPEG = 'yes'
2016-08-30 16:31:42 +00:00
if [ " $HAVE_AVCODEC " = 'no' ] || [ " $HAVE_SWRESAMPLE " = 'no' ] || [ " $HAVE_AVFORMAT " = 'no' ] || [ " $HAVE_AVUTIL " = 'no' ] || [ " $HAVE_SWSCALE " = 'no' ] ; then
2015-04-19 13:46:42 +00:00
HAVE_FFMPEG = 'no'
2017-10-22 07:33:27 +00:00
die : 'Notice: FFmpeg built-in support disabled due to missing or unsuitable packages.'
2015-04-19 13:46:42 +00:00
fi
2011-11-30 16:46:58 +00:00
fi
else
2017-10-22 07:33:27 +00:00
die : 'Notice: Not building with threading support. Will skip FFmpeg.'
2012-06-12 20:16:16 +00:00
HAVE_FFMPEG = 'no'
2011-11-02 15:54:45 +00:00
fi
2014-08-29 19:35:56 +00:00
if [ " $OS " != 'Win32' ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' DYNAMIC " $DYLIB " dlopen
2014-08-29 19:35:56 +00:00
fi
2010-12-30 12:54:49 +00:00
2012-09-24 23:26:22 +00:00
if [ " $HAVE_KMS " != "no" ] ; then
2012-10-13 19:44:25 +00:00
check_pkgconf GBM gbm 9.0
2012-09-25 10:58:45 +00:00
check_pkgconf DRM libdrm
2012-10-01 20:57:33 +00:00
if [ " $HAVE_GBM " = "yes" ] && [ " $HAVE_DRM " = "yes" ] && [ " $HAVE_EGL " = "yes" ] ; then
2012-09-16 19:39:40 +00:00
HAVE_KMS = yes
2012-09-24 23:26:22 +00:00
elif [ " $HAVE_KMS " = "yes" ] ; then
2017-10-22 07:33:27 +00:00
die 1 'Error: Cannot find libgbm, libdrm and EGL libraries required for KMS. Compile without --enable-kms.'
2012-09-24 23:26:22 +00:00
else
HAVE_KMS = no
2012-09-16 19:39:40 +00:00
fi
fi
2012-09-18 10:16:27 +00:00
2013-01-02 14:05:55 +00:00
check_pkgconf LIBXML2 libxml-2.0
2012-09-25 10:58:45 +00:00
2012-12-12 00:34:01 +00:00
if [ " $HAVE_EGL " = "yes" ] ; then
2016-09-16 22:38:35 +00:00
if [ " $HAVE_OPENGLES " != "no" ] ; then
2016-09-21 10:45:31 +00:00
if [ " $OPENGLES_LIBS " ] || [ " $OPENGLES_CFLAGS " ] ; then
2017-10-22 07:33:27 +00:00
die : " Notice: Using custom OpenGLES CFLAGS ( $OPENGLES_CFLAGS ) and LDFLAGS ( $OPENGLES_LIBS ). "
2017-11-24 02:22:01 +00:00
add_define MAKEFILE OPENGLES_LIBS " $OPENGLES_LIBS "
add_define MAKEFILE OPENGLES_CFLAGS " $OPENGLES_CFLAGS "
2013-12-13 16:54:28 +00:00
else
2017-10-23 23:19:16 +00:00
HAVE_OPENGLES = auto; check_pkgconf OPENGLES " $VC_PREFIX " glesv2
if [ " $HAVE_OPENGLES " = "no" ] ; then
2017-10-27 20:01:04 +00:00
HAVE_OPENGLES = auto; check_lib '' OPENGLES " -l ${ VC_PREFIX } GLESv2 $EXTRA_GL_LIBS "
2017-11-24 02:22:01 +00:00
add_define MAKEFILE OPENGLES_LIBS " -l ${ VC_PREFIX } GLESv2 $EXTRA_GL_LIBS "
2017-10-23 23:19:16 +00:00
fi
2013-12-13 16:54:28 +00:00
fi
2012-12-12 00:34:01 +00:00
fi
2017-12-30 16:08:08 +00:00
check_pkgconf VG " $VC_PREFIX " vg
check_val '' VG " -l ${ VC_PREFIX } OpenVG $EXTRA_GL_LIBS "
2012-12-12 00:34:01 +00:00
else
2012-10-01 20:57:33 +00:00
HAVE_VG = no
2016-09-16 22:38:35 +00:00
HAVE_OPENGLES = no
2012-09-18 23:41:58 +00:00
fi
2012-09-16 19:39:40 +00:00
2013-11-10 15:05:21 +00:00
check_pkgconf V4L2 libv4l2
2011-01-22 23:27:20 +00:00
check_pkgconf FREETYPE freetype2
2017-12-30 16:08:08 +00:00
check_pkgconf X11 x11
2017-12-29 19:22:55 +00:00
check_pkgconf XCB xcb
2014-08-09 19:35:27 +00:00
check_pkgconf WAYLAND wayland-egl
2016-12-17 20:34:51 +00:00
check_pkgconf WAYLAND_CURSOR wayland-cursor
2014-05-22 14:53:33 +00:00
check_pkgconf XKBCOMMON xkbcommon 0.3.2
2016-09-08 22:18:37 +00:00
check_pkgconf DBUS dbus-1
2011-10-23 10:48:44 +00:00
check_pkgconf XEXT xext
2012-09-29 08:47:55 +00:00
check_pkgconf XF86VM xxf86vm
2017-11-25 17:41:19 +00:00
2017-12-30 16:08:08 +00:00
check_val '' X11 -lX11
check_val '' XEXT -lXext
check_val '' XF86VM -lXxf86vm
if [ " $HAVE_X11 " = "no" ] ; then
2017-11-25 17:41:19 +00:00
HAVE_XEXT = no; HAVE_XF86VM = no; HAVE_XINERAMA = no; HAVE_XSHM = no
fi
2012-10-12 17:05:29 +00:00
check_pkgconf XINERAMA xinerama
2017-12-30 16:08:08 +00:00
2012-09-29 08:47:55 +00:00
if [ " $HAVE_X11 " = 'yes' ] && [ " $HAVE_XEXT " = 'yes' ] && [ " $HAVE_XF86VM " = 'yes' ] ; then
2011-10-23 10:48:44 +00:00
check_pkgconf XVIDEO xv
else
2017-10-22 07:33:27 +00:00
die : 'Notice: X11, Xext or xf86vm not present. Skipping X11 code paths.'
2012-09-29 08:47:55 +00:00
HAVE_X11 = 'no'
2012-06-12 20:16:16 +00:00
HAVE_XVIDEO = 'no'
2011-10-23 10:48:44 +00:00
fi
2011-01-22 23:27:20 +00:00
2017-12-30 16:08:08 +00:00
check_pkgconf UDEV libudev
check_val '' UDEV "-ludev"
2013-09-25 17:32:18 +00:00
2015-10-11 14:06:06 +00:00
check_header XSHM X11/Xlib.h X11/extensions/XShm.h
2014-10-04 21:04:38 +00:00
check_header PARPORT linux/parport.h
check_header PARPORT linux/ppdev.h
2017-10-27 18:04:52 +00:00
if [ " $OS " != 'Win32' ] && [ " $OS " != 'Linux' ] ; then
2017-10-27 20:01:04 +00:00
check_lib '' STRL " $CLIB " strlcpy
2015-09-05 12:14:10 +00:00
fi
2017-12-30 16:08:08 +00:00
2017-10-27 20:01:04 +00:00
check_lib '' STRCASESTR " $CLIB " strcasestr
check_lib '' MMAP " $CLIB " mmap
check_lib '' VULKAN -lvulkan vkCreateInstance
2011-04-03 20:16:59 +00:00
2011-06-06 15:44:05 +00:00
check_pkgconf PYTHON python3
2015-11-02 22:23:54 +00:00
if [ " $HAVE_MATERIALUI " != 'no' ] || [ " $HAVE_XMB " != 'no' ] || [ " $HAVE_ZARCH " != 'no' ] ; then
2017-10-22 07:02:24 +00:00
if [ " $HAVE_RGUI " = 'no' ] ; then
HAVE_MATERIALUI = no
HAVE_XMB = no
HAVE_ZARCH = no
2017-10-22 07:33:27 +00:00
die : 'Notice: RGUI not available, MaterialUI, XMB and ZARCH will also be disabled.'
2017-10-22 07:02:24 +00:00
elif [ " $HAVE_OPENGL " = 'no' ] && [ " $HAVE_OPENGLES " = 'no' ] && [ " $HAVE_VULKAN " = 'no' ] ; then
if [ " $OS " = 'Win32' ] ; then
HAVE_SHADERPIPELINE = no
HAVE_VULKAN = no
2017-10-22 07:33:27 +00:00
die : 'Notice: Hardware rendering context not available.'
2017-10-22 07:02:24 +00:00
elif [ " $HAVE_CACA " = 'yes' ] ; then
2017-10-22 07:33:27 +00:00
die : 'Notice: Hardware rendering context not available.'
2017-01-16 21:53:19 +00:00
else
2017-10-22 07:02:24 +00:00
HAVE_MATERIALUI = no
HAVE_XMB = no
HAVE_ZARCH = no
2017-10-22 07:33:27 +00:00
die : 'Notice: Hardware rendering context not available, XMB, MaterialUI and ZARCH will also be disabled.'
2017-01-16 21:53:19 +00:00
fi
2017-10-22 07:02:24 +00:00
fi
2015-06-26 14:55:06 +00:00
fi
2012-12-09 15:28:49 +00:00
check_macro NEON __ARM_NEON__
2017-11-24 02:22:01 +00:00
add_define MAKEFILE OS " $OS "
2011-06-25 15:22:47 +00:00
2017-10-18 22:20:58 +00:00
if [ " $HAVE_ZLIB " = 'no' ] && [ " $HAVE_RPNG " != 'no' ] ; then
2016-05-11 19:22:45 +00:00
HAVE_RPNG = no
2017-10-22 07:33:27 +00:00
die : 'Notice: zlib is not available, RPNG will also be disabled.'
2016-05-11 19:22:45 +00:00
fi
2017-10-18 22:20:58 +00:00
if [ " $HAVE_THREADS " = 'no' ] && [ " $HAVE_LIBUSB " != 'no' ] ; then
2016-05-11 17:11:09 +00:00
HAVE_LIBUSB = no
2017-10-22 07:33:27 +00:00
die : 'Notice: Threads are not available, libusb will also be disabled.'
2016-05-11 17:11:09 +00:00
fi
2017-10-18 22:20:58 +00:00
if [ " $HAVE_V4L2 " != 'no' ] && [ " $HAVE_VIDEOPROCESSOR " != 'no' ] ; then
2016-07-28 18:01:38 +00:00
HAVE_VIDEO_PROCESSOR = yes
fi
2011-01-05 18:51:19 +00:00
# Creates config.mk and config.h.
2017-11-24 02:22:01 +00:00
add_define MAKEFILE GLOBAL_CONFIG_DIR " $GLOBAL_CONFIG_DIR "
2017-10-26 00:16:08 +00:00
set -- $( set | grep ^HAVE_)
while [ $# -gt 0 ] ; do
tmpvar = " ${ 1 %=* } "
shift 1
var = " ${ tmpvar #HAVE_ } "
2017-10-26 01:03:51 +00:00
vars = " ${ vars } $var "
2017-10-26 00:16:08 +00:00
done
2017-10-26 01:03:51 +00:00
VARS = " $( printf %s " $vars " | tr ' ' '\n' | sort) "
2017-10-21 04:28:11 +00:00
create_config_make config.mk $( printf %s " $VARS " )
create_config_header config.h $( printf %s " $VARS " )