diff --git a/autogen.sh b/autogen.sh index fdccd89caf..8230b90368 100755 --- a/autogen.sh +++ b/autogen.sh @@ -30,7 +30,7 @@ CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-plugin-builddir --enable-de 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" \ diff --git a/configure.ac b/configure.ac index 1fa3dcc96a..b9c0bb0bc2 100644 --- a/configure.ac +++ b/configure.ac @@ -12,7 +12,7 @@ AM_MAINTAINER_MODE 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 @@ -39,6 +39,21 @@ AC_PROG_CC 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 @@ -1056,9 +1071,16 @@ AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes") 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 # diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am index e6efc8e2fa..059f79e5aa 100644 --- a/gst-libs/gst/audio/Makefile.am +++ b/gst-libs/gst/audio/Makefile.am @@ -8,5 +8,5 @@ libgstaudioincludedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/audio 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) diff --git a/gst-libs/gst/idct/Makefile.am b/gst-libs/gst/idct/Makefile.am index bdf92d378e..ea06100d91 100644 --- a/gst-libs/gst/idct/Makefile.am +++ b/gst-libs/gst/idct/Makefile.am @@ -28,5 +28,5 @@ noinst_HEADERS = dct.h 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) diff --git a/gst-libs/gst/resample/Makefile.am b/gst-libs/gst/resample/Makefile.am index 3c23638a3c..7edbd6c7fe 100644 --- a/gst-libs/gst/resample/Makefile.am +++ b/gst-libs/gst/resample/Makefile.am @@ -14,7 +14,7 @@ endif 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 diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am index b8becdb937..6e235202d0 100644 --- a/gst-libs/gst/riff/Makefile.am +++ b/gst-libs/gst/riff/Makefile.am @@ -8,5 +8,5 @@ libgstriffincludedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/riff 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) diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am index 3e6f9bd31f..86a4d4e997 100644 --- a/gst-libs/gst/video/Makefile.am +++ b/gst-libs/gst/video/Makefile.am @@ -8,5 +8,5 @@ libgstvideoincludedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/video 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) diff --git a/gst/ac3parse/Makefile.am b/gst/ac3parse/Makefile.am index 06e5fb966d..06d1592fce 100644 --- a/gst/ac3parse/Makefile.am +++ b/gst/ac3parse/Makefile.am @@ -6,7 +6,7 @@ libgstac3parse_la_SOURCES = gstac3parse.c 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) diff --git a/gst/mpegaudioparse/Makefile.am b/gst/mpegaudioparse/Makefile.am index 06b3f91d56..8b81fcc412 100644 --- a/gst/mpegaudioparse/Makefile.am +++ b/gst/mpegaudioparse/Makefile.am @@ -5,12 +5,12 @@ plugin_LTLIBRARIES = libgstmpegaudioparse.la libgstmp3types.la 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) diff --git a/gst/mpegstream/Makefile.am b/gst/mpegstream/Makefile.am index 2a25b2779a..f3e0394930 100644 --- a/gst/mpegstream/Makefile.am +++ b/gst/mpegstream/Makefile.am @@ -3,7 +3,7 @@ plugindir = $(libdir)/gstreamer-@GST_MAJORMINOR@ 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) diff --git a/gst/synaesthesia/Makefile.am b/gst/synaesthesia/Makefile.am index a6ae27745e..4786204dc8 100644 --- a/gst/synaesthesia/Makefile.am +++ b/gst/synaesthesia/Makefile.am @@ -6,7 +6,7 @@ libgstsynaesthesia_la_SOURCES = gstsynaesthesia.c synaescope.c 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)