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 #
libgstjpeg_la_SOURCES = gstjpeg.c gstjpegdec.c gstjpegenc.c
libgstjpeg_la_CFLAGS = $(GST_CFLAGS)
## FIXME: check these CFLAGS
-## -O3 $(FOMIT_FRAME_POINTER) -funroll-all-loops -finline-functions -ffast-math -DNDEBUG
+## -O3 $(FOMIT_FRAME_POINTER) $(GST_OPT_CFLAGS) $(GST_FUNROLL_CFLAGS) -DNDEBUG
libgstjpeg_la_LIBADD = $(JPEG_LIBS)
libgstjpeg_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
gstavidemux.h \
gstaviaudiodecoder.h
-#CFLAGS += -Wall -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -DNDEBUG
+#CFLAGS += $(GST_CFLAGS) -O3 $(GST_OPT_CFLAGS) $(GST_FUNROLL_CFLAGS) -fomit-frame-pointer -DNDEBUG
-libgstavidemux_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+libgstavidemux_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
libgstavidemux_la_LIBADD =
libgstavidemux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstavimux_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+libgstavimux_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
libgstavimux_la_LIBADD =
libgstavimux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-#libgstaviparse_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+#libgstaviparse_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
#libgstaviparse_la_LIBADD =
#libgstaviparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-# libgstaviaudiodecoder_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+# libgstaviaudiodecoder_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
# libgstaviaudiodecoder_la_LIBADD =
# libgstaviaudiodecoder_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = filters.h goom_core.h goom_tools.h graphic.h lines.h
-#CFLAGS += -Wall -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -DNDEBUG
-libgstgoom_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS) $(GOOM_FILTER_CFLAGS)
+#CFLAGS += $(GST_CFLAGS) -O3 $(GST_OPT_CFLAGS) $(GST_FUNROLL_CFLAGS) -fomit-frame-pointer -DNDEBUG
+libgstgoom_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS) $(GOOM_FILTER_CFLAGS)
libgstgoom_la_LIBADD =
libgstgoom_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstmedian_la_SOURCES = gstmedian.c
-libgstmedian_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) -funroll-all-loops -finline-functions -ffast-math $(GST_CFLAGS)
+libgstmedian_la_CFLAGS = -O3 $(FOMIT_FRAME_POINTER) $(GST_OPT_CFLAGS) $(GST_FUNROLL_CFLAGS) $(GST_CFLAGS)
libgstmedian_la_LIBADD =
libgstmedian_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = monoscope.h convolve.h
-libgstmonoscope_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+libgstmonoscope_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
libgstmonoscope_la_LIBADD =
libgstmonoscope_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = gstsmpte.h gstmask.h paint.h
-libgstsmpte_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS)
+libgstsmpte_la_CFLAGS = -O2 $(GST_FFASTMATH_CFLAGS) $(GST_CFLAGS)
libgstsmpte_la_LIBADD =
libgstsmpte_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)