AC_PREREQ(2.57) AC_INIT([Aegisub], [2.00-alpha],, [aegisub]) AC_CONFIG_AUX_DIR([ac]) AC_CONFIG_SRCDIR([aegisub/main.cpp]) AM_INIT_AUTOMAKE AC_CONFIG_HEADER([aegisub/posix/acconf.h]) AC_GNU_SOURCE AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.14.5]) AC_CANONICAL_HOST # --enable-lemming: make errors non-fatal. to be used for # creating dist packages on boxes without X11. intentionally # not appearing in --help :) ignore_failure="" AC_ARG_ENABLE([lemming], [], [ignore_failure="$enableval"]) AC_DEFUN([AC_MSG_XFAILURE], [{ if test "$ignore_failure" == "yes" then AC_MSG_WARN([$1]) else AC_MSG_FAILURE([$1]) fi }]) dnl Checks for programs. CHECK_GNU_MAKE AC_PROG_CC AC_PROG_CXX AC_LANG(C++) AC_PROG_LIBTOOL AC_PATH_PROGS(CONVERT, [convert], []) if test -z "$CONVERT"; then AC_MSG_XFAILURE([Aegisub needs convert (from ImageMagick) to produce xpms from the supplied bitmaps/icons]) fi ACX_PTHREAD([], [ AC_MSG_XFAILURE([Aegisub needs pthreads]) ]) AC_MSG_CHECKING([whether pthreads works]) AC_COMPILE_IFELSE([ #include #include int main() { return 0; } ], [ AC_MSG_RESULT([yes]) ], [ AC_MSG_RESULT([no]) echo <= 0.5, [found_audio=yes], [with_pulseaudio=no]) AC_CHECK_LIB([avcodec], [avcodec_init],, [with_ffmpeg=no]) AC_CHECK_LIB([avformat], [av_read_frame],, [with_ffmpeg=no]) if test "$with_ffmpeg" != "no"; then found_video_provider=yes fi AC_CHECK_LIB([hunspell], [main],, [with_hunspell=no]) AC_CHECK_LIB([ruby1.9], [ruby_init],, [with_ruby=no]) AC_CHECK_HEADER([wchar.h],,[ AC_MSG_XFAILURE([aegisub needs wide character support, find a wchar.h]) ]) PKG_CHECK_MODULES([FREETYPE], freetype2 >= 9.7.0,, [ AC_MSG_XFAILURE([aegisub needs FreeType2 2.1.9, go install it]) ]) WXCONFIG=wx-config AC_ARG_WITH(wx-config, AC_HELP_STRING([--with-wx-config=FILE], [Use specific wx-config script to determine wxWidgets configuration. [[wx-config]]]), [ if test "$withval" != "yes" -a "$withval" != ""; then WXCONFIG=$withval fi ]) AX_CHECK_GL if test ! "$GL_LIBS"; then AC_MSG_WARN([Could not find system GL library]) AC_MSG_XFAILURE([GL support is required to build Aegisub. (Try mesa3d)]) fi CPPFLAGS="$CPPFLAGS $GL_CFLAGS" LIBS="$LIBS $GL_LIBS" AC_MSG_CHECKING([wxWidgets version]) if wxversion=`$WXCONFIG --version`; then AC_MSG_RESULT([$wxversion]) else AC_MSG_RESULT([not found]) AC_MSG_XFAILURE([wxWidgets is required. Try --with-wx-config.]) fi CPPFLAGS="$CPPFLAGS `$WXCONFIG --cppflags | sed -e 's/-fno-exceptions//'` $FREETYPE_CFLAGS $LIBPULSE_CFLAGS" LIBS="$LIBS `$WXCONFIG --libs std,gl,stc` $FREETYPE_LIBS $LIBPULSE_LIBS" AC_MSG_CHECKING([wxWidgets OpenGL support]) AC_LINK_IFELSE([ #include int main(int argc, char **argv) { wxGLCanvas *canvas; return 0; } ],[ AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([not available]) AC_MSG_XFAILURE([wxWidgets OpenGL support missing]) ]) AC_MSG_CHECKING([wxWidgets StyledTextCtrl support]) AC_LINK_IFELSE([ #include int main(int argc, char **argv) { wxStyledTextCtrl *canvas; return 0; } ],[ AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([not available]) AC_MSG_XFAILURE([wxWidgets missing StyledTextCtrl]) ]) AC_CHECK_LIB([m], [main]) AC_CHECK_LIB([dl], [dlopen]) AC_ARG_WITH([libass], [AS_HELP_STRING([--without-libass],[disable libass @<:@default=check@:>@])],[],[with_libass=check]) AS_IF([test "x$with_libass" != xno], [ PKG_CHECK_MODULES([LIBASS], libass >= 0.9.1, [ CPPFLAGS="$CPPFLAGS $LIBASS_CFLAGS" LIBS="$LIBS $LIBASS_LIBS" AC_DEFINE(HAVE_LIBASS, 1, [found libass via pkg-config]) AC_CHECK_HEADERS([ass/ass.h], [ with_libass=yes ], [ if test "x$with_libass" != xcheck then AC_MSG_XFAILURE([--with-libass given, but libass headers not found]) fi with_libass=no ]) ], [ if test "x$with_libass" != xcheck then AC_MSG_XFAILURE([--with-libass given, but libass pkgconfig module found]) fi with_libass=no ]) ]) PKG_CHECK_MODULES([GLIB], glib-2.0, [ CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS" AC_CHECK_LIB([ssa], [SSA_Init]) AC_CHECK_HEADERS([libssa/libssa.h]) ], [ AC_MSG_WARN([not testing for libssa as it depends on glib-2.0, which was not found]) ]) AC_C_CONST AC_C_INLINE AC_C_VOLATILE AC_PROG_INSTALL AC_MSG_CHECKING([[whether preprocessor supports #pragma once]]) AC_PREPROC_IFELSE( [AC_LANG_PROGRAM([[#pragma once]])], [ AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_PRAGMA_ONCE], [1], [Preprocessor support for #pragma once]) ], [AC_MSG_RESULT([no])]) AC_C_FLAG([-Wall]) AC_C_FLAG([-O2]) AC_C_FLAG([-Wextra],[AC_C_FLAG([-W])]) AC_C_FLAG([-Wno-unused-parameter]) AC_C_FLAG([-std=gnu99]) AC_CXX_FLAG([-Wall]) AC_CXX_FLAG([-Wextra],[AC_CXX_FLAG([-W])]) AC_CXX_FLAG([-Wno-unused-parameter]) AC_CXX_FLAG([-Wno-long-long]) AC_CXX_FLAG([-O2]) AC_CXX_FLAG([-fpermissive]) AC_CXX_FLAG([-fno-strict-aliasing]) AC_CXX_FLAG([-std=c++98]) AC_PATH_XTRA AC_HEADER_STDC AC_HEADER_STDBOOL AC_CONFIG_SUBDIRS([csri]) AM_CONDITIONAL([USE_LIBASS], [test "$with_libass" != "no" ]) AM_CONDITIONAL([HAVE_ALSA], [test "$with_alsa" != "no"]) AM_CONDITIONAL([HAVE_PORTAUDIO], [test "$with_portaudio" != "no"]) AM_CONDITIONAL([HAVE_PULSEAUDIO], [test "$with_pulseaudio" != "no"]) AM_CONDITIONAL([HAVE_HUNSPELL], [test "$with_hunspell" != "no"]) AM_CONDITIONAL([HAVE_FFMPEG], [test "$with_ffmpeg" != "no"]) dnl FIXME: These three should probably get proper --with flags, dnl and Ruby also keep its detection (warn/fail if you have --with-ruby dnl but the lib isn't detected.) AM_CONDITIONAL([WITH_AUTO4_RUBY], [test "$with_ruby" != "no"]) AM_CONDITIONAL([WITH_AUTO4_LUA], [true]) dnl TODO: Make the auto3 lib build on non-Win32 so this can be true AM_CONDITIONAL([WITH_AUTO3], [true]) AC_OUTPUT([ Makefile ac/Makefile auto3/Makefile automation/Makefile po/Makefile.in aegisub/Makefile aegisub/bitmaps/Makefile aegisub/posix/Makefile ]) if test -z "$found_audio"; then echo <