forked from mia/Aegisub
44acbee51f
lot more complex) Also move the lua50 block below the lua51 block. Originally committed to SVN as r2032.
695 lines
20 KiB
Plaintext
695 lines
20 KiB
Plaintext
AC_PREREQ(2.57)
|
|
|
|
######################
|
|
# aegisub version info
|
|
######################
|
|
m4_define([aegisub_major_version], [2])
|
|
m4_define([aegisub_minor_version], [1])
|
|
m4_define([aegisub_version], [aegisub_major_version.aegisub_minor_version-dev])
|
|
|
|
|
|
###################
|
|
# Required packages
|
|
###################
|
|
m4_define([ffmpeg_required_version], [1])
|
|
m4_define([portaudio_required_version], [1])
|
|
m4_define([pulseaudio_required_version], [1])
|
|
|
|
m4_define([pkgconfig_required_version], [0.20])
|
|
m4_define([libass_required_version], [0.9.1])
|
|
m4_define([freetype_required_version], [9.7.0])
|
|
m4_define([fontconfig_required_version], [2.4])
|
|
m4_define([perl_required_version], [5.004])
|
|
m4_define([ruby_required_version], [1.8])
|
|
m4_define([lua_auto4_required_version], [5.1])
|
|
m4_define([lua_auto3_required_version], [5.0])
|
|
|
|
|
|
#######
|
|
# Setup
|
|
#######
|
|
AC_INIT([Aegisub], [aegisub_version],, [aegisub])
|
|
AC_CONFIG_SRCDIR([aegisub/main.cpp])
|
|
AM_INIT_AUTOMAKE
|
|
AC_CONFIG_HEADER([aegisub/posix/acconf.h])
|
|
AC_GNU_SOURCE
|
|
AC_CANONICAL_HOST
|
|
|
|
|
|
########################
|
|
# Configurable variables
|
|
########################
|
|
aegisubdatadir="$datadir/aegisub/2.1"
|
|
AC_SUBST(aegisubdatadir)
|
|
|
|
|
|
####################
|
|
# Check for programs
|
|
####################
|
|
CHECK_GNU_MAKE
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_LANG(C++)
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_INSTALL
|
|
PKG_PROG_PKG_CONFIG([0.20])
|
|
|
|
|
|
#################
|
|
# Developers only
|
|
#################
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_ARG_VAR([DEBUG_FLAGS], [Debug flag to use with --enable debug (default: -g)])
|
|
if test -z "$DEBUG_FLAGS"; then
|
|
DEBUG_FLAGS="-g";
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether to turn on debugging])
|
|
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging (default=no)])
|
|
if test "$enable_debug" = "yes"; then
|
|
AC_MSG_RESULT([yes ($DEBUG_FLAGS)])
|
|
CPPFLAGS="$DEBUG_FLAGS $CPPFLAGS"
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(build-dist)
|
|
if test "$enable_build_dist" = "yes"; then
|
|
SVN_VERSION=`svnversion .`
|
|
PACKAGE_STRING="${PACKAGE_STRING}-r$SVN_VERSION"
|
|
PACKAGE_VERSION="${PACKAGE_VERSION}-r$SVN_VERSION"
|
|
VERSION="${VERSION}-r$SVN_VERSION"
|
|
fi
|
|
|
|
|
|
###################################################
|
|
# 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_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])
|
|
|
|
|
|
######################################
|
|
# 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_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)
|
|
|
|
|
|
#################
|
|
# Audio Providers
|
|
#################
|
|
#######
|
|
## ALSA
|
|
#######
|
|
AC_ARG_WITH(alsa, [ --without-alsa build without ALSA audio provider. (default: auto)], alsa_disabled="(disabled)")
|
|
if test "x$with_alsa" != xno; then
|
|
AC_CHECK_LIB([asound], [snd_pcm_open], [ALSA_LDFLAGS="-lasound"; found_audio=yes; with_alsa=yes], [with_alsa=no])
|
|
fi
|
|
if test "$with_alsa" = "yes"; then
|
|
AC_DEFINE(WITH_ALSA, 1, [Enable ALSA Support])
|
|
fi
|
|
|
|
AC_SUBST(ALSA_LDFLAGS)
|
|
AM_CONDITIONAL([HAVE_ALSA], [test "$with_alsa" != "no"])
|
|
|
|
############
|
|
## PortAudio
|
|
############
|
|
AC_ARG_WITH(portaudio,[ --without-portaudio build without PortAudio audio provider.
|
|
(default: auto)], portaudio_disabled="(disabled)")
|
|
|
|
if test "x$with_portaudio" != xno; then
|
|
aegisub_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS $PTHREAD_LIBS"
|
|
AC_CHECK_LIB([portaudio], [Pa_Initialize], [PORTAUDIO_LDFLAGS="-lportaudio"; found_audio=yes; with_portaudio=yes], [with_portaudio=no])
|
|
fi
|
|
|
|
if test "x$with_portaudio" != xno; then
|
|
AC_CHECK_LIB([portaudio], [Pa_GetStreamTime], [LIBS="-lportaudio"], [with_portaudio_getstreamtime=no])
|
|
if test "x$with_portaudio_getstreamtime" != xno; then
|
|
AC_DEFINE(HAVE_PA_GETSTREAMTIME, 1, [Define to 1 if Pa_GetStreamTime is available in PortAudio])
|
|
fi
|
|
CPPFLAGS="$aegisub_save_CPPFLAGS"
|
|
fi
|
|
|
|
if test "$with_portaudio" = "yes"; then
|
|
AC_DEFINE(WITH_PORTAUDIO, 1, [Enable PortAudio Audio Provider])
|
|
fi
|
|
|
|
AC_SUBST(PORTAUDIO_LDFLAGS)
|
|
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 "x$with_pulseaudio" != xno; then
|
|
PKG_CHECK_MODULES(LIBPULSE, libpulse >= 0.5, [found_audio=yes; with_pulseaudio=yes], [with_pulseaudio=no])
|
|
fi
|
|
AM_CONDITIONAL([HAVE_PULSEAUDIO], [test "$with_pulseaudio" != "no"])
|
|
if test "$with_pulseaudio" = "yes"; then
|
|
AC_DEFINE(WITH_PULSEAUDIO, 1, [Enable PulseAudio support])
|
|
fi
|
|
|
|
#########
|
|
## OpenAL
|
|
#########
|
|
AC_ARG_WITH(openal,[ --without-openal build without OpenAL audio provider.
|
|
(default: auto)], openal_disabled="(disabled)")
|
|
if test "x$with_openal" != xno; then
|
|
PKG_CHECK_MODULES(OPENAL, openal >= 0.0.8, [found_audio=yes; with_openal=yes], [with_openal=no])
|
|
fi
|
|
AM_CONDITIONAL([HAVE_OPENAL], [test "$with_openal" != "no"])
|
|
if test "$with_openal" = "yes"; then
|
|
AC_DEFINE(WITH_OPENAL, 1, [Enable OpenAL support])
|
|
fi
|
|
|
|
|
|
|
|
|
|
#################
|
|
# Video Providers
|
|
#################
|
|
|
|
AC_ARG_WITH(ffmpeg, [ --without-ffmpeg build without FFMPEG video provider.. (default: auto)], ffmpeg_disabled="(disabled)")
|
|
|
|
if test "$with_ffmpeg" != "no"; then
|
|
AC_CHECK_LIB([avcodec], [avcodec_init],AVCODEC_LDFLAGS="-lavcodec", [with_ffmpeg=no])
|
|
AC_CHECK_LIB([avformat], [av_read_frame],AVFORMAT_LDFLAGS="-lavformat", [with_ffmpeg=no])
|
|
AC_CHECK_LIB([avformat], [sws_scale],[with_swscale="yes"], [with_swscale="no"])
|
|
|
|
if test "$with_swscale" = "no"; then
|
|
AC_CHECK_LIB([swscale], [sws_scale],[SWSCALE_LDFLAGS="-lswscale"; with_swscale_lib="yes"], [with_swscale_lib="no"])
|
|
fi
|
|
|
|
if test "$with_swscale" = "yes" || test "$with_swscale_lib" = "yes"; then
|
|
with_ffmpeg="yes";
|
|
else
|
|
with_ffmpeg="no";
|
|
fi
|
|
|
|
if test "$with_ffmpeg" = "yes"; then
|
|
found_video_provider=yes
|
|
with_ffmpeg="yes"
|
|
AC_DEFINE(WITH_FFMPEG, 1, [Enable FFMPEG Video Provider])
|
|
fi
|
|
fi
|
|
|
|
|
|
if test "$with_ffmpeg" = "yes"; then
|
|
|
|
AC_ARG_ENABLE(broken-mp3, [ --enable-broken-mp3 Enable the use of FFMPEG w/out LAME compiled in.])
|
|
AC_MSG_CHECKING([whether ffmpeg has LAME compiled in])
|
|
aegisub_save_LDFLAGS="$LDFLAGS"
|
|
AC_LANG(C)
|
|
LDFLAGS="$LDFLAGS $AVCODEC_LDFLAGS"
|
|
AC_RUN_IFELSE(
|
|
[AC_LANG_PROGRAM([#include <ffmpeg/avcodec.h>],
|
|
[
|
|
avcodec_register_all();
|
|
if (avcodec_find_encoder_by_name("libmp3lame"))
|
|
return 1;
|
|
])
|
|
],
|
|
ffmpeg_mp3_broken="yes",
|
|
ffmpeg_mp3_broken="no")
|
|
|
|
LDFLAGS="$aegisub_save_LDFLAGS"
|
|
AC_LANG(C++)
|
|
fi
|
|
|
|
if test $ffmpeg_mp3_broken = "yes"; then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_NOTICE([
|
|
***********************************************************************
|
|
* Your installation of FFMPEG does not have LAME support compiled in.
|
|
* This will result in _broken_ mp3 decoding, either recompile FFMPEG
|
|
* with LAME support, or supply --enable-broken-mp3 (With this you will have
|
|
* to demux the audio, convert to wav and load the audio/wav seperately.)
|
|
* * LAME can be found at: http://lame.sourceforge.net/index.php
|
|
***********************************************************************
|
|
])
|
|
echo "enable_broken_mp3: $enable_broken_mp3"
|
|
if test "$enable_broken_mp3" != "yes"; then
|
|
AC_MSG_FAILURE([Please read.])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([yes])
|
|
fi
|
|
|
|
|
|
AC_SUBST(SWSCALE_LDFLAGS)
|
|
AC_SUBST(AVCODEC_LDFLAGS)
|
|
AC_SUBST(AVFORMAT_LDFLAGS)
|
|
AM_CONDITIONAL([HAVE_FFMPEG], [test "$with_ffmpeg" != "no"])
|
|
|
|
|
|
|
|
|
|
###################
|
|
# Subtitle Provider
|
|
###################
|
|
|
|
AC_ARG_WITH(libass, [ --without-libass disable libass (default=autodetect)],libass_disabled="(disabled)")
|
|
|
|
if test "x$with_libass" != xno; then
|
|
PKG_CHECK_MODULES(LIBASS, libass >= 0.9.1)
|
|
|
|
aegisub_save_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$LIBASS_LIBS"
|
|
AC_CHECK_LIB([ass], [ass_read_styles],[LIBASS_LIBS="$LIBASS_LIBS]", with_libass=no)
|
|
LDFLAGS="$aegisub_save_LDFLAGS"
|
|
|
|
aegisub_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$LIBASS_CFLAGS"
|
|
AC_CHECK_HEADER([ass/ass.h],[LIBASS_CFLAGS="$LIBASS_CFLAGS"],with_libass="no")
|
|
CPPFLAGS="$aegisub_save_CPPFLAGS"
|
|
fi
|
|
|
|
if test "$with_libass" != "no"; then
|
|
AC_DEFINE(WITH_LIBASS, 1, [Enable libass Subtitle Provider])
|
|
with_libass="yes"
|
|
fi
|
|
|
|
AC_SUBST(LIBASS_LIBS)
|
|
AC_SUBST(LIBASS_CFLAGS)
|
|
AM_CONDITIONAL([HAVE_LIBASS], [test "$with_libass" != "no" ])
|
|
|
|
|
|
|
|
##############################
|
|
# Program Support and Features
|
|
##############################
|
|
AC_CHECK_HEADER([wchar.h],,[AC_MSG_FAILURE([aegisub requires wide character support])])
|
|
|
|
AX_CHECK_GL
|
|
if test ! "$GL_LIBS"; then
|
|
AC_MSG_FAILURE([aegisub requires GL support.])
|
|
fi
|
|
AC_SUBST(GL_CFLAGS)
|
|
AC_SUBST(GL_LIBS)
|
|
|
|
PKG_CHECK_MODULES(FREETYPE, freetype2 >= 9.7.0,
|
|
AC_DEFINE(WITH_FREETYPE2, 1, [Enable FreeType 2 support.]),
|
|
[AC_MSG_FAILURE([aegisub requires >= FreeType2 2.1.9])])
|
|
|
|
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.4,
|
|
AC_DEFINE(WITH_FONTCONFIG, 1, [Enable FontConfig support.]),
|
|
[AC_MSG_FAILURE([aegisub requires >= fontconfig >= 2.4])])
|
|
|
|
|
|
|
|
###########
|
|
## Hunspell
|
|
###########
|
|
AC_ARG_WITH(hunspell, [ --without-hunspell build without hunspell support (default: auto)], hunspell_disabled="(disabled)")
|
|
if test "x$with_hunspell" != xno; then
|
|
PKG_CHECK_MODULES(HUNSPELL, hunspell <= 1.1.10, [with_old_hunspell=yes], [with_old_hunspell=no])
|
|
fi
|
|
AM_CONDITIONAL([HAVE_HUNSPELL], [test "$with_old_hunspell" != "no"])
|
|
if test "$with_old_hunspell" = "yes"; then
|
|
AC_DEFINE(WITH_OLD_HUNSPELL, 1, [Enable Older Hunspell support.])
|
|
HUNSPELL_CFLAGS="$HUNSPELL_CFLAGS -DWITH_OLD_HUNSPELL"
|
|
with_hunspell="yes (old hunspell)"
|
|
else
|
|
with_hunspell="no"
|
|
fi
|
|
|
|
|
|
######################
|
|
## universalchardetect
|
|
######################
|
|
AC_ARG_ENABLE(univchardet, [ --enable-univchardet enable universalchardet support.], univchardet_disabled="(disabled)")
|
|
if test "$with_univchardet" = "yes"; 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
|
|
############
|
|
|
|
############
|
|
## Auto4 LUA
|
|
############
|
|
AC_ARG_WITH(lua,
|
|
[ --without-lua build without lua 5.1 (auto3)], [lua_disabled="(disabled)"])
|
|
|
|
AC_ARG_WITH(lua-lib,
|
|
[ --with-lua-lib=PREFIX PATH location of lua 5.1 library], [lua_lib_dir="-L$withval"])
|
|
|
|
AC_ARG_WITH(lua-include,
|
|
[ --with-lua-include=PREFIX
|
|
PATH location of lua 5.1 includes], [lua_include_dir="-I$withval"])
|
|
|
|
if test "$with_lua" != no; then
|
|
aegisub_save_LDFLAGS="$LDFLAGS"
|
|
|
|
LDFLAGS="$LDFLAGS $lua_lib_dir"
|
|
AC_CHECK_LIB([lua], [lua_call], LUA_LDFLAGS="$lua_lib_dir -llua", with_lua_lib="no")
|
|
LDFLAGS="$aegisub_save_LDFLAGS"
|
|
|
|
aegisub_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $lua_include_dir"
|
|
AC_CHECK_HEADER([lua.h],[LUA_CPPFLAGS="$lua_include_dir"], with_lua_include="no")
|
|
CPPFLAGS="$aegisub_save_CPPFLAGS"
|
|
|
|
fi
|
|
|
|
if (test "$with_lua_lib" != "no" || ! test "$have_lua_include" != "no") && test "$with_lua" != "no"; then
|
|
with_auto4="yes"
|
|
with_automation="yes"
|
|
AC_DEFINE(WITH_AUTO4_LUA, 1, [Enable Automation (auto4), requires lua])
|
|
else
|
|
with_auto4="no"
|
|
fi
|
|
|
|
AC_SUBST(LUA_CPPFLAGS)
|
|
AC_SUBST(LUA_LDFLAGS)
|
|
AM_CONDITIONAL([HAVE_AUTO4_LUA], [test "$with_auto4" != "no"])
|
|
|
|
|
|
|
|
##################
|
|
## Auto3 (LUA 5.0)
|
|
##################
|
|
#if test -z "$lua50-lib-dir"; then
|
|
# AC_MSG_WARN([You must supply both --with-lua50-lib AND --with-lua50-include.])
|
|
#fi
|
|
|
|
if ! test -z "$lua50_lib_dir" && ! test -z "$lua50_include_dir"; then
|
|
aegisub_save_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$lua50_lib_dir -llua"
|
|
AC_CHECK_LIB([lualib], [luaopen_base], [LUA50_LDFLAGS="$lua50_lib_dir -llua -llualib"; lua50_lib="yes"], [lua50_lib="no"])
|
|
LDFLAGS="$aegisub_save_LDFLAGS"
|
|
|
|
aegisub_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$lua50_include_dir"
|
|
AC_CHECK_HEADER([lua.h],[LUA50_CPPFLAGS="$lua50_include_dir"; lua50_include="yes"],[lua50_include="no"])
|
|
CPPFLAGS="$aegisub_save_CPPFLAGS"
|
|
fi
|
|
|
|
if test "$lua50_lib" = "yes" && test "$lua50_include" = "yes"; then
|
|
with_auto3="yes"
|
|
with_automation="yes"
|
|
AC_DEFINE(WITH_AUTO3, 1, [Enable Automation (auto3, DEPRECIATED!), requires lua 5.0])
|
|
else
|
|
with_auto3="no"
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_AUTO3_LUA], [test "$with_auto3" != "no"])
|
|
AC_SUBST(LUA50_CPPFLAGS)
|
|
AC_SUBST(LUA50_LDFLAGS)
|
|
|
|
|
|
|
|
#############
|
|
## Auto4 PERL
|
|
#############
|
|
AC_ARG_WITH(perl, [ --without-perl build without PERL Automation. (default: auto)], perl_disabled="(disabled)")
|
|
AC_ARG_WITH(perl-bin, [ --with-perl-bin=PATH location of PERL binary.. (default: $PATH)], [WITH_PERL_BIN="$withval"])
|
|
|
|
if test -z "$perl_disabled"; then
|
|
if test -z "$WITH_PERL_BIN"; then
|
|
AC_PATH_PROG([PERL_BIN],perl,no)
|
|
else
|
|
PERL_BIN="$WITH_PERL_BIN"
|
|
fi
|
|
|
|
# XXX: add a --with-perlconsole flag.
|
|
# AC_DEFINE(WITH_PERLCONSOLE, 1, [Enable PERL Console support (for debugging purposes)])
|
|
|
|
if test "$PERL_BIN" != "no"; then
|
|
AC_MSG_CHECKING([checking for perl version >= 5.004])
|
|
if $PERL_BIN -e 'require 5.004'; then
|
|
AC_MSG_RESULT([yes])
|
|
with_perl=yes
|
|
with_automation="yes"
|
|
AC_DEFINE(WITH_PERL, 1, [Enable PERL support.])
|
|
AC_MSG_CHECKING([checking $PERL_BIN clfags])
|
|
PERL_CFLAGS=`$PERL_BIN -MExtUtils::Embed -eccflags -eperl_inc`
|
|
AC_MSG_RESULT([$PERL_CFLAGS])
|
|
|
|
AC_MSG_CHECKING([checking $PERL_BIN libs])
|
|
PERL_LDFLAGS=`$PERL_BIN -MExtUtils::Embed -eldopts`
|
|
AC_MSG_RESULT([$PERL_LDFLAGS])
|
|
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
with_perl=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(PERL_CFLAGS)
|
|
AC_SUBST(PERL_LDFLAGS)
|
|
|
|
AM_CONDITIONAL([HAVE_AUTO4_PERL], [test "$with_perl" != "no"])
|
|
|
|
|
|
|
|
#############
|
|
## Auto4 Ruby
|
|
#############
|
|
AC_ARG_WITH(ruby, [ --without-ruby build without Ruby Automation. (default: auto)], ruby_disabled="(disabled)")
|
|
AC_ARG_WITH(ruby-bin, [ --with-ruby-bin=PATH location of RUBY binary.. (default: $PATH)], [WITH_RUBY_BIN="$withval"])
|
|
|
|
if test -z "$ruby_disabled"; then
|
|
if test -z "$WITH_RUBY_BIN"; then
|
|
AC_PATH_PROG([RUBY_BIN],ruby,no)
|
|
else
|
|
RUBY_BIN="$WITH_RUBY_BIN"
|
|
fi
|
|
|
|
if test "$RUBY_BIN" != "no"; then
|
|
AC_MSG_CHECKING([checking for ruby version >= 1.8])
|
|
if $RUBY_BIN -r rbconfig -e 'if Config::CONFIG@<:@"ruby_version"@:>@.to_f >= 1.8 then exit(0) else exit(1) end' ; then
|
|
AC_MSG_RESULT([yes])
|
|
with_ruby=yes
|
|
with_automation="yes"
|
|
AC_DEFINE(WITH_RUBY, 1, [Enable RUBY Automation.])
|
|
|
|
AC_MSG_CHECKING([checking $RUBY_BIN -r rbconfig archdir, cflags])
|
|
RUBY_CFLAGS=`$RUBY_BIN -r rbconfig -e "printf(\"-I%s %s\", Config::CONFIG@<:@'archdir'@:>@, Config::CONFIG@<:@'CFLAGS'@:>@)"`
|
|
AC_MSG_RESULT([$RUBY_CFLAGS])
|
|
|
|
AC_MSG_CHECKING([checking $RUBY_BIN rbconfig libs])
|
|
RUBY_LDFLAGS=`$RUBY_BIN -r rbconfig -e "print Config::CONFIG@<:@'LIBRUBYARG'@:>@"`
|
|
AC_MSG_RESULT([$RUBY_LDFLAGS])
|
|
|
|
else
|
|
AC_MSG_RESULT([yes])
|
|
with_ruby=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(RUBY_CFLAGS)
|
|
AC_SUBST(RUBY_LDFLAGS)
|
|
AM_CONDITIONAL([HAVE_AUTO4_RUBY], [test "$with_ruby" != "no"])
|
|
|
|
|
|
AC_ARG_WITH(lua50-lib,
|
|
[ --with-lua50-lib=PREFIX PATH location of lua 5.0 library
|
|
(required for auto3 support)], [lua50_lib_dir="-L$withval"])
|
|
AC_ARG_WITH(lua50-include,
|
|
[ --with-lua50-include=PREFIX
|
|
PATH location of lua 5.0 includes
|
|
(required for auto3 support)], [lua50_include_dir="-I$withval"])
|
|
|
|
# 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
|
|
################
|
|
AM_OPTIONS_WXCONFIG
|
|
AM_PATH_WXCONFIG(2.8.1, [have_wxconfig=1], [have_wxconfig=0], [std,gl,stc])
|
|
|
|
if test "$have_wxconfig" != 1; then
|
|
AC_MSG_FAILURE([
|
|
wxWidgets detection failed, please set --with-wx* or add
|
|
the libraries to your LDFLAGS, CXX/CFLAGS.
|
|
])
|
|
fi
|
|
#CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
|
|
#CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
|
|
#CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
|
|
|
|
|
|
aegisub_save_CPPLAGS="$CPPLAGS"
|
|
CPPFLAGS="$WX_CFLAGS"
|
|
|
|
AC_ARG_ENABLE(wx-opengl, [ --enable-wx-opengl Force wxwidgets OpenGL support. ])
|
|
AC_MSG_CHECKING([wxWidgets OpenGL support])
|
|
if test "$enable_wx_opengl" != "yes"; then
|
|
AC_TRY_COMPILE([#include <wx/glcanvas.h>],
|
|
[wxGLCanvas *canvas;],
|
|
with_wxgl=yes, with_wxgl=no)
|
|
else
|
|
with_wxgl="yes"
|
|
fi
|
|
AC_MSG_RESULT($with_wxgl)
|
|
if test "$with_wxgl" = "no"; then
|
|
AC_MSG_FAILURE([wxWidgets OpenGL support missing])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(wx-styledtextctrl, [ --enable-wx-styledtextctrl
|
|
Force wxwidgets StyledTextCtrl support. ])
|
|
AC_MSG_CHECKING([wxWidgets StyledTextCtrl support])
|
|
if test "$enable_wx_styledtextctrl" != "yes"; then
|
|
AC_TRY_COMPILE([#include <wx/stc/stc.h>],
|
|
[wxStyledTextCtrl *canvas;],
|
|
with_wxstc=yes, with_wxstc=no)
|
|
else
|
|
with_wxstc="yes"
|
|
fi
|
|
AC_MSG_RESULT($with_wxstc)
|
|
|
|
if test "$with_wxstc" = "no"; then
|
|
AC_MSG_FAILURE([wxWidgets missing StyledTextCtrl])
|
|
fi
|
|
|
|
CPPFLAGS="$aegisub_save_CPPFLAGS"
|
|
|
|
|
|
|
|
|
|
################################################
|
|
# Internationalisation support (keep this last!)
|
|
################################################
|
|
AC_PROG_INTLTOOL
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
GETTEXT_PACKAGE=aegisub21
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
[The prefix for our gettext translation domains.])
|
|
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
aegisub/Makefile
|
|
aegisub/bitmaps/Makefile
|
|
aegisub/posix/Makefile
|
|
universalchardet/Makefile
|
|
auto3/Makefile
|
|
automation/Makefile
|
|
po/Makefile.in
|
|
m4macros/Makefile
|
|
])
|
|
|
|
|
|
if test -z "$found_audio"; 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([
|
|
Scripting Engines:
|
|
auto4 Perl: $with_perl $perl_disabled
|
|
auto3: $with_auto3
|
|
auto4: $with_auto4 $lua_disabled
|
|
auto4 Ruby: $with_ruby $ruby_disabled
|
|
|
|
Audio Providers:
|
|
ALSA: $with_alsa $alsa_disabled
|
|
OpenAL: $with_openal $openal_disabled
|
|
PortAudio: $with_portaudio $portaudio_disabled
|
|
PulseAudio: $with_pulseaudio $pulseaudio_disabled
|
|
|
|
Video Providers
|
|
ffmpeg: $with_ffmpeg $ffmpeg_disabled
|
|
|
|
Subtitle Providers:
|
|
asa: $with_asa
|
|
libass: $with_libass
|
|
|
|
Misc Packages:
|
|
hunspell: $with_hunspell $hunspell_disabled
|
|
universalchardet: $with_univchardet $univchardet_disabled (broken)
|
|
]);
|