mirror of https://github.com/odrling/Aegisub
219 lines
5.3 KiB
Plaintext
219 lines
5.3 KiB
Plaintext
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],, [AC_MSG_ERROR([portaudio not found.])])
|
|
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_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" ])
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
ac/Makefile
|
|
locale/Makefile
|
|
FexTrackerSource/Makefile
|
|
aegisub/Makefile
|
|
aegisub/posix/Makefile
|
|
aegisub/bitmaps/Makefile
|
|
])
|
|
|
|
|