Blame configure.ac

Packit a43c12
AC_PREREQ([2.68])
Packit a43c12
AC_INIT([orc], [0.4.27], [http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=orc],[orc])
Packit a43c12
dnl don't forget to update libversion
Packit a43c12
Packit a43c12
AS_NANO(ORC_GIT=no,ORC_GIT=yes)
Packit a43c12
Packit a43c12
AC_CANONICAL_HOST()
Packit a43c12
AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
Packit a43c12
Packit a43c12
dnl use pretty build output with automake >= 1.11
Packit a43c12
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
Packit a43c12
  [AM_DEFAULT_VERBOSITY=1
Packit a43c12
   AC_SUBST(AM_DEFAULT_VERBOSITY)])
Packit a43c12
Packit a43c12
ORC_MAJORMINOR=0.4
Packit a43c12
AC_SUBST(ORC_MAJORMINOR)
Packit a43c12
Packit a43c12
AC_CONFIG_HEADER(config.h)
Packit a43c12
Packit a43c12
dnl CURRENT, REVISION, AGE
Packit a43c12
dnl - library source changed -> increment REVISION
Packit a43c12
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
Packit a43c12
dnl - interfaces added -> increment AGE
Packit a43c12
dnl - interfaces removed -> AGE = 0
Packit a43c12
ORC_LIBVERSION="27:0:27"
Packit a43c12
AC_SUBST(ORC_LIBVERSION)
Packit a43c12
LT_PREREQ([2.2.6])
Packit a43c12
LT_INIT([dlopen win32-dll disable-static])
Packit a43c12
Packit a43c12
AC_PROG_CC
Packit a43c12
AC_PROG_CC_STDC
Packit a43c12
AM_PROG_CC_C_O
Packit a43c12
AM_PROG_AS
Packit a43c12
Packit a43c12
AC_CONFIG_MACRO_DIR([m4])
Packit a43c12
Packit a43c12
AC_CONFIG_SRCDIR([orc/orc.h])
Packit a43c12
Packit a43c12
AM_MAINTAINER_MODE([enable])
Packit a43c12
Packit a43c12
ACLOCAL_AMFLAGS="-I m4 $ACLOCAL_AMFLAGS"
Packit a43c12
AC_SUBST(ACLOCAL_AMFLAGS)
Packit a43c12
Packit a43c12
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = "xyes")
Packit a43c12
AC_CHECK_FUNCS([posix_memalign])
Packit a43c12
Packit a43c12
##################################################
Packit a43c12
# Check for gtk-doc.
Packit a43c12
##################################################
Packit a43c12
Packit a43c12
if test "x$cross_compiling" = "xyes" ; then
Packit a43c12
  enable_gtk_doc=no
Packit a43c12
fi
Packit a43c12
GTK_DOC_CHECK([1.12])
Packit a43c12
Packit a43c12
AS_HOST_DEFINES()
Packit a43c12
Packit a43c12
AC_C_BIGENDIAN
Packit a43c12
Packit a43c12
AC_FUNC_MMAP()
Packit a43c12
Packit a43c12
AC_HEADER_STDC
Packit a43c12
AC_CHECK_HEADERS([inttypes.h])
Packit a43c12
AC_CHECK_HEADERS([sys/time.h])
Packit a43c12
AC_CHECK_HEADERS([unistd.h])
Packit a43c12
Packit a43c12
AC_CHECK_FUNCS([gettimeofday])
Packit a43c12
AC_CHECK_FUNCS([sigaction])
Packit a43c12
AC_CHECK_FUNCS([sigsetjmp])
Packit a43c12
Packit a43c12
AC_CHECK_LIBM
Packit a43c12
AC_SUBST(LIBM)
Packit a43c12
Packit a43c12
AC_CHECK_LIB(rt, clock_gettime,
Packit a43c12
   AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Defined if we have clock_gettime()])
Packit a43c12
   LIBRT=-lrt
Packit a43c12
   )
Packit a43c12
AC_SUBST(LIBRT)
Packit a43c12
Packit a43c12
dnl Android liblog
Packit a43c12
case "${host_os}" in
Packit a43c12
  *android*)
Packit a43c12
    AC_CHECK_LIB(log, __android_log_print,
Packit a43c12
        AC_DEFINE(HAVE_ANDROID_LIBLOG, 1, [Defined if we have __android_log_print()])
Packit a43c12
        LIBLOG=-llog
Packit a43c12
    )
Packit a43c12
    ;;
Packit a43c12
  *)
Packit a43c12
    ;;
