You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arts/flow/gsl/configure.in.in

225 lines
6.4 KiB

dnl Portability defines that help interoperate with classic and modern autoconfs
ifdef([AC_TR_SH],[
define([GLIB_TR_SH],[AC_TR_SH([$1])])
define([GLIB_TR_CPP],[AC_TR_CPP([$1])])
], [
define([GLIB_TR_SH],
[patsubst(translit([[$1]], [*+], [pp]), [[^a-zA-Z0-9_]], [_])])
define([GLIB_TR_CPP],
[patsubst(translit([[$1]],
[*abcdefghijklmnopqrstuvwxyz],
[PABCDEFGHIJKLMNOPQRSTUVWXYZ]),
[[^A-Z0-9_]], [_])])
])
dnl GLIB_SIZEOF (INCLUDES, TYPE, ALIAS [, CROSS-SIZE])
AC_DEFUN([GLIB_SIZEOF],
[pushdef([glib_Sizeof], GLIB_TR_SH([glib_cv_sizeof_$3]))dnl
AC_CACHE_CHECK([size of $2], glib_Sizeof,
[AC_TRY_RUN([#include <stdio.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
$1
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof($2));
exit(0);
}],
[glib_Sizeof=`cat conftestval` dnl''
],
[glib_Sizeof=0],
ifelse([$4], [], [], [glib_Sizeof=$4]))])
AC_DEFINE_UNQUOTED(GLIB_TR_CPP(glib_sizeof_$3), [$[]glib_Sizeof], [Size of $3])
popdef([glib_Sizeof])dnl
])
AC_DEFUN([AC_GSL_REQUIREMENTS],
[
dnl === Ogg/Vorbis check ===
AC_ARG_ENABLE(vorbis,
[ --disable-arts-vorbis disable arts Ogg Vorbis support],
[arts_want_vorbis="$enableval"],[arts_want_vorbis="yes"])
if test "$arts_want_vorbis" = "yes"; then
ov_headers=0
AC_CHECK_LIB(vorbisfile, ov_read_float,
[KDE_CHECK_HEADER(ogg/ogg.h, ov_headers=`expr $ov_headers + 1`)]
[KDE_CHECK_HEADER(vorbis/vorbisfile.h, ov_headers=`expr $ov_headers + 1`)]
[KDE_CHECK_HEADER(vorbis/vorbisenc.h, ov_headers=`expr $ov_headers + 1`)]
,
ov_headers=0, -lvorbisenc -lvorbis -logg)
if test $ov_headers = 3 ; then
GSL_LIBS="$GSL_LIBS -lvorbisfile -lvorbisenc -lvorbis -logg"
GSL_HAVE_OGGVORBIS=1
else
GSL_HAVE_OGGVORBIS=0
fi
dnl AC_DEFINE(GSL_HAVE_OGGVORBIS,1,[Define if you want Ogg Vorbis support unconditionally])
else
GSL_HAVE_OGGVORBIS=0
dnl AC_MSG_WARN([failed to detect Ogg/Vorbis library (>=1.0rc3) or headers])
fi
AC_SUBST(GSL_HAVE_OGGVORBIS)
dnl check for ov_read_float parameter count (differs in 1.0 vs. rc3)
if test $GSL_HAVE_OGGVORBIS = 1; then
AC_MSG_CHECKING([for ov_read_float() from rc3])
AC_TRY_COMPILE([
#include <vorbis/vorbisfile.h>
], [
ov_read_float(0,0,0);
], [
GSL_HAVE_OGGVORBIS_RC3=1
AC_MSG_RESULT(yes)
], [
GSL_HAVE_OGGVORBIS_RC3=0
AC_MSG_RESULT(no)
])
AC_SUBST(GSL_HAVE_OGGVORBIS_RC3)
fi
dnl === libmad MPEG decoder check ===
AC_ARG_ENABLE(libmad,
[ --disable-libmad disable arts MAD mp3 decoder support],
[arts_want_libmad="$enableval"],[arts_want_libmad="yes"])
if test "$arts_want_libmad" = "yes"; then
mad_detect=0
AC_CHECK_LIB(mad, mad_synth_frame,
[AC_CHECK_HEADER(mad.h, mad_detect=1)]
,
mad_detect=0, -lmad)
if test $mad_detect = 1 ; then
GSL_LIBS="$GSL_LIBS -lmad"
GSL_HAVE_LIBMAD=1
else
dnl AC_MSG_WARN([failed to detect libmad (MPEG I-III audio decoder) or headers])
GSL_HAVE_LIBMAD=0
fi
else
dnl AC_MSG_WARN([failed to detect libmad (MPEG I-III audio decoder) or headers])
GSL_HAVE_LIBMAD=0
fi
AC_SUBST(GSL_HAVE_LIBMAD)
dnl === Check library requirements ===
AC_MSG_CHECKING([the required GSL-Loader library set])
if true; then dnl echo $GSL_LIBS | grep ".*-lvorbis.*" >/dev/null ; then
AC_MSG_RESULT([complete])
else
AC_MSG_RESULT([])
AC_MSG_ERROR([Ogg/Vorbis is missing, but required])
fi
AC_SUBST(GSL_LIBS)
dnl === sizeof types ===
GLIB_SIZEOF([#include <pthread.h>], pthread_mutex_t, pth_mutex_t)
GSL_SIZEOF_PTH_MUTEX_T="$glib_cv_sizeof_pth_mutex_t"
AC_SUBST(GSL_SIZEOF_PTH_MUTEX_T)
GLIB_SIZEOF([#include <pthread.h>], pthread_cond_t, pth_cond_t)
GSL_SIZEOF_PTH_COND_T="$glib_cv_sizeof_pth_cond_t"
AC_SUBST(GSL_SIZEOF_PTH_COND_T)
GLIB_SIZEOF([#include <inttypes.h>], intmax_t, std_intmax_t)
GSL_SIZEOF_STD_INTMAX_T="$glib_cv_sizeof_std_intmax_t"
AC_SUBST(GSL_SIZEOF_STD_INTMAX_T)
dnl === pthread_mutexattr_settype ===
AC_MSG_CHECKING([for pthread_mutexattr_settype()])
AC_TRY_COMPILE([
#define _XOPEN_SOURCE 500
#include <pthread.h>
], [
int (*attr_settype) (pthread_mutexattr_t *__attr, int __kind) = pthread_mutexattr_settype;
int val = PTHREAD_MUTEX_RECURSIVE;
attr_settype = 0; val = 0;
],
GSL_HAVE_MUTEXATTR_SETTYPE=1
AC_MSG_RESULT(yes)
,
GSL_HAVE_MUTEXATTR_SETTYPE=0
AC_MSG_RESULT(no)
)
AC_SUBST(GSL_HAVE_MUTEXATTR_SETTYPE)
])
AC_DEFUN([AC_GSL_GLIB_REQUIREMENTS],
[
AC_CHECK_FUNCS(getcwd)
AC_FUNC_ALLOCA
dnl **********************
dnl *** va_copy checks ***
dnl **********************
dnl we currently check for all three va_copy possibilities, so we get
dnl all results in config.log for bug reports.
AC_CACHE_CHECK([for an implementation of va_copy()],glib_cv_va_copy,[
AC_TRY_RUN([
#include <stdarg.h>
void f (int i, ...) {
va_list args1, args2;
va_start (args1, i);
va_copy (args2, args1);
if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
exit (1);
va_end (args1); va_end (args2);
}
int main() {
f (0, 42);
return 0;
}],
[glib_cv_va_copy=yes],
[glib_cv_va_copy=no],
[])
])
AC_CACHE_CHECK([for an implementation of __va_copy()],glib_cv___va_copy,[
AC_TRY_RUN([
#include <stdarg.h>
void f (int i, ...) {
va_list args1, args2;
va_start (args1, i);
__va_copy (args2, args1);
if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
exit (1);
va_end (args1); va_end (args2);
}
int main() {
f (0, 42);
return 0;
}],
[glib_cv___va_copy=yes],
[glib_cv___va_copy=no],
[])
])
if test "x$glib_cv_va_copy" = "xyes"; then
g_va_copy_func=va_copy
else if test "x$glib_cv___va_copy" = "xyes"; then
g_va_copy_func=__va_copy
fi
fi
])
AC_GSL_REQUIREMENTS
AC_GSL_GLIB_REQUIREMENTS
dnl get rid of lots and lots of useless warnings
GSL_CFLAGS="$CFLAGS"
for warn in -W -Wshadow -pedantic # -Wwrite-strings
do
GSL_CFLAGS="`echo $GSL_CFLAGS | sed 's/ '$warn' / /g'`"
done
AC_SUBST(GSL_CFLAGS)
dnl enable aRts version of glib / thread support
GSL_USE_GSL_GLIB=1
GSL_USE_ARTS_THREADS=1
AC_SUBST(GSL_USE_GSL_GLIB)
AC_SUBST(GSL_USE_ARTS_THREADS)