Codebase list gavl / f38b5b6e-8f66-494d-9dd9-82c845b0eccf/upstream configure.ac
f38b5b6e-8f66-494d-9dd9-82c845b0eccf/upstream

Tree @f38b5b6e-8f66-494d-9dd9-82c845b0eccf/upstream (Download .tar.gz)

configure.ac @f38b5b6e-8f66-494d-9dd9-82c845b0eccf/upstreamraw · history · blame

dnl Process this file with autoconf to produce a configure script.

AC_INIT([gavl], [2.0.0])
AC_CONFIG_SRCDIR([include/gavl/gavl.h])
AM_INIT_AUTOMAKE

AM_CONFIG_HEADER(include/config.h)

GAVL_VERSION=$VERSION

GAVL_VERSION_MAJOR=`echo $VERSION | cut -d . -f 1`
GAVL_VERSION_MINOR=`echo $VERSION | cut -d . -f 2`
GAVL_VERSION_MICRO=`echo $VERSION | cut -d . -f 3 | cut -d p -f 1`

LTVERSION_CURRENT="2"
LTVERSION_REVISION="0"
LTVERSION_AGE="0"

SAVE_CFLAGS=$CFLAGS

AC_SUBST(GAVL_VERSION)
AC_SUBST(GAVL_VERSION_MAJOR)
AC_SUBST(GAVL_VERSION_MINOR)
AC_SUBST(GAVL_VERSION_MICRO)

AC_SUBST(LTVERSION_CURRENT)
AC_SUBST(LTVERSION_REVISION)
AC_SUBST(LTVERSION_AGE)

AC_CANONICAL_HOST

AC_DISABLE_STATIC

AC_PROG_LIBTOOL
AM_PROG_LIBTOOL

AC_PROG_MAKE_SET

CFLAGS=$SAVE_CFLAGS

dnl
dnl Doxygen
dnl

test_doxygen="true"
have_doxygen="false"

AC_ARG_WITH(doxygen,
    AC_HELP_STRING([--without-doxygen],
    [disable documentation generation]),
    test_doxygen="false")

if test "x$test_doxygen" = "xtrue"; then
  AC_CHECK_PROG(DOXYGEN, doxygen, "doxygen")
  if test "x$DOXYGEN" != "x"; then
    have_doxygen="true"
  fi
fi

AM_CONDITIONAL(HAVE_DOXYGEN, test "x$have_doxygen" = "xtrue")



dnl
dnl Check for compiler flags
dnl  

AC_C_ATTRIBUTE_ALIGNED

AC_C_BIGENDIAN(,,AC_MSG_ERROR("Cannot detect endianess"))

LIBGAVL_CFLAGS=""
LIBGAVL_LIBS=""
LIBGAVL_LDFLAGS=""

APPS_LDFLAGS=""

dnl
dnl Check for mingw
dnl

case "$host" in
	*-*-mingw*|*cygwin*)
	os_win32=yes		
	AC_MSG_WARN([host is $host])
	;;
	*)
	os_win32=no
	;;
esac
AM_CONDITIONAL(OS_WIN32, [test "$os_win32" = "yes"])

if test "$os_win32" = "yes"; then
LIBGAVL_LIBS="-lws2_32 $LIBGAVL_LIBS"

dnl it appears that -no-undefined is necessary in mingw in order to build dll
dnl maybe we should check here if the user only wants static libs

LIBGAVL_LDFLAGS="-no-undefined $LIBGAVL_LDFLAGS"
fi

dnl
dnl gnutls
dnl

PKG_CHECK_MODULES(GNUTLS, gnutls >= "3.5.18",, AC_MSG_ERROR(["gnutls not found"]))

LIBGAVL_CFLAGS="$LIBGAVL_CFLAGS $GNUTLS_CFLAGS"
LIBGAVL_LIBS="$LIBGAVL_LIBS $GNUTLS_LIBS"


dnl
dnl Check for Linker flags
dnl

GMERLIN_CHECK_LDFLAGS

dnl
dnl Check for library functions
dnl 

AC_CHECK_HEADERS([sys/select.h sys/sendfile.h ifaddrs.h])

