@@ -1,7 +1,7 @@ | |||||
dnl | dnl | ||||
dnl Lol Engine | dnl Lol Engine | ||||
dnl | dnl | ||||
dnl Copyright © 2010—2017 Sam Hocevar <sam@hocevar.net> | |||||
dnl Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||||
dnl | dnl | ||||
dnl Lol Engine is free software. It comes without any warranty, to | dnl Lol Engine is free software. It comes without any warranty, to | ||||
dnl the extent permitted by applicable law. You can redistribute it | dnl the extent permitted by applicable law. You can redistribute it | ||||
@@ -64,7 +64,6 @@ dnl | |||||
dnl Activate some header-only libraries | dnl Activate some header-only libraries | ||||
dnl | dnl | ||||
LOL_CFLAGS="$LOL_CFLAGS -I\$(lol_srcdir)/src/3rdparty/mingw-std-threads" | |||||
LOL_CFLAGS="$LOL_CFLAGS -I\$(lol_srcdir)/src/3rdparty/pegtl/include" | LOL_CFLAGS="$LOL_CFLAGS -I\$(lol_srcdir)/src/3rdparty/pegtl/include" | ||||
LOL_CFLAGS="$LOL_CFLAGS -I\$(lol_srcdir)/src/3rdparty/imgui" | LOL_CFLAGS="$LOL_CFLAGS -I\$(lol_srcdir)/src/3rdparty/imgui" | ||||
@@ -168,6 +167,8 @@ AM_CONDITIONAL(LOL_USE_GDIPLUS, test "${ac_cv_my_have_gdiplus}" = "yes") | |||||
dnl Are we building using MinGW? | dnl Are we building using MinGW? | ||||
LOL_TRY_CXXFLAGS(-mwindows -mwin32, | LOL_TRY_CXXFLAGS(-mwindows -mwin32, | ||||
[AM_CXXFLAGS="${AM_CXXFLAGS} -mwindows -mwin32" | [AM_CXXFLAGS="${AM_CXXFLAGS} -mwindows -mwin32" | ||||
LOL_CFLAGS="${LOL_CFLAGS} -I\$(lol_srcdir)/src/3rdparty/mingw-std-threads" | |||||
LOL_CFLAGS="${LOL_CFLAGS} -D__STDC_FORMAT_MACROS" | |||||
LOL_LIBS="${LOL_LIBS} -uWinMain -u_WinMain@16"]) | LOL_LIBS="${LOL_LIBS} -uWinMain -u_WinMain@16"]) | ||||
@@ -31,6 +31,7 @@ PKG_CHECK_MODULES([LIBAVCODEC], [libavcodec], [:], [ac_cv_my_have_ffmpeg=no]) | |||||
PKG_CHECK_MODULES([LIBAVUTIL], [libavutil], [:], [ac_cv_my_have_ffmpeg=no]) | PKG_CHECK_MODULES([LIBAVUTIL], [libavutil], [:], [ac_cv_my_have_ffmpeg=no]) | ||||
PKG_CHECK_MODULES([LIBAVFORMAT], [libavformat], [:], [ac_cv_my_have_ffmpeg=no]) | PKG_CHECK_MODULES([LIBAVFORMAT], [libavformat], [:], [ac_cv_my_have_ffmpeg=no]) | ||||
PKG_CHECK_MODULES([LIBSWSCALE], [libswscale], [:], [ac_cv_my_have_ffmpeg=no]) | PKG_CHECK_MODULES([LIBSWSCALE], [libswscale], [:], [ac_cv_my_have_ffmpeg=no]) | ||||
LOL_FFMPEG_EXTRA_LIBS="" | |||||
if test "${ac_cv_my_have_ffmpeg}" != "yes"; then | if test "${ac_cv_my_have_ffmpeg}" != "yes"; then | ||||
ac_cv_my_have_ffmpeg="yes" | ac_cv_my_have_ffmpeg="yes" | ||||
AC_CHECK_HEADERS(libavcodec/avcodec.h, [:], [ac_cv_my_have_ffmpeg=no]) | AC_CHECK_HEADERS(libavcodec/avcodec.h, [:], [ac_cv_my_have_ffmpeg=no]) | ||||
@@ -41,13 +42,21 @@ if test "${ac_cv_my_have_ffmpeg}" != "yes"; then | |||||
LIBAVUTIL_LIBS="-lavutil" | LIBAVUTIL_LIBS="-lavutil" | ||||
LIBAVFORMAT_LIBS="-lavformat" | LIBAVFORMAT_LIBS="-lavformat" | ||||
LIBSWSCALE_LIBS="-lswscale" | LIBSWSCALE_LIBS="-lswscale" | ||||
AC_CHECK_LIB(ws2_32, main, LOL_LIBS="${LOL_LIBS} -lws2_32") | |||||
LIBSWRESAMPLE_LIBS="-lswresample" | |||||
dnl Required by avformat/network.c | |||||
AC_CHECK_LIB(ws2_32, main, LOL_FFMPEG_EXTRA_LIBS="${LOL_FFMPEG_EXTRA_LIBS} -lws2_32") | |||||
dnl Required by avformat/tls_schannel.c | |||||
AC_CHECK_LIB(secur32, main, LOL_FFMPEG_EXTRA_LIBS="${LOL_FFMPEG_EXTRA_LIBS} -lsecur32") | |||||
dnl Required by avutil/random_seed.c | |||||
AC_CHECK_LIB(bcrypt, main, LOL_FFMPEG_EXTRA_LIBS="${LOL_FFMPEG_EXTRA_LIBS} -lbcrypt") | |||||
dnl Required by avcodec/dxva2.c | |||||
AC_CHECK_LIB(ole32, main, LOL_FFMPEG_EXTRA_LIBS="${LOL_FFMPEG_EXTRA_LIBS} -lole32") | |||||
fi | fi | ||||
fi | fi | ||||
if test "${ac_cv_my_have_ffmpeg}" = "yes"; then | if test "${ac_cv_my_have_ffmpeg}" = "yes"; then | ||||
AC_DEFINE(LOL_USE_FFMPEG, 1, Define to 1 to use FFmpeg) | AC_DEFINE(LOL_USE_FFMPEG, 1, Define to 1 to use FFmpeg) | ||||
LOL_CFLAGS="${LOL_CFLAGS} ${LIBAVFORMAT_CFLAGS} ${LIBAVUTIL_CFLAGS} ${LIBAVCODEC_CFLAGS} ${LIBSWSCALE_CFLAGS}" | LOL_CFLAGS="${LOL_CFLAGS} ${LIBAVFORMAT_CFLAGS} ${LIBAVUTIL_CFLAGS} ${LIBAVCODEC_CFLAGS} ${LIBSWSCALE_CFLAGS}" | ||||
LOL_LIBS="${LOL_LIBS} ${LIBAVFORMAT_LIBS} ${LIBAVUTIL_LIBS} ${LIBAVCODEC_LIBS} ${LIBSWSCALE_LIBS}" | |||||
LOL_LIBS="${LOL_LIBS} ${LIBAVFORMAT_LIBS} ${LIBAVCODEC_LIBS} ${LIBAVUTIL_LIBS} ${LIBSWSCALE_LIBS} ${LIBSWRESAMPLE_LIBS} ${LOL_FFMPEG_EXTRA_LIBS}" | |||||
fi | fi | ||||
]) # LOL_AC_CHECK_FFMPEG_INNER | ]) # LOL_AC_CHECK_FFMPEG_INNER | ||||
@@ -245,7 +245,7 @@ configure() | |||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/sdl-image-2.0.4/include" | CPPFLAGS="$CPPFLAGS -I$PWD/external/sdl-image-2.0.4/include" | ||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/sdl-mixer-2.0.4/include" | CPPFLAGS="$CPPFLAGS -I$PWD/external/sdl-mixer-2.0.4/include" | ||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/ffmpeg-20190130/include" | CPPFLAGS="$CPPFLAGS -I$PWD/external/ffmpeg-20190130/include" | ||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/glew-2.1.0/include/GL -DGLEW_STATIC" | |||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/glew-2.1.0/include -DGLEW_STATIC" | |||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/lib/glib-2.0/include" | CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/lib/glib-2.0/include" | ||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/lib/gtk-2.0/include" | CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/lib/gtk-2.0/include" | ||||
CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/include/glib-2.0" | CPPFLAGS="$CPPFLAGS -I$PWD/external/gtk-2.22.1/include/glib-2.0" | ||||
@@ -18,7 +18,7 @@ | |||||
using namespace lol; | using namespace lol; | ||||
int main() | |||||
int main(int, char **) | |||||
{ | { | ||||
timer t; | timer t; | ||||
@@ -38,5 +38,7 @@ int main() | |||||
printf("%d %d\n", (int)x, (int)y); | printf("%d %d\n", (int)x, (int)y); | ||||
printf("Time: %f s\n", t.get()); | printf("Time: %f s\n", t.get()); | ||||
return EXIT_SUCCESS; | |||||
} | } | ||||
@@ -177,6 +177,17 @@ namespace lol | |||||
} | } | ||||
// | |||||
// Ensure CreateFile2() is available on Mingw | |||||
// | |||||
#if defined _WIN32 && !defined _MSC_VER && \ | |||||
(!defined _WIN32_WINNT || _WIN32_WINNT < 0x0602) | |||||
# undef _WIN32_WINNT | |||||
# define _WIN32_WINNT 0x0602 | |||||
#endif | |||||
/* XXX: workaround for X11 headers that try to #define these */ | /* XXX: workaround for X11 headers that try to #define these */ | ||||
#undef Always | #undef Always | ||||
#define Always Always | #define Always Always | ||||