diff options
Diffstat (limited to '')
-rw-r--r-- | Game/Code/configure.ac | 597 |
1 files changed, 293 insertions, 304 deletions
diff --git a/Game/Code/configure.ac b/Game/Code/configure.ac index 3c4322b4..8856e762 100644 --- a/Game/Code/configure.ac +++ b/Game/Code/configure.ac @@ -15,8 +15,10 @@ AC_INIT([UltraStar-Deluxe], [http://sourceforge.net/tracker/?group_id=191560&atid=937872]) # specify the website here PACKAGE_WEBSITE="http://www.ultrastardeluxe.org/" +AC_SUBST(PACKAGE_WEBSITE) # specify the IRC-channel here PACKAGE_IRC="#ultrastardx at quakenet.org" +AC_SUBST(PACKAGE_IRC) # Specify a source-file so autoconf can check if the source-dir exists AC_CONFIG_SRCDIR(UltraStar.lpr) @@ -28,88 +30,19 @@ AC_CONFIG_MACRO_DIR(m4) # show features and packages in one list AC_PRESERVE_HELP_ORDER -# ----------------------------------------- -# define switches -# ----------------------------------------- - -# print library options header -AC_ARG_WITH([cfg-dummy1], [ -External Libraries:]) - -# add lazarus option -#AC_ARG_WITH([lazarus], -# [AS_HELP_STRING([--with-lazarus=DIR], -# [Directory of lazarus @<:@LAZARUSDIR@:>@])], -# [with_lazarus=$withval], [with_lazarus="yes"]) -#if [[ x$with_lazarus = xno ]] ; then -# AC_MSG_ERROR([Lazarus is required. It is impossible to build without it.]); -#fi - -# add lazarus widget-type option -# the result is not used at the moment -#AC_ARG_WITH([lcl-widget-type], -# [AS_HELP_STRING([--with-lcl-widget-type=TYPE], -# [Lazarus LCL Widget Type @<:@default=check@:>@])], -# [with_lcl_widget_type=$withval], [with_lcl_widget_type=""]) -#if [[ x$with_lcl_widget_type = xno -o x$with_lcl_widget_type = xyes ]] ; then -# AC_MSG_ERROR([Invalid LCL Widget Type (try one of gtk2/gtk/qt)]); -#fi - -# add portaudio option -AC_ARG_WITH([portaudio], - [AS_HELP_STRING([--with-portaudio=DIR], - [Directory of portaudio library @<:@PORTAUDIODIR@:>@])], - [with_portaudio=$withval], [with_portaudio="yes"]) - -# add portmixer option -AC_ARG_WITH([portmixer], - [AS_HELP_STRING([--with-portmixer@<:@=DIR@:>@], - [Enable portmixer audio-mixer support @<:@default=check@:>@])], - [with_portmixer=$withval], [with_portmixer="check"]) - -# add projectM option -AC_ARG_WITH([projectM], - [AS_HELP_STRING([--with-projectM@<:@=DIR@:>@], - [Enable projectM visualization support @<:@default=check@:>@])], - [with_projectM=$withval], [with_projectM="check"]) - -# add skip pkg-config error option -AC_ARG_ENABLE([skip-pkgconfig-errors], - [AS_HELP_STRING([--enable-skip-pkgconfig-errors], - [Continue if pkg-config does not find a package @<:@default=no@:>@])], - [skip_pkgconfig_errors=$withval], [skip_pkgconfig_errors="no"]) - -# print path options header -AC_ARG_WITH([cfg-dummy2], [ -Additional directories:]) +# set root directory (= trunk dir) +# ..resolved: used by configure.ac +usdxroot=../.. +# ..unresolved: used by .in files +usdxrootdir=\${top_srcdir}/../.. +AC_SUBST(usdxrootdir) -# add suffix option -AC_ARG_WITH([suffix], - [AS_HELP_STRING([--with-suffix=SUFFIX], - [path suffix @<:@default=UltraStarDeluxe@:>@])], - [suffix=$withval], [suffix="UltraStarDeluxe"]) -if [[ x$suffix = xno -o x$suffix = xyes ]] ; then - AC_MSG_ERROR([Invalid suffix.]); -fi - -# add logdir option -AC_ARG_WITH([logrootdir], - [AS_HELP_STRING([--with-logrootdir=DIR], - [logging root directory @<:@default=/var/log@:>@])], - [with_logrootdir=$withval], [with_logrootdir="/var/log"]) - -# print misc options header -AC_ARG_WITH([cfg-dummy3], [ -Development options:]) - -# add dev_layout option -AC_ARG_ENABLE(dev-build, - [AS_HELP_STRING([--enable-dev-build], - [local development build])], - [enable_dev_build="yes"], [enable_dev_build="no"]) +# set sharerootdir to the resolved dataroot-dir for the config-*.inc file. +# Pascal cannot handle shell-variables like ${prefix} +AC_DEFINE_DIR(sharerootdir, datarootdir) # ----------------------------------------- -# tools +# find tools # ----------------------------------------- # options for make command @@ -130,6 +63,37 @@ AC_PROG_GREP # macro declarations # ----------------------------------------- +# AC_TRIM(STRING) +# removes surrounding whitespace +# ------------------------------------------- +AC_DEFUN([AC_TRIM], +[echo "[$1]" | $SED 's/^[[ \t]]*//' | $SED 's/[[ \t]]*$//' +]) + +# AC_SUBST_DEFINE(DEFINE_SUFFIX, IS_DEFINED) +# used to enable/disable pascal defines +AC_DEFUN([AC_SUBST_DEFINE], +[ + if [[ x$2 = xyes ]]; then + DEFINE_[$1]=DEFINE + else + DEFINE_[$1]=UNDEF + fi + AC_SUBST(DEFINE_[$1]) +]) + +# AC_SUBST_COMMENT(DEFINE_SUFFIX, IS_ENABLED) +# used to enable/disable lines in a Makefile +AC_DEFUN([AC_SUBST_COMMENT], +[ + if [[ x$2 = xyes ]]; then + COMMENT_[$1]="" + else + COMMENT_[$1]="#" + fi + AC_SUBST(COMMENT_[$1]) +]) + # AC_SPLIT_VERSION(VARIABLE_PREFIX, VERSION) # Splits version number ("major.minor.release") into its components. # Sets @@ -171,95 +135,206 @@ eof AC_SUBST([$1][_VERSION_INT]) ]) -# set to yes if a pkg-config error was skipped -pkgconfig_error_skipped="no" - -# AC_PKG_CHECK_VERSION(VARIABLE_PREFIX, MODULE, REQUIRED, PATH, MIN, MAX) -# Aborts if lib was not found and REQUIRED="yes". -# The PATH can be "check", "no" or "yes" -# Sets -# [$VARIABLE_PREFIX]_HAVE=("yes"|"no") and -# [$VARIABLE_PREFIX]_VERSION=major.minor.release -# [$VARIABLE_PREFIX]_VERSION_MAJOR -# [$VARIABLE_PREFIX]_VERSION_MINOR -# [$VARIABLE_PREFIX]_VERSION_RELEASE -AC_DEFUN([AC_PKG_CHECK_VERSION], +# PKG_VALUE(VARIABLE_PREFIX, POSTFIX, COMMAND, MODULE, HELP-STRING) +# ----------------------------------------------------- +AC_DEFUN([PKG_VALUE], [ - have_lib="no" - if test x$4 != xno; then - # on empty PATH or PATH="yes"/"check" use the default path - if test x$4 = x -o x$4 = xyes -o x$4 = xcheck; then - # search in default path if no path is given - lib_path="" - else - # all PKG_* names are forbidden by pkg.m4 so we have to allow this first - m4_pattern_allow(PKG_CONFIG_LIBDIR) - # search only in the path given - lib_path="PKG_CONFIG_LIBDIR=$4/pkgconfig" + AC_ARG_VAR([$1]_[$2], [$5, overriding pkg-config]) + # check if variable was defined by the user + if test -z "$[$1]_[$2]"; then + # if not, get it from pkg-config + if test x$[$1][_HAVE] = xyes; then + PKG_CHECK_EXISTS([$4], + [[$1]_[$2]=`$PKG_CONFIG --[$3] --silence-errors "$4"`], + [# print error message and quit + err_msg=`$PKG_CONFIG --errors-to-stdout --print-errors "$4"` + AC_MSG_ERROR( +[ + +$err_msg + +If --with-[$1]=nocheck is defined the environment variable +[$1]_[$2] +must be set to avoid the need to call pkg-config. + +See the pkg-config man page for more details. +]) + + ]) fi + fi + AC_SUBST([$1]_[$2]) +]) - minmax_flags="" - minmax_text="" - - # min version - if test x$5 != x; then - minmax_flags="$minmax_flags --atleast-version=$5" - minmax_text="$minmax_text >= $5" - fi - - # max version - if test x$6 != x; then - minmax_flags="$minmax_flags --max-version=$6" - minmax_text="$minmax_text <= $6" - fi - - # call pkg-config - AC_MSG_CHECKING(for [$2]$minmax_text) - [$1][_VERSION]=`eval $lib_path $PKG_CONFIG $minmax_flags --modversion [$2] --silence-errors` - if test $? -eq 0; then - have_lib="yes" - [$1][_HAVE]="yes" - AC_SPLIT_VERSION([$1], $[$1][_VERSION]) - AC_MSG_RESULT(yes @<:@$[$1][_VERSION]@:>@) - fi +# PKG_VERSION(VARIABLE_PREFIX, MODULE) +# Checks version of a package +# Parameters: +# - VARIABLE_PREFIX: the prefix for the variables storing information about the package. +# - MODULE: package name according to pkg-config +# Sets: +# [$VARIABLE_PREFIX]_VERSION # full version string (format: "major.minor.release") +# [$VARIABLE_PREFIX]_VERSION_MAJOR # major version number +# [$VARIABLE_PREFIX]_VERSION_MINOR # minor version number +# [$VARIABLE_PREFIX]_VERSION_RELEASE # release version number +# [$VARIABLE_PREFIX]_VERSION_INT # integer representation: MMMmmmrrr (M:major,m:minor,r:release) +AC_DEFUN([PKG_VERSION], +[ + if test x$[$1][_HAVE] = xyes; then + AC_MSG_CHECKING([version of $1]) + PKG_VALUE([$1], [VERSION], [modversion], [$2], [version of $1]) + AC_MSG_RESULT(@<:@$[$1][_VERSION]@:>@) else - AC_MSG_CHECKING(for [$2]) + [$1][_VERSION]="0.0.0" fi - if test x$have_lib = xno; then + AC_SPLIT_VERSION([$1], $[$1][_VERSION]) +]) + +# PKG_HAVE(VARIABLE_PREFIX, MODULE, [REQUIRED]) +# Checks with pkg-config if a package exists and retrieves information +# about it. +# Parameters: +# - VARIABLE_PREFIX: the prefix for the variables storing information about the package. +# - MODULE: package name according to pkg-config +# - REQUIRED: if true, the configure-script is aborted if the package was not found +# Uses: +# with_[$VARIABLE_PREFIX]: whether and how the package should be checked for +# "check": check for the package but do not abort if it does not exist (default) +# "no": do not check for the package (sets _HAVE to "no" and _VERSION to "0.0.0") +# "yes": check for the package and abort if it does not exist +# "nocheck": do not check for the package (sets _HAVE to "yes") +# Sets: +# [$VARIABLE_PREFIX]_HAVE # package is available (values: "yes"|"no") +# [$VARIABLE_PREFIX]_LIBS # linker flags (e.g. -Lmylibdir -lmylib) +# [$VARIABLE_PREFIX]_LIBDIRS # library dirs (e.g. -Lmylibdir) +AC_DEFUN([PKG_HAVE], +[ + have_lib="no" + AC_MSG_CHECKING([for $2]) + if test x"$with_[$1]" = xnocheck; then + # do not call pkg-config, use user settings + have_lib="yes" + elif test x"$with_[$1]" != xno; then + # check if package exists + PKG_CHECK_EXISTS([$2], [ + have_lib="yes" + [$1][_LIBS]=`$PKG_CONFIG --libs --silence-errors "$2"` + [$1][_LIBDIRS]=`$PKG_CONFIG --libs-only-L --silence-errors "$2"` + [$1][_LIBDIRS]=`AC_TRIM($[$1][_LIBDIRS])` + # add library directories to LIBS (ignore *_LIBS for now) + if test -n "$[$1][_LIBDIRS]"; then + LIBS="$LIBS $[$1][_LIBDIRS]" + fi + ]) + fi + if test x$have_lib = xyes; then + [$1][_HAVE]="yes" + if test -n "$[$1][_LIBDIRS]"; then + # show additional lib-dirs + AC_MSG_RESULT(yes [(]$[$1][_LIBDIRS][)]) + else + AC_MSG_RESULT(yes) + fi + else [$1][_HAVE]="no" - AC_SPLIT_VERSION([$1], [0.0.0]) AC_MSG_RESULT(no) - if test x$3 = xyes -o x$4 = xyes; then - AC_MSG_WARN([ -!!! Could not find the required library $2. -]); - # do not abort if skip-pkgconfig-errors is set - if test x$skip_pkgconfig_errors = xno; then - AC_MSG_ERROR([ -!!! Please install $2 and try again. -!!! -!!! If it is already installed check if "[$2].pc" is present in one -!!! of the pkg-config search directories (e.g. /usr/lib/pkgconfig). -!!! -!!! If the file is present but not in the standard search path you may add -!!! its directory by prepending "PKG_CONFIG_PATH=mylibs_dir/pkgconfig/" to -!!! your configure call. -!!! See the man-page on pkg-config for further information. -!!! -!!! Some linux distributions do not provide a .pc-file by the default -!!! package so you might have to install a special dev-package. -!!! -!!! If all of this does not help you may consider to skip this error and -!!! adjust the configuration file yourself. -!!! To do this call "./configure --enable-skip-pkgconfig-errors ...". + + # check if package is required + if test x$3 = xyes -o x"$with_[$1]" = xyes ; then + # print error message and quit + err_msg=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + AC_MSG_ERROR( +[ + +$err_msg + +Alternatively, you may set --with-[$1]=nocheck and the environment +variables [$1]_[[...]] (see configure --help) +to appropriate values to avoid the need to call pkg-config. + +See the pkg-config man page for more details. ]) - else - pkgconfig_error_skipped="yes" - fi - fi + fi fi ]) + +# ----------------------------------------- +# define switches +# ----------------------------------------- + +# print library options header +AC_ARG_WITH([cfg-dummy1], [ +External Libraries:]) + +# add portmixer option +AC_ARG_WITH([portmixer], + [AS_HELP_STRING([--with-portmixer], + [enable portmixer audio-mixer support @<:@default=check@:>@])], + [with_portmixer=$withval], [with_portmixer="check"]) + +# add projectM option +AC_ARG_WITH([libprojectM], + [AS_HELP_STRING([--with-libprojectM], + [enable projectM visualization support @<:@default=no@:>@])], + [with_libprojectM=$withval], [with_libprojectM="no"]) + +# print path options header +AC_ARG_WITH([cfg-dummy2], [ +Additional directories:]) + +# add suffix option +AC_ARG_WITH([suffix], + [AS_HELP_STRING([--with-suffix=SUFFIX], + [path suffix @<:@default=UltraStarDeluxe@:>@])], + [suffix=$withval], [suffix="UltraStarDeluxe"]) +if [[ x$suffix = xno -o x$suffix = xyes ]] ; then + AC_MSG_ERROR([Invalid suffix.]); +fi +AC_SUBST(suffix) + +# add logdir option +AC_ARG_WITH([logrootdir], + [AS_HELP_STRING([--with-logrootdir=DIR], + [logging root directory @<:@default=/var/log@:>@])], + [with_logrootdir=$withval], [with_logrootdir="/var/log"]) +AC_SUBST(logrootdir, [$with_logrootdir]) + +# print misc options header +AC_ARG_WITH([cfg-dummy3], [ +Development options:]) + +LOCAL_BUILD="no" + +# add global option +AC_ARG_ENABLE(global, + [AS_HELP_STRING([--enable-global], + [install into global folders (PREFIX/...) @<:@default=yes@:>@])], + [test $enableval = "no" && LOCAL_BUILD="yes"], []) + +# add local option +AC_ARG_ENABLE(local, + [AS_HELP_STRING([--enable-local], + [install into local folders (../../...) (same as --disable-global) @<:@default=no@:>@]))], + [test $enableval = "yes" && LOCAL_BUILD="yes"], []) + +# add dev_layout option +AC_ARG_ENABLE(dev-build, + [AS_HELP_STRING([--enable-dev-build], + [development build (implies local) @<:@default=no@:>@])], + [enable_dev_build=$enableval], [enable_dev_build="no"]) +if [[ x$enable_dev_build = xyes ]]; then + LOCAL_BUILD="yes" +fi + +# set default Makefile install-target according to local/global build-type +AC_SUBST_DEFINE(USE_LOCAL_DIRS, $LOCAL_BUILD) +if [[ x$LOCAL_BUILD = xyes ]]; then + AC_SUBST(install_type, ["local"]) +else + AC_SUBST(install_type, ["global"]) +fi + + # ----------------------------------------- # check for compilers # ----------------------------------------- @@ -279,6 +354,8 @@ AC_LANG([C]) AC_PROG_CXX AC_LANG([C++]) +AC_PROG_RANLIB + # find pkg-config PKG_PROG_PKG_CONFIG() if [[ x$PKG_CONFIG = x ]]; then @@ -289,163 +366,80 @@ if [[ x$PKG_CONFIG = x ]]; then fi # ----------------------------------------- -# check for lazarus -# ----------------------------------------- - -# set dirs to check for lazarus -#if [[ x$with_lazarus = xyes ]]; then - # use default path (ignore the standard path (PATH) because the lazarus executable might - # be in /usr/bin, but what we want is the program directory with the libs) -# LAZARUS_CHECK_DIRS="/usr/bin/lazarus:/usr/lib/lazarus:/usr/share/lazarus:/opt/lazarus:/usr/local/bin/lazarus:/usr/local/lib/lazarus:/usr/local/share/lazarus" -#else - # check if dir is valid -# if [[ -d $with_lazarus ]] ; then -# LAZARUS_CHECK_DIRS=$with_lazarus -# else -# AC_MSG_ERROR([LAZARUSDIR is not a directory.]); -# fi -#fi - -# find lazarus -#AC_PATH_PROG(LAZARUS, lazarus, no, [$LAZARUS_CHECK_DIRS]) -#if [[ $LAZARUS = "no" ]] ; then -# AC_MSG_ERROR([Could not find lazarus. Please install lazarus and try again.]); -#fi -#LAZARUS_DIR=`AS_DIRNAME(["$LAZARUS"])` - -# get lazarus version -#AC_MSG_CHECKING(for version of lazarus) -# (do this in a temporary shell to prevent a change of directory) -#LAZARUS_VERSION=`(cd "$LAZARUS_DIR/tools/install"; ./get_lazarus_version.sh)` -#LAZARUS_VERSION=`cat ide/version.inc | tr -d "' \t"` -#AC_SPLIT_VERSION([LAZARUS], [$LAZARUS_VERSION]) -#AC_MSG_RESULT(@<:@$LAZARUS_VERSION@:>@) - -# check if LCL Widget type is valid -#if [[ x$with_lcl_widget_type = x ]]; then -# # search for standard types -# LCL_CHECK_WIDGET_TYPES="gtk2 gtk qt win32 carbon" -#else - # search for user defined type only -# LCL_CHECK_WIDGET_TYPES="$with_lcl_widget_type" -#fi - -# LCL widget specific base dir -#LCL_UNIT_DIR="$LAZARUS_DIR/lcl/units/$FPC_PROCESSOR-$FPC_PLATFORM" - -# check for a supported widget type -#LCL_WIDGET_TYPE="" -#for widget_type in $LCL_CHECK_WIDGET_TYPES; do -# widget_dir="$LCL_UNIT_DIR/$widget_type" -# AC_MSG_CHECKING([whether LCL Widget Type "$widget_type" is supported]) -# if [[ -d "$widget_dir" ]]; then -# LCL_WIDGET_TYPE=$widget_type -# AC_MSG_RESULT(yes) -# break -# else -# AC_MSG_RESULT(no) -# fi -#done - -# check if a widget type was found -#if [[ x$LCL_WIDGET_TYPE = x ]]; then -# AC_MSG_ERROR([ -#!!! Could not detect the LCL Widget Type. -#!!! Specify the widget type with the --with-lcl-widget-type option.]) -#fi - -# ----------------------------------------- # check for libraries # ----------------------------------------- +# libpng +PKG_HAVE([libpng], [libpng], yes) + # find sdl -AC_PKG_CHECK_VERSION(SDL, [sdl], yes) +PKG_HAVE([sdl], [sdl], yes) # find sqlite3 -AC_PKG_CHECK_VERSION(SQLITE3, [sqlite3], yes) +PKG_HAVE([sqlite3], [sqlite3], yes) -# find ffmpeg +# find FFMpeg # Note: do not use the min/max version parameters with ffmpeg # otherwise it might fail in ubuntu due to a wrong version number # format in ffmpeg's .pc-files. # For example: 0d.51.1.2 instead of the correct 51.1.2. -# A check for a version >=52.0.0 will return version 0d.51.1.2 +# A check for version >=52.0.0 will return version 0d.51.1.2 # although it is lower because pkg-config is confused by the 0d. -# Use [mylib]_VERSION_INT instead -AC_PKG_CHECK_VERSION(AVCODEC, [libavcodec], yes) -AC_CHECK_LIB(avcodec, avcodec_decode_audio) -AC_CHECK_LIB(avcodec, avcodec_decode_audio2) -AC_CHECK_LIB(avcodec, img_convert) -AC_PKG_CHECK_VERSION(AVFORMAT, [libavformat], yes) -AC_PKG_CHECK_VERSION(AVUTIL, [libavutil], yes) -AC_PKG_CHECK_VERSION(SWSCALE, [libswscale], no) - -if [[ x$AVCODEC_HAVE = xyes -a x$AVFORMAT_HAVE = xyes -a x$AVUTIL_HAVE = xyes ]]; then - FFMPEG_HAVE=yes +# Use [mylib]_VERSION_INT for version-checking instead +PKG_HAVE([libavcodec], [libavcodec], yes) +PKG_VERSION([libavcodec], [libavcodec]) +AC_CHECK_LIB([avcodec], [avcodec_decode_audio], [HAVE_AVCODEC_DECODE_AUDIO="yes"]) +AC_CHECK_LIB([avcodec], [avcodec_decode_audio2], [HAVE_AVCODEC_DECODE_AUDIO2="yes"]) +AC_CHECK_LIB([avcodec], [img_convert], [HAVE_IMG_CONVERT="yes"]) +PKG_HAVE([libavformat], [libavformat], yes) +PKG_VERSION([libavformat], [libavformat]) +PKG_HAVE([libavutil], [libavutil], yes) +PKG_VERSION([libavutil], [libavutil]) +if [[ x$libavcodec_HAVE = xyes -a x$libavformat_HAVE = xyes -a x$libavutil_HAVE = xyes ]]; then + ffmpeg_HAVE=yes else - FFMPEG_HAVE=no + ffmpeg_HAVE=no fi +AC_SUBST_DEFINE(HAVE_FFMPEG, $ffmpeg_HAVE) -# find projectM version -AC_PKG_CHECK_VERSION(PROJECTM, [libprojectM], no, $with_projectM, [], 0.99) - -# find portaudio version -AC_PKG_CHECK_VERSION(PORTAUDIO, [portaudio-2.0], yes, $with_portaudio) -AC_PKG_CHECK_VERSION(PORTMIXER, [portmixer], no, $with_portmixer) - -# ----------------------------------------- -# defines for config.inc/versions.pas -# ----------------------------------------- - -# AC_SUBST_DEFINE(DEFINE_SUFFIX, IS_DEFINED) -AC_DEFUN([AC_SUBST_DEFINE], -[ - if [[ x$2 = xyes ]]; then - DEFINE_[$1]=DEFINE - else - DEFINE_[$1]=UNDEF - fi - AC_SUBST(DEFINE_[$1]) -]) - -AC_SUBST_DEFINE(DEBUG, $FPC_DEBUG) - -AC_SUBST(AVCODEC_LIB) -AC_SUBST(AVFORMAT_LIB) -AC_SUBST(AVUTIL_LIB) -AC_SUBST_DEFINE(HAVE_FFMPEG, $FFMPEG_HAVE) - -AC_SUBST(SWSCALE_LIB) -AC_SUBST_DEFINE(HAVE_SWSCALE, $SWSCALE_HAVE) - -AC_SUBST(PROJECTM_LIB) -AC_SUBST_DEFINE(HAVE_PROJECTM_0_9, $PROJECTM_HAVE) -AC_SUBST_DEFINE(HAVE_PROJECTM_1_0_PLUS, $PROJECTM_HAVE) - -AC_SUBST(PORTAUDIO_LIB) -AC_SUBST_DEFINE(HAVE_PORTAUDIO, $PORTAUDIO_HAVE) - -AC_SUBST(PORTMIXER_LIB) -AC_SUBST_DEFINE(HAVE_PORTMIXER, $PORTMIXER_HAVE) +# find FFMpeg's swscale lib (just if FFMpeg is compiled in GPL mode) +PKG_HAVE([libswscale], [libswscale], no) +PKG_VERSION([libswscale], [libswscale]) +AC_SUBST_DEFINE(HAVE_SWSCALE, $libswscale_HAVE) -#AC_SUBST(LAZARUS_DIR) -#AC_SUBST(LCL_WIDGET_TYPE) -AC_SUBST_DEFINE(USE_LOCAL_DIRS, $enable_dev_build) -if [[ x$enable_dev_build = xyes ]]; then - AC_SUBST(install_type, ["dev"]) +# find projectM version +libprojectM_PKG="libprojectM >= 0.98" +PKG_HAVE([libprojectM], [$libprojectM_PKG], no) +PKG_VERSION([libprojectM], [$libprojectM_PKG]) +AC_SUBST_DEFINE(HAVE_PROJECTM, $libprojectM_HAVE) +# get projectM include-dir +PKG_VALUE([libprojectM], [INCLUDEDIR], [variable=includedir], [$libprojectM_PKG], + [C-Header include-dir (e.g. /usr/include)]) +# get projectM data-dir (for preset- and font-dir) +PKG_VALUE([libprojectM], [DATADIR], [variable=pkgdatadir], [$libprojectM_PKG], + [projectM data-directory for presets etc. (e.g. /usr/share/projectM)]) +# check if we need the c-wrapper +if [[ "$libprojectM_VERSION_MAJOR" -ge 1 ]]; then + libprojectM_NEEDS_CWRAPPER=yes else - AC_SUBST(install_type, ["release"]) + libprojectM_NEEDS_CWRAPPER=no fi -AC_SUBST(suffix) -AC_SUBST(logrootdir, [$with_logrootdir]) -AC_DEFINE_DIR(sharerootdir, datarootdir) - -#AC_SUBST(LDFLAGS) -#AC_SUBST(LIBS) - -AC_SUBST(PLIBS) -AC_SUBST(PACKAGE_WEBSITE) +AC_SUBST_COMMENT(PROJECTM_CWRAPPER, $libprojectM_NEEDS_CWRAPPER) + +# find portaudio +PKG_HAVE([portaudio], [portaudio-2.0], yes) +PKG_VERSION([portaudio], [portaudio-2.0]) +AC_SUBST_DEFINE(HAVE_PORTAUDIO, $portaudio_HAVE) +# find portmixer +PKG_HAVE([portmixer], [portmixer], no) +AC_SUBST_DEFINE(HAVE_PORTMIXER, $portmixer_HAVE) + +# determine linker-flags +#LDFLAGS= +#LIBS= +AC_SUBST(LDFLAGS) +AC_SUBST(LIBS) # ----------------------------------------- # create output files @@ -453,6 +447,10 @@ AC_SUBST(PACKAGE_WEBSITE) AC_CONFIG_FILES([config-linux.inc:config.inc.in]) AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([$usdxroot/Tools/ResourceExtractor/Makefile]) +if [[ x$libprojectM_NEEDS_CWRAPPER = xyes ]]; then + AC_CONFIG_FILES([lib/projectM/cwrapper/Makefile]) +fi AC_OUTPUT # ----------------------------------------- @@ -494,13 +492,4 @@ AC_MSG_NOTICE([ #!!! You might as well ask for help at the IRC-Channel #!!! $PACKAGE_IRC -if [[ x$pkgconfig_error_skipped = xyes ]]; then - AC_MSG_WARN([ -??? pkg-config did not find all of the required libraries. -??? Edit "config-linux.inc" to add the missing parts. -??? If one of your libraries' directories is not in the linker's -??? search-path add it to the LDFLAGS environment variable and -??? rerun configure (e.g. ./configure LDFLAGS="-Lmylibdir" ...). -]) -fi |