Packit a43c12
esac
Packit a43c12
AC_SUBST(LIBLOG)
Packit a43c12
Packit a43c12
AC_CACHE_CHECK(for monotonic clocks,
Packit a43c12
    orc_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
Packit a43c12
#include <time.h>
Packit a43c12
#include <unistd.h>
Packit a43c12
int main() {
Packit a43c12
#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
Packit a43c12
        #error No monotonic clock
Packit a43c12
#endif
Packit a43c12
        return 0;
Packit a43c12
}
Packit a43c12
]])],orc_cv_monotonic_clock=yes,orc_cv_monotonic_clock=no))
Packit a43c12
if test "$orc_cv_monotonic_clock" = "yes"; then
Packit a43c12
  AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Defined if we have a monotonic clock])
Packit a43c12
fi
Packit a43c12
Packit a43c12
AC_CHECK_HEADERS([valgrind/valgrind.h])
Packit a43c12
Packit a43c12
AS_COMPILER_FLAG(-Wall, ORC_CFLAGS="$ORC_CFLAGS -Wall")
Packit a43c12
if test "x$ORC_GIT" = "xyes"
Packit a43c12
then
Packit a43c12
  AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="-Werror")
Packit a43c12
fi
Packit a43c12
Packit a43c12
case "${host_os}" in
Packit a43c12
  nobody_is_using_this_currently)
Packit a43c12
    AC_DEFINE(HAVE_CODEMEM_MALLOC, 1, [Use malloc to allocate code for execution])
Packit a43c12
    ;;
Packit a43c12
  mingw*|pw32*|cygwin*)
Packit a43c12
    AC_DEFINE(HAVE_CODEMEM_VIRTUALALLOC, 1, [Use VirtualAlloc to allocate code for execution])
Packit a43c12
    ;;
Packit a43c12
  linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
Packit a43c12
    AC_DEFINE(HAVE_CODEMEM_MMAP, 1, [Use mmap to allocate code for execution])
Packit a43c12
    ;;
Packit a43c12
  *)
Packit a43c12
    AC_ERROR([no code allocation backend])
Packit a43c12
    ;;
Packit a43c12
esac
Packit a43c12
Packit a43c12
case "${host_os}" in
Packit a43c12
  mingw*|pw32*|cygwin*)
Packit a43c12
    AC_DEFINE(HAVE_THREAD_WIN32, 1, [Use Windows thread code])
Packit a43c12
    ;;
Packit a43c12
  *android*)
Packit a43c12
    AC_DEFINE(HAVE_THREAD_PTHREAD, 1, [Use pthread thread code])
Packit a43c12
    PTHREAD_CFLAGS=
Packit a43c12
    PTHREAD_LIBS=
Packit a43c12
    ;;
Packit a43c12
  *)
Packit a43c12
    AC_DEFINE(HAVE_THREAD_PTHREAD, 1, [Use pthread thread code])
Packit a43c12
    PTHREAD_CFLAGS=
Packit a43c12
    PTHREAD_LIBS=-lpthread
Packit a43c12
    ;;
Packit a43c12
esac
Packit a43c12
AC_SUBST(PTHREAD_CFLAGS)
Packit a43c12
AC_SUBST(PTHREAD_LIBS)
Packit a43c12
Packit a43c12
AC_ARG_ENABLE(backend,
Packit a43c12
  AC_HELP_STRING([--enable-backend],[sse,mmx,neon,mips,all (default all)]),
Packit a43c12
    [], [enable_backend=all])
Packit a43c12
case "${enable_backend}" in
Packit a43c12
  sse)
Packit a43c12
    ENABLE_BACKEND_SSE=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_SSE, 1, [Enable SSE backend])
Packit a43c12
    ;;
Packit a43c12
  mmx)
Packit a43c12
    ENABLE_BACKEND_MMX=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_MMX, 1, [Enable MMX backend])
Packit a43c12
    ;;
Packit a43c12
  altivec)
Packit a43c12
    ENABLE_BACKEND_ALTIVEC=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_ALTIVEC, 1, [Enable Altivec backend])
Packit a43c12
    ;;
Packit a43c12
  neon)
Packit a43c12
    ENABLE_BACKEND_NEON=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_NEON, 1, [Enable NEON backend])
Packit a43c12
    ;;
Packit a43c12
### ARM backend is disabled until it has decent coverage
Packit a43c12
#  arm)
Packit a43c12
#    ENABLE_BACKEND_ARM=yes
Packit a43c12
#    AC_DEFINE(ENABLE_BACKEND_ARM, 1, [Enable Arm backend])
Packit a43c12
#    ;;
Packit a43c12
  c64x)
Packit a43c12
    ENABLE_BACKEND_C64X=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_C64X, 1, [Enable c64x backend])
Packit a43c12
    ;;
Packit a43c12
  mips)
Packit a43c12
    ENABLE_BACKEND_MIPS=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_MIPS, 1, [Enable MIPS backend])
