Aegisub/configure.ac
Niels Martin Hansen cf2d2ff5d4 Fixed "cannot wait for thread termination (invalid handle)" error in Auto4/Lua on wxMSW 2.8.3 by removing threading dependency in Auto4LuaScript::Create. It wasn't needed there anyway.
Also removed absolute dependency on hunspell, Aegisub should just build without spellchecking support now. Finally removed requirement to have built with at least one spellchecker. (That was stupid.)

Originally committed to SVN as r1112.
2007-04-22 15:45:29 +00:00

221 lines
5.4 KiB
Text

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_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 <wx/glcanvas.h>
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 <wx/stc/stc.h>
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
])