autogen_options $@
echo -n "+ check for build tools"
-if test ! -z $NOCHECK; then echo " skipped"; else echo; fi
+if test ! -z "$NOCHECK"; then echo " skipped"; else echo; fi
version_check "autoconf" "$AUTOCONF autoconf autoconf-2.54 autoconf-2.53 autoconf-2.52" \
"ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 52 || DIE=1
version_check "automake" "$AUTOMAKE automake automake-1.7 automake-1.6 automake-1.5" \
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 7, 0, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
+AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 7, 0, 1, GST_CVS="no", CVS="yes")
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
dnl our libraries and install dirs use major.minor as a version
AM_PROG_CC_STDC
AM_PROG_AS
AS="${CC}"
+
+dnl decide on error flags
+AS_COMPILER_FLAG(-Wall,GST_ERROR="$GST_ERROR -Wall",GST_ERROR="$GST_ERROR")
+if test "x$GST_CVS"="xyes"; then
+ AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
+
+ # Only set these optimization flags if gcc is being used.
+ #
+ GST_FUNROLL_CFLAGS="$GST_FUNROLL_CFLAGS -funroll-all-loops"
+ GST_FINLINE_CFLAGS="$GST_FINLINE_CFLAGS -finline-functions"
+ GST_FFASTMATH_CFLAGS="$GST_FFASTMATH_CFLAGS -ffast-math"
+ GST_FSCHEDULE_CFLAGS="$GST_FSCHEDULE_CFLAGS -fschedule-insns2"
+ GST_FNOEXCEPTIONS_CFLAGS="$GST_FNOEXCEPTIONS_CFLAGS -fno-exceptions"
+fi
+
dnl determine c++ compiler
AC_PROG_CXX
dnl determine if c++ is available on this system
dnl prefer internal headers to already installed ones
GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
+GST_OPT_CFLAGS="$GST_FINLINE_CFLAGS $GST_FFASTMATH_CFLAGS"
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
+AC_SUBST(GST_FUNROLL_CFLAGS)
+AC_SUBST(GST_FINLINE_CFLAGS)
+AC_SUBST(GST_FFASTMATH_CFLAGS)
+AC_SUBST(GST_FSCHEDULE_CFLAGS)
+AC_SUBST(GST_FNOEXCEPTIONS_CFLAGS)
+AC_SUBST(GST_OPT_CFLAGS)
dnl ###########################
dnl # Configure external libs #
libgstaudioinclude_HEADERS = audio.h
libgstaudio_la_LIBADD =
-libgstaudio_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
+libgstaudio_la_CFLAGS = $(GST_CFLAGS) $(GST_OPT_CFLAGS)
libgstaudio_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstidct_la_LIBADD =
-libgstidct_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
+libgstidct_la_CFLAGS = $(GST_CFLAGS) $(GST_OPT_CFLAGS)
libgstidct_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstresample_la_SOURCES = dtos.c dtof.c functable.c resample.c resample.h
libgstresample_la_LIBADD =
-libgstresample_la_CFLAGS = $(GST_CFLAGS) -ffast-math $(ARCHCFLAGS)
+libgstresample_la_CFLAGS = $(GST_CFLAGS) $(GST_FFASTMATH_CFLAGS) $(ARCHCFLAGS)
libgstresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstresampleincludedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/resample
libgstriffinclude_HEADERS = riff.h
libgstriff_la_LIBADD =
-libgstriff_la_CFLAGS = $(GST_CFLAGS) -funroll-all-loops -finline-functions -ffast-math
+libgstriff_la_CFLAGS = $(GST_CFLAGS) $(GST_OPT_CFLAGS) $(GST_FUNROLL_CFLAGS)
libgstriff_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstvideoinclude_HEADERS = video.h
libgstvideo_la_LIBADD =
-libgstvideo_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
+libgstvideo_la_CFLAGS = $(GST_CFLAGS) $(GST_OPT_CFLAGS)
libgstvideo_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = gstac3parse.h
-libgstac3parse_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) -funroll-all-loops -finline-functions -ffast-math $(GST_CFLAGS)
+libgstac3parse_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) $(GST_OPT_FLAGS) $(GST_FUNROLL_CFLAGS) $(GST_CFLAGS)
libgstac3parse_la_LIBADD =
libgstac3parse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstmpegaudioparse_la_SOURCES = gstmpegaudioparse.c
# FIXME is this useful?
-libgstmpegaudioparse_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) -ffast-math -finline-functions $(GST_CFLAGS)
+libgstmpegaudioparse_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) $(GST_OPT_CFLAGS) $(GST_CFLAGS)
libgstmpegaudioparse_la_LIBADD =
libgstmpegaudioparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstmp3types_la_SOURCES = gstmp3types.c
-libgstmp3types_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) -ffast-math -finline-functions $(GST_CFLAGS)
+libgstmp3types_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) $(GST_OPT_CFLAGS) $(GST_CFLAGS)
libgstmp3types_la_LIBADD =
libgstmp3types_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
plugin_LTLIBRARIES = libgstmpegstream.la
libgstmpegstream_la_SOURCES = gstmpegstream.c gstmpegparse.c gstmpegdemux.c gstmpegpacketize.c gstrfc2250enc.c gstmpegclock.c
-libgstmpegstream_la_CFLAGS = $(GST_CFLAGS) -O3 $(FOMIT_FRAME_POINTER) -ffast-math
+libgstmpegstream_la_CFLAGS = $(GST_CFLAGS) -O3 $(FOMIT_FRAME_POINTER) $(GST_FFASTMATH_CFLAGS)
libgstmpegstream_la_LIBADD =
libgstmpegstream_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = synaescope.h
-libgstsynaesthesia_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+libgstsynaesthesia_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
libgstsynaesthesia_la_LIBADD =
libgstsynaesthesia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)