Packit a43c12
    ;;
Packit a43c12
  all|auto)
Packit a43c12
    ENABLE_BACKEND_SSE=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_SSE, 1, [Enable SSE backend])
Packit a43c12
    ENABLE_BACKEND_MMX=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_MMX, 1, [Enable MMX backend])
Packit a43c12
    ENABLE_BACKEND_ALTIVEC=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_ALTIVEC, 1, [Enable Altivec backend])
Packit a43c12
    ENABLE_BACKEND_NEON=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_NEON, 1, [Enable NEON backend])
Packit a43c12
#    ENABLE_BACKEND_ARM=yes
Packit a43c12
#    AC_DEFINE(ENABLE_BACKEND_ARM, 1, [Enable Arm backend])
Packit a43c12
    ENABLE_BACKEND_C64X=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_C64X, 1, [Enable c64x backend])
Packit a43c12
    ENABLE_BACKEND_MIPS=yes
Packit a43c12
    AC_DEFINE(ENABLE_BACKEND_MIPS, 1, [Enable MIPS backend])
Packit a43c12
    ;;
Packit a43c12
esac
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_SSE, test "x$ENABLE_BACKEND_SSE" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_MMX, test "x$ENABLE_BACKEND_MMX" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_ALTIVEC, test "x$ENABLE_BACKEND_ALTIVEC" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_NEON, test "x$ENABLE_BACKEND_NEON" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_ARM, test "x$ENABLE_BACKEND_ARM" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_C64X, test "x$ENABLE_BACKEND_C64X" = "xyes")
Packit a43c12
AM_CONDITIONAL(ENABLE_BACKEND_MIPS, test "x$ENABLE_BACKEND_MIPS" = "xyes")
Packit a43c12
Packit a43c12
dnl Check for -Bsymbolic-functions linker flag used to avoid
Packit a43c12
dnl intra-library PLT jumps, if available.
Packit a43c12
AC_ARG_ENABLE(Bsymbolic,
Packit a43c12
              [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
Packit a43c12
              [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
Packit a43c12
               AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
Packit a43c12
               LDFLAGS=-Wl,-Bsymbolic-functions
Packit a43c12
               LIBS=
Packit a43c12
               AC_TRY_LINK([], [return 0],
Packit a43c12
                           AC_MSG_RESULT(yes)
Packit a43c12
                           enable_Bsymbolic=yes,
Packit a43c12
                           AC_MSG_RESULT(no)
Packit a43c12
                           enable_Bsymbolic=no)
Packit a43c12
               LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
Packit a43c12
Packit a43c12
AC_DEFINE(ORC_EXPORTS, 1, [Defined for compiling internal code])
Packit a43c12
Packit a43c12
ORC_CFLAGS="$ORC_CFLAGS \$(ERROR_CFLAGS) -I\$(top_srcdir) -D_GNU_SOURCE"
Packit a43c12
AC_SUBST(ERROR_CFLAGS)
Packit a43c12
AC_SUBST(ORC_CFLAGS)
Packit a43c12
Packit a43c12
ORC_LIBS="\$(top_builddir)/orc/liborc-$ORC_MAJORMINOR.la $LIBM $LIBRT"
Packit a43c12
AC_SUBST(ORC_LIBS)
Packit a43c12
Packit a43c12
#CFLAGS=`echo $CFLAGS | sed s/O2/O0/`
Packit a43c12
Packit a43c12
ORC_LDFLAGS="-version-info \$(ORC_LIBVERSION) -no-undefined -export-symbols-regex \^orc_"
Packit a43c12
if test "x${enable_Bsymbolic}" = "xyes"; then
Packit a43c12
  ORC_LDFLAGS="$ORC_LDFLAGS -Wl,-Bsymbolic-functions"
Packit a43c12
fi
Packit a43c12
AC_SUBST(ORC_LDFLAGS)
Packit a43c12
Packit a43c12
pkgconfigdir="\$(libdir)/pkgconfig"
Packit a43c12
AC_SUBST(pkgconfigdir)
Packit a43c12
Packit a43c12
AC_CONFIG_FILES([
Packit a43c12
Makefile
Packit a43c12
doc/Makefile
Packit a43c12
doc/version.entities
Packit a43c12
orc/Makefile
Packit a43c12
orc-test/Makefile
Packit a43c12
testsuite/Makefile
Packit a43c12
testsuite/orcc/Makefile
Packit a43c12
testsuite/benchmorc/Makefile
Packit a43c12
examples/Makefile
Packit a43c12
tools/Makefile
Packit a43c12
orc-uninstalled.pc
Packit a43c12
orc.pc
Packit a43c12
])
Packit a43c12
AC_OUTPUT
Packit a43c12