forked from mia/Aegisub
930f593d6a
What's left to be done: * Crash support. (only works for 'reports') * UI cleanups. * Interfacing with Aegisub to get proper metrics. * OSX support. * Windows support. (someone else will have to do this) * Server-side code. There's probably a lot of other things I'm forgetting, anyone is free to commit to this, if you want to make major changes let me know beforehand. Originally committed to SVN as r3475.
1223 lines
34 KiB
Text
1223 lines
34 KiB
Text
AC_PREREQ(2.57)
|
|
|
|
######################
|
|
# aegisub version info
|
|
######################
|
|
m4_define([aegisub_version_major], [2])
|
|
m4_define([aegisub_version_minor], [2])
|
|
m4_define([aegisub_version_revision], [0])
|
|
m4_define([aegisub_version], [aegisub_version_major.aegisub_version_minor.aegisub_version_revision-dev])
|
|
m4_define([aegisub_version_data], [aegisub_version_major.aegisub_version_minor])
|
|
|
|
|
|
###################
|
|
# Required packages
|
|
###################
|
|
m4_define([libavcodec_required_version], [52.27.0]) # (r18642)
|
|
m4_define([libavformat_required_version], [52.32.0]) # (r18642)
|
|
m4_define([libavutil_required_version], [50.3.0]) # (r18642)
|
|
m4_define([libpostproc_required_version], [51.2.0]) # (r18642)
|
|
m4_define([libswscale_required_version], [0.7.1]) # (r18642)
|
|
|
|
m4_define([lua_auto4_required_version], [5.1])
|
|
m4_define([portaudio_required_version], [19])
|
|
m4_define([pulseaudio_required_version], [0.5])
|
|
m4_define([curl_required_version], [7.19.2])
|
|
m4_define([fontconfig_required_version], [2.4])
|
|
m4_define([freetype_required_version], [9.7.0])
|
|
m4_define([pkgconfig_required_version], [0.20])
|
|
m4_define([wx_required_version], [2.9.0])
|
|
|
|
|
|
#######
|
|
# Setup
|
|
#######
|
|
AC_INIT([Aegisub], [aegisub_version],, [aegisub])
|
|
AC_CONFIG_SRCDIR([src/main.cpp])
|
|
AM_INIT_AUTOMAKE
|
|
AC_CONFIG_HEADER([acconf.h])
|
|
AC_GNU_SOURCE
|
|
AC_CANONICAL_HOST
|
|
|
|
###########################
|
|
# Check target architecture
|
|
###########################
|
|
|
|
AC_MSG_CHECKING([for target architecture])
|
|
case x"$target" in
|
|
xNONE | x)
|
|
target_or_host="$host" ;;
|
|
*)
|
|
target_or_host="$target" ;;
|
|
esac
|
|
AC_MSG_RESULT([$target_or_host])
|
|
|
|
case "$target_or_host" in
|
|
*-*-darwin*)
|
|
build_darwin="yes"
|
|
;;
|
|
|
|
*-*-linux*)
|
|
build_linux="yes"
|
|
;;
|
|
|
|
*)
|
|
build_default="yes"
|
|
;;
|
|
esac
|
|
|
|
case "$target_or_host" in
|
|
ppc-*-* | powerpc-*)
|
|
arch_ppc="yes"
|
|
;;
|
|
|
|
i*86-*-*)
|
|
arch_x86="yes"
|
|
;;
|
|
|
|
x86_64-*-*)
|
|
arch_x86="yes"
|
|
arch_x86_64="yes"
|
|
;;
|
|
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
if test "$build_darwin" = "yes"; then
|
|
if test "$arch_x86" = "yes"; then
|
|
DARWIN_ARCH="intel"
|
|
elif test "$arch_ppc" = "yes"; then
|
|
DARWIN_ARCH="ppc"
|
|
fi
|
|
AC_SUBST(DARWIN_ARCH)
|
|
fi
|
|
|
|
# Used for universalchardet.
|
|
AC_AGI_MDCPUCFG($target_or_host)
|
|
|
|
# For conditional file building and options in Makefile(s).
|
|
AM_CONDITIONAL([BUILD_DARWIN], [test "$build_darwin" = "yes"])
|
|
AM_CONDITIONAL([BUILD_DEFAULT], [test "$build_default" = "yes"])
|
|
|
|
# FontConfig is used on Darwin for the fontlister, freetype for !Windows case.
|
|
AM_CONDITIONAL([FONTLISTER_FONTCONFIG], [test "$build_darwin" != "yes"])
|
|
AM_CONDITIONAL([FONTLISTER_FREETYPE], [test "$build_darwin" = "yes"])
|
|
|
|
# Handle endianess.
|
|
AC_C_BIGENDIAN(
|
|
AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian]),
|
|
AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian]),
|
|
AC_DEFINE([HAVE_DYNAMIC_ENDIAN], [1], [Unknown endian]),
|
|
AC_DEFINE([HAVE_UNIVERSAL_ENDIAN], [1], [Universal Endian (MAC Universal PPC/Intel Binaries, uses HAVE_DYNAMIC_ENDIAN)])
|
|
)
|
|
|
|
|
|
########################
|
|
# Configurable variables
|
|
########################
|
|
|
|
# These cannot be set before AC_INIT()
|
|
AEGISUB_VERSION_MAJOR=aegisub_version_major
|
|
AEGISUB_VERSION_MINOR=aegisub_version_minor
|
|
AEGISUB_VERSION=aegisub_version
|
|
# Used for gettext.
|
|
AEGISUB_VERSION_DATA=aegisub_version_data
|
|
|
|
# Suffix used for data paths.
|
|
AC_DEFINE_UNQUOTED(AEGISUB_VERSION_DATA, ["$AEGISUB_VERSION_DATA"], [Data path suffix.])
|
|
AC_SUBST(AEGISUB_VERSION_DATA)
|
|
|
|
# Shared data and Documents location.
|
|
aegisubdatadir="$datadir/$PACKAGE/aegisub_version_data"
|
|
AC_SUBST(aegisubdatadir)
|
|
aegisubdocdir="$datadir/doc/$PACKAGE/aegisub_version_data"
|
|
AC_SUBST(aegisubdocdir)
|
|
|
|
# Name of aegisub binary.
|
|
AEGISUB_COMMAND="aegisub-$AEGISUB_VERSION_MAJOR.$AEGISUB_VERSION_MINOR"
|
|
AC_SUBST(AEGISUB_COMMAND)
|
|
|
|
# Handle location of desktop files: http://freedesktop.org/wiki/Specifications/desktop-entry-spec
|
|
AC_ARG_WITH(desktop-dir, [ --with-desktop-dir=PATH desktop file locations (default: PREFIX/share)])
|
|
if ! test -z "$with_desktop_dir" ; then
|
|
DESKTOP_DATADIR=$with_desktop_dir
|
|
else
|
|
DESKTOP_DATADIR="$datadir"
|
|
fi
|
|
AM_CONDITIONAL(DESKTOP_DATADIR, test "$with_desktop_dir" != "no")
|
|
AC_SUBST(DESKTOP_DATADIR)
|
|
|
|
|
|
# Install prefix
|
|
# If a user doesn't supply --prefix then it is set to NONE so we
|
|
# set it to $ac_default_prefix if it hasn't been supplied.
|
|
if test "$prefix" = "NONE"; then
|
|
prefix="$ac_default_prefix"
|
|
fi
|
|
|
|
# Install prefix used by wxStandardPaths::SetInstallPrefix.
|
|
AC_DEFINE_UNQUOTED([INSTALL_PREFIX], ["$prefix"], [Default install prefix, or --prefix.])
|
|
|
|
# Build credit
|
|
AC_ARG_WITH(build-credit, [ --with-build-credit=NAME
|
|
Build credit shown in the program title.], [use_build_credit="yes"])
|
|
AC_MSG_CHECKING([whether BUILD_CREDIT has been set])
|
|
if test "$use_build_credit" = "yes"; then
|
|
if test "$with_build_credit" = "yes" || test -z "$with_build_credit"; then
|
|
AC_MSG_FAILURE([You must set a value eg --with-build-credit=<username>])
|
|
else
|
|
AC_MSG_RESULT([yes ($with_build_credit)])
|
|
AC_DEFINE_UNQUOTED([BUILD_CREDIT], ["$with_build_credit"], [Build credit supplied in application title using --with-build-credit=])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
|
|
####################
|
|
# Check for programs
|
|
####################
|
|
CHECK_GNU_MAKE
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_LANG(C++)
|
|
AM_PROG_CC_C_O
|
|
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_INSTALL
|
|
PKG_PROG_PKG_CONFIG([pkgconfig_required_version])
|
|
|
|
|
|
#################
|
|
# Developers only
|
|
#################
|
|
AM_MAINTAINER_MODE
|
|
|
|
# XXX: This needs to be fixed to handle mixed revisions properly
|
|
# There is probably a better way to handle it as well...
|
|
AC_MSG_CHECKING([for svn version])
|
|
if test -d "$srcdir/.svn"; then
|
|
SVN_REVISION=`svnversion $srcdir | sed "s/\(^@<:@0-9@:>@*\).*/\1/"`
|
|
`echo $SVN_REVISION > $srcdir/svn_revision`
|
|
AC_MSG_RESULT([$SVN_REVISION from "svnversion $srcdir"])
|
|
elif test -f "$srcdir/svn_revision"; then
|
|
SVN_REVISION=`cat $srcdir/svn_revision`
|
|
AC_MSG_RESULT([$SVN_REVISION from "$srcdir/svn_revision"])
|
|
else
|
|
AC_MSG_RESULT([not found])
|
|
AC_MSG_FAILURE([unable to get SVN Revision from $srcdir/svn_version or 'svnversion $srcdir'])
|
|
fi
|
|
|
|
# This is required in order for the config file to work correctly.
|
|
AC_DEFINE_UNQUOTED([BUILD_SVN_REVISION], [$SVN_REVISION], [SVN Revision number, used for config.dat and verison.cpp])
|
|
|
|
# Used on OSX and Unix for packing building.
|
|
PACKAGE_STRING="${PACKAGE_STRING}-r$SVN_REVISION"
|
|
PACKAGE_VERSION="${PACKAGE_VERSION}-r$SVN_REVISION"
|
|
VERSION="${VERSION}-r$SVN_REVISION"
|
|
|
|
# Used in version.cpp
|
|
AC_MSG_CHECKING([for build date])
|
|
BUILD_DATE=`date "+%Y-%m-%d %H:%M %Z"`
|
|
AC_MSG_RESULT($BUILD_DATE)
|
|
|
|
AC_SUBST(SVN_REVISION)
|
|
AC_SUBST(BUILD_DATE)
|
|
|
|
|
|
###################################################
|
|
# Check for pthreads and setup variables / compiler
|
|
###################################################
|
|
ACX_PTHREAD([], [AC_MSG_FAILURE([aegisub requires pthreads])])
|
|
#LIBS="$PTHREAD_LIBS $LIBS";
|
|
#CFLAGS="$CFLAGS $PTHREAD_CFLAGS";
|
|
CC="$PTHREAD_CC";
|
|
|
|
|
|
######################
|
|
# Check compiler flags
|
|
######################
|
|
AC_ARG_ENABLE(compiler-flags, [ --disable-compiler-flags
|
|
Disable *all* additional compiler flags. (default=no)])
|
|
|
|
if test "$enable_compiler_flags" != "no"; then
|
|
AC_C_FLAG([-Wall])
|
|
AC_C_FLAG([-Wextra],[AC_C_FLAG([-W])])
|
|
AC_C_FLAG([-Wno-unused-parameter])
|
|
AC_C_FLAG([-std=gnu99])
|
|
AC_C_FLAG([-pipe])
|
|
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([-pipe])
|
|
|
|
# -O* messes with debugging.
|
|
if test "$enable_debug" != "yes"; then
|
|
AC_C_FLAG([-O2])
|
|
AC_CXX_FLAG([-O2])
|
|
fi
|
|
fi
|
|
|
|
######################################
|
|
# Check Headers / Features / Libraries
|
|
######################################
|
|
AC_PATH_XTRA
|
|
AC_HEADER_STDC
|
|
AC_HEADER_STDBOOL
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_C_VOLATILE
|
|
AC_CHECK_LIB([m], [main])
|
|
|
|
AC_CHECK_FUNC([strlcpy], [
|
|
AC_DEFINE([HAVE_STRLCPY], [1], [strlcpy() exists in the c library.])
|
|
], [])
|
|
|
|
AC_LIBTOOL_DLOPEN_SELF
|
|
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])])
|
|
|
|
AX_OPENMP([], [with_openmp="no"])
|
|
AM_CONDITIONAL([HAVE_OPENMP], [test "$with_openmp" != "no"])
|
|
AC_SUBST(OPENMP_CXXFLAGS)
|
|
|
|
|
|
|
|
##############################
|
|
# Program Support and Features
|
|
##############################
|
|
#################
|
|
## Wide Character
|
|
#################
|
|
AC_CHECK_HEADER([wchar.h],,[AC_MSG_FAILURE([aegisub requires wide character support])])
|
|
|
|
|
|
#########
|
|
## OpenGL
|
|
#########
|
|
AX_CHECK_GL
|
|
if test ! "$GL_LIBS"; then
|
|
AC_MSG_FAILURE([aegisub requires GL support.])
|
|
fi
|
|
AC_SUBST(GL_CFLAGS)
|
|
AC_SUBST(GL_LIBS)
|
|
|
|
|
|
#XXX: This needs to be fixed for OSX.
|
|
AC_AGI_COMPILE([OpenGL], [opengl], [$GL_CFLAGS], [$GL_LIBS],[
|
|
int main(void) {
|
|
return 0;
|
|
}])
|
|
|
|
if test "$agi_cv_with_opengl" = "no"; then
|
|
AC_MSG_FAILURE([Please install a working OpenGL library.])
|
|
fi
|
|
|
|
AC_AGI_COMPILE([OpenGLU], [openglu], [$GL_CFLAGS], [$GL_LIBS -lGLU],[
|
|
#include <GL/glu.h>
|
|
int main(void) {
|
|
return 0;
|
|
}])
|
|
|
|
if test "$agi_cv_with_openglu" = "no" && test "$build_darwin" != "yes"; then
|
|
AC_MSG_FAILURE([Please install a working OpenGL GLU library.])
|
|
fi
|
|
|
|
#######
|
|
## cURL
|
|
#######
|
|
PKG_CHECK_MODULES(LIBCURL, libcurl >= curl_required_version,,
|
|
[AC_MSG_FAILURE([aegisub requires >= cURL curl_required_version])])
|
|
|
|
AC_AGI_COMPILE([cURL], [curl], [$LIBCURL_CFLAGS], [$LIBCURL_LIBS],[
|
|
#include <curl/curl.h>
|
|
int main(void) {
|
|
CURL *handle = curl_easy_init();
|
|
}])
|
|
|
|
if test "$agi_cv_with_curl" = "no"; then
|
|
AC_MSG_FAILURE([Please install a working cURL library.])
|
|
fi
|
|
|
|
|
|
###########
|
|
## Freetype
|
|
###########
|
|
PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype_required_version,
|
|
AC_DEFINE(WITH_FREETYPE2, 1, [Enable FreeType 2 support.]),
|
|
[AC_MSG_FAILURE([aegisub requires >= FreeType2 freetype_required_version])])
|
|
|
|
AC_AGI_COMPILE([Freetype], [freetype], [$FREETYPE_CFLAGS], [$FREETYPE_LIBS],[
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
int main(void) {
|
|
FT_Library ft;
|
|
if (FT_Init_FreeType(&ft)) { return 1; }
|
|
return 0;
|
|
}])
|
|
|
|
if test "$agi_cv_with_freetype" = "no"; then
|
|
AC_MSG_FAILURE([Please install a working Freetype library.])
|
|
fi
|
|
|
|
|
|
#############
|
|
## Fontconfig
|
|
#############
|
|
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version)
|
|
|
|
AC_AGI_COMPILE([FontConfig], [fontconfig], [$FONTCONFIG_CFLAGS], [$FONTCONFIG_LIBS],[
|
|
#include <fontconfig/fontconfig.h>
|
|
int main(void) {
|
|
int fc = FcInit();
|
|
FcConfig* config;
|
|
config = FcConfigGetCurrent();
|
|
if ((!config) || (!fc)) { return 1;}
|
|
return 0;
|
|
}])
|
|
|
|
if test "$agi_cv_with_fontconfig" = "no"; then
|
|
AC_MSG_FAILURE([Please install a working Fontconfig library.])
|
|
fi
|
|
|
|
AC_DEFINE(WITH_FONTCONFIG, 1, [Enable FontConfig support.])
|
|
AC_SUBST(FONTCONFIG_CFLAGS)
|
|
AC_SUBST(FONTCONFIG_LIBS)
|
|
|
|
|
|
|
|
########
|
|
## iconv
|
|
########
|
|
AC_ARG_VAR([ICONV_CFLAGS], [CFLAGS to use for iconv (default: CPPFLAGS)])
|
|
AC_ARG_VAR([ICONV_LDFLAGS], [LDFLAGS to use for iconv (default: LDFLAGS -liconv)])
|
|
|
|
if test -z "$ICONV_LDFLAGS"; then
|
|
if test "$build_linux" = "yes"; then
|
|
ICONV_LDFLAGS="$LDFLAGS"
|
|
else
|
|
ICONV_LDFLAGS="$LDFLAGS -liconv";
|
|
fi
|
|
fi
|
|
|
|
if test -z "$ICONV_CFLAGS"; then
|
|
ICONV_CFLAGS="$CPPFLAGS";
|
|
fi
|
|
|
|
AC_AGI_COMPILE([iconv], [iconv], [$ICONV_CFLAGS], [$ICONV_LDFLAGS],[
|
|
#include <iconv.h>
|
|
int main(void) {
|
|
iconv_t ic;
|
|
ic = iconv_open ("UTF-8", "UTF-8");
|
|
if (!ic) return 1;
|
|
return 0;
|
|
} ])
|
|
|
|
AC_SUBST(ICONV_LDFLAGS)
|
|
AC_SUBST(ICONV_CFLAGS)
|
|
|
|
|
|
|
|
###############
|
|
# Audio Players
|
|
###############
|
|
#######
|
|
## ALSA
|
|
#######
|
|
AC_ARG_WITH(alsa, [ --without-alsa build without ALSA audio provider. (default: auto)], alsa_disabled="(disabled)")
|
|
|
|
AC_ARG_VAR([ALSA_CFLAGS], [CFLAGS to use for ALSA (default: CPPFLAGS)])
|
|
AC_ARG_VAR([ALSA_LDFLAGS], [LDFLAGS to use for ALSA (default: -lasound)])
|
|
|
|
if test -z "$ALSA_LDFLAGS"; then
|
|
ALSA_LDFLAGS="-lasound";
|
|
fi
|
|
|
|
if test -z "$ALSA_CFLAGS"; then
|
|
ALSA_CFLAGS="$CPPFLAGS";
|
|
fi
|
|
|
|
if test "$with_alsa" != "no"; then
|
|
aegisub_save_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$ALSA_LDFLAGS"
|
|
AC_CHECK_LIB([asound], [snd_pcm_open], [ALSA_LDFLAGS="-lasound"; with_alsa="yes"], [with_alsa="no"])
|
|
LDFLAGS="$aegisub_save_LDFLAGS"
|
|
fi
|
|
|
|
if test "$with_alsa" != "no"; then
|
|
AC_DEFINE(WITH_ALSA, 1, [Enable ALSA Support])
|
|
found_audio_player="yes"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_ALSA], [test "$with_alsa" != "no"])
|
|
AC_SUBST(ALSA_LDFLAGS)
|
|
|
|
|
|
############
|
|
## PortAudio
|
|
############
|
|
|
|
AC_ARG_WITH(portaudio,[ --without-portaudio build without PortAudio v19 audio provider.
|
|
(default: auto)], pulseaudio_disabled="(disabled)")
|
|
if test "$with_portaudio" != "no"; then
|
|
PKG_CHECK_MODULES(PORTAUDIO, portaudio-2.0 >= portaudio_required_version, [with_portaudio="yes"], [with_portaudio="no"])
|
|
fi
|
|
|
|
if test "$with_portaudio" != "no"; then
|
|
AC_AGI_COMPILE([PortAudio], [portaudio], [$PORTAUDIO_CFLAGS], [$PORTAUDIO_LIBS],[
|
|
#include <portaudio.h>
|
|
int main(void) {
|
|
PaError err = Pa_Initialize();
|
|
if (err != paNoError) return 1;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$agi_cv_with_portaudio" = "no" && test "$with_portaudio" = "yes"; then
|
|
AC_MSG_WARN([PortAudio detected, but it doesn't work...])
|
|
with_portaudio="no"
|
|
fi
|
|
|
|
if test "$agi_cv_with_portaudio" = "yes" && test "$with_portaudio" = "yes"; then
|
|
AC_DEFINE(WITH_PORTAUDIO, 1, [Enable PortAudio v19 support])
|
|
found_audio_player="yes"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_PORTAUDIO], [test "$with_portaudio" != "no"])
|
|
|
|
|
|
#############
|
|
## PulseAudio
|
|
#############
|
|
|
|
AC_ARG_WITH(pulseaudio,[ --without-pulseaudio build without PulseAudio audio provider.
|
|
(default: auto)], pulseaudio_disabled="(disabled)")
|
|
if test "$with_pulseaudio" != "no"; then
|
|
PKG_CHECK_MODULES(LIBPULSE, libpulse >= pulseaudio_required_version, [with_pulseaudio="yes"], [with_pulseaudio="no"])
|
|
fi
|
|
|
|
if test "$with_pulseaudio" != "no"; then
|
|
AC_AGI_COMPILE([PuleseAudio], [pulseaudio], [$LIBPULSE_CFLAGS], [$LIBPULSE_LIBS],[
|
|
#include <pulse/pulseaudio.h>
|
|
int main(void) {
|
|
pa_threaded_mainloop *mainloop = pa_threaded_mainloop_new();
|
|
if (!mainloop) return 1;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$agi_cv_with_pulseaudio" = "no" && test "$with_pulseaudio" = "yes"; then
|
|
AC_MSG_WARN([PulseAudio detected, but it doesn't work...])
|
|
with_pulseaudio="no"
|
|
fi
|
|
|
|
if test "$agi_cv_with_pulseaudio" = "yes" && test "$with_pulseaudio" = "yes"; then
|
|
AC_DEFINE(WITH_PULSEAUDIO, 1, [Enable PulseAudio support])
|
|
found_audio_player="yes"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_PULSEAUDIO], [test "$with_pulseaudio" != "no"])
|
|
|
|
|
|
#########
|
|
## OpenAL
|
|
#########
|
|
AC_ARG_WITH(openal,[ --without-openal build without OpenAL audio provider.
|
|
(default: auto)], openal_disabled="(disabled)")
|
|
if test "$with_openal" != "no"; then
|
|
PKG_CHECK_MODULES(OPENAL, openal >= 0.0.8, [with_openal=yes], [with_openal=no])
|
|
fi
|
|
|
|
if test "$with_openal" != "no"; then
|
|
AC_AGI_COMPILE([OpenAL], [openal], [$OPENAL_CFLAGS], [$OPENAL_LIBS],[
|
|
#if defined(__APPLE__)
|
|
#include <OpenAL/AL.h>
|
|
#include <OpenAL/ALC.h>
|
|
#else
|
|
#include <AL/al.h>
|
|
#include <AL/alc.h>
|
|
#endif
|
|
int main(void) {
|
|
ALCdevice *device = alcOpenDevice(0);
|
|
if (!device) return 1;
|
|
ALCcontext *context = alcCreateContext(device, 0);
|
|
if (!context) return 1;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$agi_cv_with_openal" = "no" && test "$with_openal" = "yes"; then
|
|
AC_MSG_WARN([OpenAL detected, but it doesn't work...])
|
|
with_openal="no"
|
|
fi
|
|
|
|
if test "$agi_cv_with_openal" = "yes" && test "$with_openal" = "yes"; then
|
|
found_audio_player="yes"
|
|
AC_DEFINE(WITH_OPENAL, 1, [Enable OpenAL support])
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_OPENAL], [test "$with_openal" != "no"])
|
|
|
|
|
|
#########################
|
|
# Video / Audio Providers
|
|
#########################
|
|
|
|
AC_ARG_WITH(ffmpeg, [ --without-ffmpeg build without FFMPEG support.
|
|
Disables FFMPEG and FFmpegSource A/V providers.
|
|
(default: auto)], [ffmpeg_disabled="(disabled)"; with_ffmpeg="no"])
|
|
|
|
if test "$with_ffmpeg" != "no"; then
|
|
PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= libavcodec_required_version, [], [with_ffmpeg="no"])
|
|
PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= libavformat_required_version, [], [with_ffmpeg="no"])
|
|
PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= libswscale_required_version, [], [with_ffmpeg="no"])
|
|
PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= libavutil_required_version, [], [with_ffmpeg="no"])
|
|
fi
|
|
|
|
if test "$with_ffmpeg" != "no" && test "$enable_old_ffmpeg" != "yes"; then
|
|
AC_AGI_COMPILE([FFMPEG], [ffmpeg], [$LIBSWSCALE_CFLAGS $LIBAVCODEC_CFLAGS $LIBAVFORMAT_CFLAGS $LIBAVUTIL_CFLAGS], [$LIBSWSCALE_LIBS $LIBAVCODEC_LIBS $LIBAVFORMAT_LIBS $LIBAVUTIL_LIBS],[
|
|
extern "C" {
|
|
#include <libavformat/avformat.h>
|
|
#include <libavcodec/avcodec.h>
|
|
#include <libswscale/swscale.h>
|
|
}
|
|
|
|
int main (void) {
|
|
AVFormatContext *fc = NULL;
|
|
AVCodec *c = NULL;
|
|
SwsContext *swsc = NULL;
|
|
|
|
av_register_all();
|
|
fc = av_alloc_format_context();
|
|
if (fc == NULL) {
|
|
printf("avformat failure\n");
|
|
return 1;
|
|
}
|
|
av_free(fc);
|
|
|
|
avcodec_init();
|
|
avcodec_register_all();
|
|
c = avcodec_find_decoder(CODEC_ID_PCM_S16LE);
|
|
if (c == NULL) {
|
|
printf("avcodec failure\n");
|
|
return 1;
|
|
}
|
|
|
|
swsc = sws_getContext(704, 480, PIX_FMT_RGB32, 704, 480, PIX_FMT_YUV420P, SWS_BILINEAR, NULL, NULL, NULL);
|
|
if (swsc == NULL) {
|
|
printf("swscale failure\n");
|
|
return 1;
|
|
}
|
|
sws_freeContext(swsc);
|
|
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$agi_cv_with_ffmpeg" = "no" && test "$with_ffmpeg" != "no"; then
|
|
AC_MSG_WARN([FFMPEG detected, but it doesn't work...])
|
|
with_ffmpeg="no"
|
|
fi
|
|
|
|
if test "$agi_cv_with_ffmpeg" = "yes" && test "$with_ffmpeg" != "no"; then
|
|
with_ffmpeg="yes"
|
|
fi
|
|
|
|
if test "$agi_cv_with_ffmpeg" = "no" || test "$with_ffmpeg" = "no"; then
|
|
ffmpegsource_provider_disabled="(disabled, requires FFMPEG)"
|
|
ffmpeg_provider_disabled="(disabled, requires FFMPEG)"
|
|
with_ffmpeg="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_FFMPEG], [test "$agi_cv_with_ffmpeg" = "yes"])
|
|
AC_SUBST(LIBAVFORMAT_LIBS)
|
|
AC_SUBST(LIBAVFORMAT_CFLAGS)
|
|
AC_SUBST(LIBAVCODEC_LIBS)
|
|
AC_SUBST(LIBAVCODEC_CFLAGS)
|
|
AC_SUBST(LIBSWSCALE_LIBS)
|
|
AC_SUBST(LIBSWSCALE_CFLAGS)
|
|
AC_SUBST(LIBAVUTIL_LIBS)
|
|
AC_SUBST(LIBAVUTIL_CFLAGS)
|
|
|
|
AC_ARG_WITH(provider-ffmpegsource, [ --without-provider-ffmpegsource
|
|
build without FFmpegSource A/V provider.
|
|
(default: auto)], ffmpegsource_provider_disabled="(disabled)", with_provider_ffmpegsource="yes")
|
|
|
|
if test "$agi_cv_with_ffmpeg" = "yes" && test "$with_provider_ffmpegsource" = "yes"; then
|
|
PKG_CHECK_MODULES(LIBPOSTPROC, libpostproc >= libpostproc_required_version, [], [with_libpostproc="no"])
|
|
|
|
AC_AGI_COMPILE([postproc], [postproc], [$LIBPOSTPROC_CFLAGS], [$LIBPOSTPROC_LIBS],[
|
|
extern "C" {
|
|
#include <libpostproc/postprocess.h>
|
|
}
|
|
|
|
int main (void) {
|
|
pp_context_t *PPContext = pp_get_context(704,480, 0);
|
|
|
|
if (!PPContext) return 1;
|
|
pp_free_context(PPContext);
|
|
return 0;
|
|
} ])
|
|
|
|
if test "$agi_cv_with_postproc" = "yes"; then
|
|
found_video_provider="yes"
|
|
AC_DEFINE(WITH_FFMPEGSOURCE, 1, [Enable FFmpegSource2 Video Provider])
|
|
else
|
|
with_provider_ffmpegsource="no"
|
|
fi
|
|
else
|
|
with_provider_ffmpegsource="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_PROVIDER_FFMPEGSOURCE], [test "$with_provider_ffmpegsource" = "yes"])
|
|
AC_SUBST(LIBPOSTPROC_LIBS)
|
|
AC_SUBST(LIBPOSTPROC_CFLAGS)
|
|
|
|
|
|
###################
|
|
# Subtitle Provider
|
|
###################
|
|
|
|
AC_ARG_ENABLE(libass, [ --disable-libass disable libass support (default=enabled)],libass_disabled="(disabled)")
|
|
|
|
if test "$enable_libass" != "no"; then
|
|
if test "$agi_cv_with_iconv" = "yes"; then
|
|
LIBASS_LIBS="-L../libass -lass_aegisub"
|
|
LIBASS_CFLAGS="-I../libass"
|
|
with_libass="yes"
|
|
else
|
|
AC_MSG_WARN([libiconv is required for libass support.])
|
|
with_libass="no"
|
|
fi
|
|
fi
|
|
|
|
if test "$with_libass" = "yes" || test "$enable_libass" != "no"; then
|
|
AC_DEFINE(WITH_LIBASS, 1, [Enable libass Subtitle Provider])
|
|
else
|
|
with_libass="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([WITH_LIBASS], [test "$with_libass" = "yes"])
|
|
AC_SUBST(LIBASS_LIBS)
|
|
AC_SUBST(LIBASS_CFLAGS)
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(csri, [ --disable-csri disable CSRI (ASA) support (default=enabled)], csri_disabled="(disabled)")
|
|
|
|
if test "$enable_csri" != "no"; then
|
|
PKG_CHECK_MODULES(CSRI, csri >= 0.1.0, with_csri="yes", with_csri="no")
|
|
PKG_CHECK_MODULES(ASA, asa >= 0.3.2, with_asa="yes", with_asa="no")
|
|
if test "$with_csri" = "yes" && test "$with_asa" = "yes"; then
|
|
AC_DEFINE(WITH_CSRI, 1, [Enable CSRI (ASA) Subtitle Provider])
|
|
fi
|
|
else
|
|
with_csri="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([WITH_CSRI], [test "$with_csri" = "yes"])
|
|
|
|
|
|
###########
|
|
## Hunspell
|
|
###########
|
|
AC_ARG_WITH(hunspell, [ --without-hunspell build without hunspell support (default: auto)], hunspell_disabled="(disabled)")
|
|
|
|
if test "$with_hunspell" != "no"; then
|
|
PKG_CHECK_MODULES(HUNSPELL, hunspell >= 1.2.0, [with_hunspell="yes"], [with_hunspell="no"])
|
|
AC_AGI_COMPILE([Hunspell], [hunspell], [$HUNSPELL_CFLAGS], [$HUNSPELL_LIBS],[
|
|
#include <hunspell.hxx>
|
|
int main(void) {
|
|
Hunspell *hunspell;
|
|
hunspell = new Hunspell(".", ".");
|
|
if (!hunspell) return 1;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$agi_cv_with_hunspell" = "no" && test "$with_hunspell" = "yes"; then
|
|
AC_MSG_WARN([Hunspell detected, but it doesn't work...])
|
|
with_hunspell="no"
|
|
fi
|
|
|
|
if test "$agi_cv_with_hunspell" = "yes" && test "$with_hunspell" = "yes"; then
|
|
AC_DEFINE(WITH_HUNSPELL, 1, [Enable Hunspell support.])
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_HUNSPELL], [test "$with_hunspell" != "no"])
|
|
|
|
|
|
|
|
######################
|
|
## universalchardetect
|
|
######################
|
|
AC_ARG_ENABLE(univchardet, [ --disable-univchardet disble universalchardet support.], univchardet_disabled="(disabled)")
|
|
if test "$enable_univchardet" != "no"; then
|
|
with_univchardet="yes"
|
|
AC_DEFINE(WITH_UNIVCHARDET, 1, [Enable universalchardet support])
|
|
else
|
|
with_univchardet="no"
|
|
fi
|
|
AM_CONDITIONAL([HAVE_UNIVCHARDET], [test "$with_univchardet" != "no"])
|
|
|
|
|
|
|
|
|
|
############
|
|
# Automation
|
|
############
|
|
|
|
AC_ARG_WITH(lua,
|
|
[ --without-lua build without lua 5.1 (auto4)], [lua51_disabled="(disabled)"])
|
|
|
|
AC_ARG_VAR([LUA_CFLAGS], [CFLAGS to use for LUA 5.1 (default: CPPFLAGS)])
|
|
AC_ARG_VAR([LUA_LDFLAGS], [LDFLAGS to use for LUA 5.1 (default: -llua)])
|
|
|
|
if test -z "$LUA_LDFLAGS"; then
|
|
LUA_LDFLAGS="-llua";
|
|
fi
|
|
|
|
aegisub_save_LIBS="$LIBS"
|
|
LIBS="$LUA_LDFLAGS"
|
|
if test "$with_lua" != no; then
|
|
AC_AGI_COMPILE([Lua 5.1 (auto4)], [lua], [$LUA_CFLAGS], [],[
|
|
extern "C" {
|
|
#include <lua.h>
|
|
#include <lauxlib.h>
|
|
}
|
|
|
|
int main () {
|
|
lua_State *L = luaL_newstate();
|
|
lua_pushstring(L, "test");
|
|
int res = lua_objlen(L, -1) == 4;
|
|
lua_close(L);
|
|
return !res;
|
|
}])
|
|
fi
|
|
LIBS="$aegisub_save_LIBS"
|
|
|
|
if test "$agi_cv_with_lua" = "yes"; then
|
|
with_auto4="yes"
|
|
with_automation="yes"
|
|
AC_DEFINE(WITH_AUTO4_LUA, 1, [Enable Automation (auto4), requires lua])
|
|
else
|
|
with_auto4="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_AUTO4_LUA], [test "$with_auto4" != "no"])
|
|
AC_SUBST(LUA_CFLAGS)
|
|
AC_SUBST(LUA_LDFLAGS)
|
|
|
|
# Automation setup
|
|
if test "$with_automation" = "yes"; then
|
|
AC_DEFINE(WITH_AUTOMATION, 1, [Enable Automation support, requires any automation language.])
|
|
fi
|
|
AM_CONDITIONAL([HAVE_AUTOMATION], [test "$with_automation" = "yes"])
|
|
|
|
|
|
|
|
################
|
|
# Widget support
|
|
################
|
|
WX_CONFIG_OPTIONS
|
|
WX_STANDARD_OPTIONS([debug])
|
|
WX_DEBUG=$DEBUG
|
|
WX_UNICODE=$UNICODE
|
|
WX_CONFIG_CHECK([wx_required_version],,,[std,gl,stc],[$WXCONFIG_FLAGS])
|
|
|
|
if test "$have_wxconfig" = "no"; then
|
|
AC_MSG_FAILURE([wxWidgets detection failed, please set --with-wx* or add the libraries to your LDFLAGS, CXX/CFLAGS.])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(check-wx-opengl, [ --disable-check-wx-opengl
|
|
Force wxwidgets OpenGL support. ])
|
|
|
|
if test "$enable_check_wx_opengl" != "no"; then
|
|
AC_AGI_LINK([wxWidgets OpenGL support], [wxopengl], [wx/glcanvas.h], [$GL_CFLAGS $WX_CFLAGS], [$GL_LIBS $WX_LIBS],[
|
|
#include <wx/glcanvas.h>
|
|
int main(void) {
|
|
wxGLCanvas *canvas;
|
|
wxGLContext *context;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$with_agi_cv_wxopengl" = "no" || test "$enable_check_wx_opengl" = "yes"; then
|
|
AC_MSG_FAILURE([wxWidgets OpenGL support missing])
|
|
fi
|
|
|
|
|
|
AC_ARG_ENABLE(check-wx-stc, [ --disable-check-wx-stc Force wxwidgets StyledTextCtrl support.])
|
|
|
|
if test "$enable_check_wx_stc" != "no"; then
|
|
AC_AGI_LINK([wxWidgets StyledTextCtrl support], [wxstc], [wx/stc/stc.h], [$WX_CFLAGS], [$WX_LIBS],[
|
|
#include <wx/stc/stc.h>
|
|
int main(void) {
|
|
wxStyledTextCtrl *canvas;
|
|
return 0;
|
|
} ])
|
|
fi
|
|
|
|
if test "$with_agi_cv_wxstc" = "no" || test "$enable_check_wx_stc:" = "yes"; then
|
|
AC_MSG_FAILURE([wxWidgets StyledTextCtrl support missing])
|
|
fi
|
|
|
|
|
|
############################
|
|
# Precompiled Header Support
|
|
# Only works with gcc!
|
|
############################
|
|
|
|
AC_MSG_CHECKING([whether to use precompiled headers])
|
|
AC_ARG_ENABLE(gcc-prec, [ --enable-gcc-prec enable GCC precompiled headers (default=no)])
|
|
if test "$enable_gcc_prec" = "yes"; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
AM_CONDITIONAL([PRECOMPILED_HEADER], [test "$enable_gcc_prec" = "yes"])
|
|
|
|
|
|
######################################################
|
|
# Debugging support
|
|
# This is added last so it doesn't slow down configure
|
|
# If you want it earlier add it to your CXXFLAGS.
|
|
######################################################
|
|
|
|
AC_ARG_VAR([DEBUG_FLAGS], [Debug flag to use with --enable-debug (default: -g)])
|
|
|
|
AC_MSG_CHECKING([whether to turn on debugging])
|
|
AC_ARG_ENABLE(debug, [ --enable-debug enable debugging (default=no)])
|
|
if test "$enable_debug" = "yes"; then
|
|
if test -z "$DEBUG_FLAGS"; then
|
|
DEBUG_FLAGS="-g";
|
|
fi
|
|
|
|
AC_MSG_RESULT([yes ($DEBUG_FLAGS)])
|
|
CPPFLAGS="$DEBUG_FLAGS $CPPFLAGS"
|
|
msg_debug="($DEBUG_FLAGS)"
|
|
|
|
# This turns on some internal (to aegisub) debugging features.
|
|
# A debug version of wxWidgets is required.
|
|
if $WX_CONFIG_PATH --debug; then
|
|
AC_CXX_FLAG([-D_DEBUG])
|
|
fi
|
|
else
|
|
enable_debug="no"
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
AC_SUBST(DEBUG_FLAGS)
|
|
|
|
if test "$enable_debug" = "yes"; then
|
|
PACKAGE_DEBUG="-debug"
|
|
fi
|
|
AC_SUBST(PACKAGE_DEBUG)
|
|
|
|
|
|
AC_MSG_CHECKING([whether to use exception handling in debug mode])
|
|
AC_ARG_ENABLE(debug-exceptions, [ --enable-debug-exceptions
|
|
enable exception handling in debug mode (default=no)])
|
|
if test "$enable_debug_exceptions" = "yes"; then
|
|
AC_DEFINE(WITH_EXCEPTIONS, 1, [Enable exception handling in debug mode. (--enable-debug) This is always enabled when debug mode is off.])
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
|
|
###########
|
|
# Profiling
|
|
###########
|
|
|
|
AC_ARG_VAR([PROFILE_FLAGS], [Profile flag(s) to use with --enable-profile (default: -pg)])
|
|
|
|
AC_MSG_CHECKING([whether to turn on profiling])
|
|
AC_ARG_ENABLE(profile, [ --enable-profile enable profiling (default=no)])
|
|
if test "$enable_profile" = "yes"; then
|
|
if test -z "$PROFILE_FLAGS"; then
|
|
PROFILE_FLAGS="-pg";
|
|
fi
|
|
AC_MSG_RESULT([yes ($PROFILE_FLAGS)])
|
|
CPPFLAGS="$PROFILE_FLAGS $CPPFLAGS"
|
|
else
|
|
enable_profile="no"
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
|
|
######
|
|
# gcov
|
|
######
|
|
|
|
AC_ARG_VAR([GCOV_FLAGS], [gcov flag(s) to use with --enable-gcov (default: -ftest-coverage -fprofile-arcs)])
|
|
|
|
AC_MSG_CHECKING([whether to turn on gcov])
|
|
AC_ARG_ENABLE(gcov, [ --enable-gcov enable gcov (default=no)])
|
|
|
|
if test "$enable_gcov" = "yes"; then
|
|
if test -z "$GCOV_FLAGS"; then
|
|
GCOV_FLAGS="-fprofile-arcs -ftest-coverage";
|
|
fi
|
|
AC_MSG_RESULT([yes ($GCOV_FLAGS)])
|
|
CFLAGS="$CFLAGS $GCOV_FLAGS"
|
|
CPPFLAGS="$CPPFLAGS $GCOV_FLAGS"
|
|
else
|
|
enable_gcov="no"
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
|
|
|
|
################
|
|
# Electric Fence
|
|
################
|
|
|
|
AC_ARG_VAR([EFENCE_LDFLAGS], [Electric Fence ldflag(s) to use with --enable-profile (default: -lefence)])
|
|
|
|
AC_MSG_CHECKING([whether to turn on Electric Fence])
|
|
AC_ARG_ENABLE(efence, [ --enable-efence enable Electric Fence (default=no)])
|
|
if test "$enable_efence" = "yes"; then
|
|
if test -z "$EFENCE_LDFLAGS"; then
|
|
EFENCE_LDFLAGS="-lefence";
|
|
fi
|
|
AC_MSG_RESULT([yes ($EFENCE_LDFLAGS)])
|
|
else
|
|
enable_efence="no"
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
AC_SUBST(EFENCE_LDFLAGS)
|
|
|
|
##########
|
|
# ccmalloc
|
|
##########
|
|
|
|
AC_ARG_VAR([CCMALLOC_LIBS], [ccmalloc libs(s) to use with --enable-ccmalloc (default: $prefix/lib/ccmalloc-c++.o)])
|
|
AC_ARG_VAR([CCMALLOC_LDFLAGS], [ccmalloc ldflag(s) to use with --enable-ccmalloc (default: -lccmalloc)])
|
|
|
|
AC_MSG_CHECKING([whether to turn on ccmalloc])
|
|
AC_ARG_ENABLE(ccmalloc, [ --enable-ccmalloc enable ccmalloc (default=no)])
|
|
if test "$enable_ccmalloc" = "yes"; then
|
|
if test -z "$CCMALLOC_LIBS"; then
|
|
CCMALLOC_LIBS="$prefix/lib/ccmalloc-c++.o";
|
|
fi
|
|
|
|
if test -z "$CCMALLOC_LDFLAGS"; then
|
|
CCMALLOC_LDFLAGS="-lccmalloc";
|
|
fi
|
|
AC_MSG_RESULT([yes ($CCMALLOC_LIBS $CCMALLOC_LDFLAGS)])
|
|
else
|
|
enable_ccmalloc="no"
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
AC_SUBST(CCMALLOC_LDFLAGS)
|
|
AC_SUBST(CCMALLOC_LIBS)
|
|
|
|
if test "$enable_efence" = "yes" && test "$enable_ccmalloc" = "yes"; then
|
|
AC_MSG_FAILURE([Please enable Electric Fence _or_ ccmalloc otherwise strange things will happen.])
|
|
fi
|
|
|
|
|
|
##############################
|
|
# Internationalisation support
|
|
##############################
|
|
AC_PROG_INTLTOOL
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
if test "$build_darwin" = "yes"; then
|
|
GETTEXT_PACKAGE="aegisub"
|
|
else
|
|
GETTEXT_PACKAGE="aegisub${AEGISUB_VERSION_MAJOR}${AEGISUB_VERSION_MINOR}"
|
|
fi
|
|
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
[The basename for our gettext translation domains.])
|
|
|
|
|
|
####################################################################
|
|
# Default settings for Providers/Players
|
|
# * This is done at the end to preserve sanity rather than littering
|
|
# it above.
|
|
####################################################################
|
|
|
|
AC_ARG_WITH(provider-video, [ --with-provider-video=(ffmpegsource|ffmpeg)
|
|
Default Video Provider. (default: ffmpegsource)])
|
|
AC_ARG_WITH(provider-audio, [ --with-provider-audio=(ffmpegsource|ffmpeg)
|
|
Default Audio Provider. (default: ffmpegsource)])
|
|
AC_ARG_WITH(player-audio, [ --with-player-audio=(alsa|openal|portaudio|pulseaudio)
|
|
Default Audio Player (default: Linux/ALSA,
|
|
Darwin/OpenAL, */PortAudio.])
|
|
|
|
# Default Video Provider.
|
|
if ! test -z "$with_provider_video"; then
|
|
default_provider_video="$with_provider_video"
|
|
else
|
|
if test "$with_provider_ffmpegsource" = "yes"; then
|
|
default_provider_video="ffmpegsource"
|
|
elif test "$with_provider_ffmpeg" = "yes"; then
|
|
default_provider_video="ffmpeg"
|
|
fi
|
|
fi
|
|
AC_DEFINE_UNQUOTED([DEFAULT_PROVIDER_VIDEO], ["$default_provider_video"], [Default Video Provider.])
|
|
|
|
|
|
# Default Audio Provider.
|
|
if ! test -z "$with_provider_audio"; then
|
|
default_provider_audio="$with_provider_audio"
|
|
else
|
|
if test "$with_provider_ffmpegsource" = "yes"; then
|
|
default_provider_audio="ffmpegsource"
|
|
elif test "$with_provider_ffmpeg" = "yes"; then
|
|
default_provider_audio="ffmpeg"
|
|
fi
|
|
fi
|
|
AC_DEFINE_UNQUOTED([DEFAULT_PROVIDER_AUDIO], ["$default_provider_audio"], [Default Video Provider.])
|
|
|
|
|
|
# Default Subtitle Provider.
|
|
if ! test -z "$with_provider_subtitle"; then
|
|
default_provider_subtitle="$with_provider_subtitle"
|
|
else
|
|
if test "$with_libass" = "yes"; then
|
|
default_provider_subtitle="libass"
|
|
elif test "$with_csri" = "yes"; then
|
|
default_provider_subtitle="csri"
|
|
fi
|
|
fi
|
|
AC_DEFINE_UNQUOTED([DEFAULT_PROVIDER_SUBTITLE], ["$default_provider_subtitle"], [Default Subtitle Provider.])
|
|
|
|
|
|
# Default audio player.
|
|
if ! test -z "$with_player_audio"; then
|
|
default_player_audio="$with_player_audio"
|
|
else
|
|
if test "$build_linux" = "yes" && test "$with_alsa" = "yes"; then
|
|
default_player_audio="alsa"
|
|
elif test "$build_darwin" = "yes" && test "$with_openal" = "yes"; then
|
|
default_player_audio="openal"
|
|
elif test "$with_portaudio" = "yes"; then
|
|
default_player_audio="portaudio"
|
|
elif test "$with_pulseaudio" = "yes"; then
|
|
default_player_audio="pulseaudio"
|
|
fi
|
|
fi
|
|
AC_DEFINE_UNQUOTED([DEFAULT_PLAYER_AUDIO], ["$default_player_audio"], [Default audio player.])
|
|
|
|
|
|
|
|
###############
|
|
# Misc settings
|
|
###############
|
|
AM_CONDITIONAL([FOUND_AUDIO_PLAYER], [test "$found_audio_player" = "yes"])
|
|
AM_CONDITIONAL([FOUND_VIDEO_PROVIDER], [test "$found_video_provider" = "yes"])
|
|
|
|
|
|
# Makefiles
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
automation/Makefile
|
|
desktop/Makefile
|
|
libass/Makefile
|
|
libffms/Makefile
|
|
po/Makefile.in
|
|
reporter/Makefile
|
|
src/Makefile
|
|
src/bitmaps/Makefile
|
|
src/libosxutil/Makefile
|
|
src/libresrc/Makefile
|
|
tools/Makefile
|
|
universalchardet/Makefile
|
|
])
|
|
|
|
# Files that need substitution.
|
|
AC_CONFIG_FILES([
|
|
desktop/aegisub.desktop
|
|
tools/osx-bundle.sed
|
|
])
|
|
|
|
AC_OUTPUT
|
|
|
|
if test -z "$found_audio_player"; then
|
|
AC_MSG_NOTICE([
|
|
|
|
***********************************************************************
|
|
* No supported audio player interface was found on your system.
|
|
* If you want audio support in Aegisub you need to install one of
|
|
* these libraries:
|
|
* - PulseAudio
|
|
* * http://pulseaudio.org/
|
|
* - ALSA (Linux only) (Currently broken)
|
|
* * http://www.alsa-project.org/
|
|
* - PortAudio (version 18 only, version 19 is not compatible)
|
|
* * http://www.portaudio.com/
|
|
***********************************************************************
|
|
])
|
|
fi
|
|
|
|
if test -z "$found_video_provider"; then
|
|
AC_MSG_NOTICE([
|
|
|
|
***********************************************************************
|
|
* No supported video/audio reader interface was found on your system.
|
|
* You will not be able to open any video or audio files in Aegisub
|
|
* unless you install a supported video/audio provider.
|
|
* You will however still be able to open "dummy" video, ie. a blank,
|
|
* virtual video clip with subtitles overlaid.
|
|
* Currently we only support one video/audio provider on non-Windows
|
|
* systems:
|
|
* - FFmpeg (libavcodec + libavformat)
|
|
* * http://ffmpeg.mplayerhq.hu/
|
|
***********************************************************************
|
|
])
|
|
fi
|
|
|
|
AC_MSG_RESULT([
|
|
Configure settings
|
|
Install prefix: $prefix
|
|
SVN Revision: $SVN_REVISION
|
|
Debug $enable_debug $msg_debug
|
|
CXXFLAGS $CXXFLAGS
|
|
CPPFLAGS $CPPFLAGS
|
|
LDFLAGS $LDFLAGS
|
|
|
|
Default Settings
|
|
Video Provider: $default_provider_video
|
|
Audio Provider: $default_provider_audio
|
|
Subtitle Provider: $default_provider_subtitle
|
|
Audio Player: $default_player_audio
|
|
|
|
Scripting Engines
|
|
auto4 Lua: $with_auto4 $lua51_disabled
|
|
|
|
Audio Players
|
|
ALSA: $with_alsa $alsa_disabled
|
|
OpenAL: $with_openal $openal_disabled
|
|
PortAudio: $with_portaudio $portaudio_disabled
|
|
PulseAudio: $with_pulseaudio $pulseaudio_disabled
|
|
|
|
A/V Support
|
|
FFMPEG: $with_ffmpeg $ffmpeg_disabled
|
|
(required for video providers)
|
|
|
|
A/V Providers
|
|
FFmpegSource: $with_provider_ffmpegsource $ffmpegsource_provider_disabled
|
|
|
|
Subtitle Providers:
|
|
CSRI (ASA): $with_csri $csri_disabled $csri_default
|
|
libASS $with_libass $libass_disabled $libass_default
|
|
(both require iconv and fontconfig)
|
|
|
|
Misc Packages
|
|
Hunspell: $with_hunspell $with_hunspell_version $hunspell_disabled
|
|
universalchardet: $with_univchardet $univchardet_disabled
|
|
]);
|