diff --git a/configure.in b/configure.in index 181dbbd65..58df3dfb7 100644 --- a/configure.in +++ b/configure.in @@ -707,48 +707,41 @@ AM_OPTIONS_WXCONFIG AM_PATH_WXCONFIG(2.8.1, [have_wxconfig=1], [have_wxconfig=0], [std,gl,stc]) if test "$have_wxconfig" != 1; then - AC_MSG_FAILURE([ -wxWidgets detection failed, please set --with-wx* or add -the libraries to your LDFLAGS, CXX/CFLAGS. - ]) + AC_MSG_FAILURE([wxWidgets detection failed, please set --with-wx* or add +the libraries to your LDFLAGS, CXX/CFLAGS.]) fi aegisub_save_CPPLAGS="$CPPLAGS" CPPFLAGS="$WX_CFLAGS" AC_ARG_ENABLE(wx-opengl, [ --enable-wx-opengl Force wxwidgets OpenGL support. ]) -AC_MSG_CHECKING([wxWidgets OpenGL support]) -if test "$enable_wx_opengl" != "yes"; then - AC_TRY_COMPILE([#include ], - [wxGLCanvas *canvas;], - with_wxgl=yes, with_wxgl=no) -else - with_wxgl="yes" -fi -AC_MSG_RESULT($with_wxgl) -if test "$with_wxgl" = "no"; then + + AC_AGI_LINK([wxWidgets OpenGL support], [wxopengl], [wx/glcanvas.h], [$GL_CFLAGS $WX_CFLAGS], [$GL_LIBS $WX_LIBS],[ +#include +int main(void) { + wxGLCanvas *canvas; + return 0; +}]) + +if test "$with_agi_wxopengl" = "no"; then AC_MSG_FAILURE([wxWidgets OpenGL support missing]) fi + AC_ARG_ENABLE(wx-styledtextctrl, [ --enable-wx-styledtextctrl - Force wxwidgets StyledTextCtrl support. ]) -AC_MSG_CHECKING([wxWidgets StyledTextCtrl support]) -if test "$enable_wx_styledtextctrl" != "yes"; then - AC_TRY_COMPILE([#include ], - [wxStyledTextCtrl *canvas;], - with_wxstc=yes, with_wxstc=no) -else - with_wxstc="yes" + Force wxwidgets StyledTextCtrl support.]) + + AC_AGI_LINK([wxWidgets StyledTextCtrl support], [wxstc], [wx/stc/stc.h], [$WX_CFLAGS], [$WX_LIBS],[ +#include +int main(void) { + wxStyledTextCtrl *canvas; + return 0; +} +]) + +if test "$with_agi_wxstc" = "no"; then + AC_MSG_FAILURE([wxWidgets StyledTextCtrl support missing]) fi -AC_MSG_RESULT($with_wxstc) - -if test "$with_wxstc" = "no"; then - AC_MSG_FAILURE([wxWidgets missing StyledTextCtrl]) -fi - -CPPFLAGS="$aegisub_save_CPPFLAGS" - - ################################################ diff --git a/m4macros/ac_agi.m4 b/m4macros/ac_agi.m4 index 8c9b236a3..0a14db305 100644 --- a/m4macros/ac_agi.m4 +++ b/m4macros/ac_agi.m4 @@ -12,3 +12,27 @@ AC_DEFUN([AC_AGI_COMPILE],[ CPPFLAGS="$aegisub_save_CPPFLAGS" LDFLAGS="$aegisub_save_LDFLAGS" ]) + + +AC_DEFUN([AC_AGI_LINK],[ + aegisub_save_CPPFLAGS="$CPPFLAGS" + aegisub_save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$4" + CXXFLAGS="$CPPFLAGS" + AC_CHECK_HEADER([$3],[agi_header="yes"], [agi_header="no"]) + if test "$agi_header" = "yes"; then + aegisub_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$5" + AC_CACHE_CHECK( + [whether $1 works], [agi_with_$2], + [AC_LINK_IFELSE([$6], + [eval agi_with_$2="yes"], + [eval agi_with_$2="no"]) + ]) + LDFLAGS="$aegisub_save_LDFLAGS" + else + eval agi_with_$2="no" + fi + CPPFLAGS="$aegisub_save_CPPFLAGS" + CXXFLAGS="$aegisub_save_CXXFLAGS" +])