AC_CHECK_DECLS([MSG_NOSIGNAL, SO_NOSIGPIPE],,,
               [#include <sys/types.h>
	       #include <sys/socket.h>])

AC_CHECK_FUNCS([memalign posix_memalign strdup vasprintf isatty sched_setaffinity])

AC_SYS_LARGEFILE
AC_FUNC_FSEEKO

AC_CHECK_HEADERS([drm/drm_fourcc.h])
AC_CHECK_HEADERS([libdrm/drm_fourcc.h])

dnl
dnl clock_gettime
dnl

AH_TEMPLATE([HAVE_CLOCK_GETTIME],
            [clock_gettime available?])
AH_TEMPLATE([HAVE_CLOCK_MONOTONIC],
            [CLOCK_MONOTONIC available?])

HAVE_CLOCK_GETTIME="true"
HAVE_CLOCK_MONOTONIC="false"

OLD_LIBS=$LIBS
AC_SEARCH_LIBS([clock_gettime], [rt], , HAVE_CLOCK_GETTIME="false")
RT_LIBS=$LIBS
AC_SUBST(RT_LIBS)
LIBS=$OLD_LIBS

if test "x$HAVE_CLOCK_GETTIME" = "xtrue"; then
  AC_DEFINE([HAVE_CLOCK_GETTIME])

OLD_LIBS=$LIBS
LIBS=$RT_LIBS

AC_MSG_CHECKING(for CLOCK_MONOTONIC)

AC_TRY_COMPILE([
  #include <time.h>
  #include <errno.h>
],[
  struct timespec tp;
  clock_gettime(CLOCK_MONOTONIC, &tp);
  ],
  [
    # program could be run
    AC_MSG_RESULT(yes)
    HAVE_CLOCK_MONOTONIC="true"

  ],
    # program could not be run
    AC_MSG_RESULT(no)
)

if test "x$HAVE_CLOCK_MONOTONIC" = "xtrue"; then
  AC_DEFINE([HAVE_CLOCK_MONOTONIC])
fi

fi



dnl
dnl lrint, lrintf
dnl

AC_C99_FUNC_LRINT
AC_C99_FUNC_LRINTF

AC_CHECK_HEADERS(sys/times.h byteswap.h)

dnl
dnl Check for libpng (only needed for some tests)
dnl

GMERLIN_CHECK_LIBPNG

dnl
dnl Build optimization flags
dnl

LQT_OPT_CFLAGS(["-O3 -fomit-frame-pointer"])

dnl
dnl Check for SIMD
dnl

GAVL_CHECK_SIMD($host_cpu, "$OPT_CFLAGS")

dnl
dnl X11
dnl

GMERLIN_CHECK_X11

dnl
dnl Check for libva
dnl

GMERLIN_CHECK_LIBVA

if test "x$have_libva_x11" = "xtrue"; then
LIBGAVL_CFLAGS="$LIBGAVL_CFLAGS $X_CFLAGS"
LIBGAVL_LIBS="$LIBGAVL_LIBS $X_LIBS"
fi

if test "x$have_libva" = "xtrue"; then
LIBGAVL_CFLAGS="$LIBGAVL_CFLAGS $LIBVA_CFLAGS"
LIBGAVL_LIBS="$LIBGAVL_LIBS $LIBVA_LIBS"
fi

dnl
dnl OpenGL
dnl

GMERLIN_CHECK_OPENGL

dnl
dnl Video4linux2
dnl

GMERLIN_CHECK_V4L2

dnl
dnl Now, build the final CFLAGS.
dnl 

CFLAGS="$CFLAGS $OPT_CFLAGS"

LQT_TRY_CFLAGS([-Wall], CFLAGS="$CFLAGS -Wall")
LQT_TRY_CFLAGS([-Wmissing-declarations], CFLAGS="$CFLAGS -Wmissing-declarations" )
LQT_TRY_CFLAGS([-Wdeclaration-after-statement], CFLAGS="$CFLAGS -Wdeclaration-after-statement")
dnl LQT_TRY_CFLAGS([-mfpmath=387], CFLAGS="$CFLAGS -mfpmath=387")
LQT_TRY_CFLAGS([-fvisibility=hidden], CFLAGS="$CFLAGS -fvisibility=hidden")

dnl
dnl Stuff from libsamplerate
dnl

AC_ARG_ENABLE(cpu-clip,
    AC_HELP_STRING([--disable-cpu-clip], [disable tricky cpu specific clipper]),
    ac_arg_cpu_clip="N", ac_arg_cpu_clip="Y")

if test x$ac_arg_cpu_clip = "xY" ; then
        AC_C_CLIP_MODE
else
        echo "checking processor clipping capabilities... disabled"
        ac_cv_c_clip_positive=0
        ac_cv_c_clip_negative=0
        fi

AC_DEFINE_UNQUOTED(CPU_CLIPS_POSITIVE, ${ac_cv_c_clip_positive},
        [Target processor clips on positive float to int conversion.])
AC_DEFINE_UNQUOTED(CPU_CLIPS_NEGATIVE, ${ac_cv_c_clip_negative},
        [Target processor clips on negative float to int conversion.])

AC_CHECK_SIZEOF(int,0)
AC_CHECK_SIZEOF(long,0)
AC_CHECK_SIZEOF(float,4)
AC_CHECK_SIZEOF(double,8)

dnl UD_CHECK_IEEE

dnl Absolute src path for doxygen

TOP_SRCDIR=`cd ${srcdir} && pwd` 
AC_SUBST(TOP_SRCDIR)

dnl
dnl Output variables
dnl

AM_CPPFLAGS='-I$(top_srcdir)/include -I$(top_srcdir)/include/gavl -I$(top_builddir)/include'
AC_SUBST(AM_CPPFLAGS)

LIBGAVL_CFLAGS="$LIBGAVL_CFLAGS -D__GAVL__ -D_FILE_OFFSET_BITS=64"

AC_SUBST(LIBGAVL_CFLAGS)

AC_SUBST(LIBGAVL_LIBS)	
AC_SUBST(LIBGAVL_LDFLAGS)	
AC_SUBST(APPS_LDFLAGS)

AC_OUTPUT(Makefile \
gavl.spec \
gavl.pc \
doc/Makefile \
doc/Doxyfile \
src/Makefile \
m4/Makefile \
utils/Makefile \
include/Makefile \
include/gavl/Makefile \
include/gavl/gavl_version.h \
gavl/Makefile \
gavl/libgdither/Makefile \
gavl/libsamplerate/Makefile \
gavl/c/Makefile \
gavl/gavf/Makefile \
gavl/hq/Makefile \
gavl/mmx/Makefile \
gavl/mmxext/Makefile \
gavl/3dnow/Makefile \
gavl/sse/Makefile \
gavl/sse2/Makefile \
gavl/sse3/Makefile \
gavl/ssse3/Makefile )