sinclude([ac/acx_pthread.m4]) sinclude([ac/ax_check_gl.m4]) 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 AC_CANONICAL_HOST # Commented out for now, since for some reason not all systems have # /usr/share/aclocal/gettext.m4 and can't get it. (Feisty Fawn for # one doesn't have it.) # wxWidgets doesn't use real gettext anyway, but implements its own # support, so only the gettext tools are required to compile the # po files. #AM_GNU_GETTEXT AC_DEFUN([AC_C_FLAG], [{ AC_LANG_PUSH(C) ac_c_flag_save="$CFLAGS" CFLAGS="$CFLAGS $1" AC_MSG_CHECKING([[whether $CC supports $1]]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]])], [AC_MSG_RESULT([yes])], [ CFLAGS="$ac_c_flag_save" AC_MSG_RESULT([no]) $2 ]) AC_LANG_POP(C) }]) AC_DEFUN([AC_CXX_FLAG], [{ AC_LANG_PUSH(C++) ac_cxx_flag_save="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $1" AC_MSG_CHECKING([[whether $CXX supports $1]]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]])], [AC_MSG_RESULT([yes])], [ CXXFLAGS="$ac_cxx_flag_save" AC_MSG_RESULT([no]) $2 ]) AC_LANG_POP(C++) }]) # Checks for programs. AC_PROG_CC AC_PROG_CXX AC_LANG(C++) AC_PROG_RANLIB AC_PATH_PROGS(CONVERT, [convert], []) if test -z "$CONVERT" then AC_MSG_FAILURE([aegisub needs convert (from ImageMagick) to produce xpms from the supplied bitmaps/icons]) fi ACX_PTHREAD([], [ AC_MSG_FAILURE([Aegisub needs pthreads]) ]) AC_CHECK_LIB([portaudio], [Pa_Initialize],, [with_portaudio=no]) AC_CHECK_FUNCS([Pa_GetStreamTime]) AC_CHECK_LIB([avcodec], [avcodec_init],, [AC_MSG_ERROR([avcodec not found.])]) AC_CHECK_LIB([avformat], [av_read_frame],, [AC_MSG_ERROR([avformat not found.])]) AC_CHECK_LIB([hunspell], [main],, [AC_MSG_ERROR([Hunspell not found.])]) # AC_CHECK_LIB([ruby1.9], [ruby_init],, [with_ruby=no]) AC_CHECK_HEADER([wchar.h],,[ AC_MSG_FAILURE([aegisub needs wide character support, find a wchar.h]) ]) PKG_CHECK_MODULES([FREETYPE], freetype2 >= 9.7.0,, [ AC_MSG_FAILURE([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_ERROR([Could not find system GL library]) 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_ERROR([wxWidgets is required. Try --with-wx-config.]) fi CPPFLAGS="$CPPFLAGS `$WXCONFIG --cppflags | sed -e 's/-fno-exceptions//'` $FREETYPE_CFLAGS" LIBS="$LIBS `$WXCONFIG --libs std,gl,stc` $FREETYPE_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_FAILURE([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_FAILURE([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_FAILURE([--with-libass given, but libass headers not found]) fi with_libass=no ]) ], [ if test "x$with_libass" != xcheck then AC_MSG_FAILURE([--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([-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([-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_PORTAUDIO], [test "$with_portaudio" != "no"]) #AM_CONDITIONAL([HAVE_RUBY], [test "$with_ruby" != "no"]) AC_OUTPUT([ Makefile ac/Makefile locale/Makefile FexTrackerSource/Makefile aegisub/Makefile aegisub/posix/Makefile aegisub/bitmaps/Makefile ])