configure: Add OBJC specific compiler flags

See bug #643939.
This commit is contained in:
Sebastian Dröge 2012-05-30 11:09:25 +02:00
parent 0fdc918350
commit 6bd61f861c
2 changed files with 22 additions and 25 deletions

View file

@ -112,7 +112,7 @@ dnl determine c++ preprocessor
dnl FIXME: do we need this ? dnl FIXME: do we need this ?
AC_PROG_CXXCPP AC_PROG_CXXCPP
AS_PROG_OBJC AC_PROG_OBJC
dnl check if the compiler supports '-c' and '-o' options dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O AM_PROG_CC_C_O
@ -280,22 +280,11 @@ AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
dnl define an ERROR_CFLAGS Makefile variable dnl define an ERROR_CFLAGS Makefile variable
dnl -Wundef: too many broken headers dnl -Wundef: too many broken headers
if test "x$HAVE_OSX_VIDEO" != "xyes"; then AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-Wwrite-strings -Wold-style-definition -Waggregate-return -Wwrite-strings -Wold-style-definition -Waggregate-return
-Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
-Wnested-externs $NO_WARNINGS]) -Wnested-externs $NO_WARNINGS])
else
dnl work-around for us passing GST_CFLAGS to the ObjC-compiler, which
dnl doesn't understand all warning flags that the C compiler knows about
dnl (e.g. -Waddress) or causes problems with some flags (-Waggregate-return)
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-Wwrite-strings -Wold-style-definition
-Winit-self -Wmissing-include-dirs -Wno-multichar
-Wnested-externs $NO_WARNINGS])
fi
dnl define an ERROR_CXXFLAGS Makefile variable dnl define an ERROR_CXXFLAGS Makefile variable
AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [ AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
@ -304,6 +293,13 @@ AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
-Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
$NO_WARNINGS]) $NO_WARNINGS])
dnl define an ERROR_OBJCFLAGS Makefile variable
AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
-Wwrite-strings -Wold-style-definition
-Winit-self -Wmissing-include-dirs -Wno-multichar
-Wnested-externs $NO_WARNINGS])
dnl define correct level for debugging messages dnl define correct level for debugging messages
AG_GST_SET_LEVEL_DEFAULT($GST_GIT) AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
@ -1011,12 +1007,14 @@ else
fi fi
AC_SUBST(DEPRECATED_CFLAGS) AC_SUBST(DEPRECATED_CFLAGS)
dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden dnl every flag in GST_OPTION_CFLAGS, GST_OPTION_CXXFLAGS and GST_OPTION_OBJCFLAGS can be overridden
dnl at make time with e.g. make ERROR_CFLAGS="" dnl at make time with e.g. make ERROR_CFLAGS=""
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
AC_SUBST(GST_OPTION_CFLAGS) AC_SUBST(GST_OPTION_CFLAGS)
AC_SUBST(GST_OPTION_CXXFLAGS) AC_SUBST(GST_OPTION_CXXFLAGS)
AC_SUBST(GST_OPTION_OBJCFLAGS)
dnl our libraries need to be versioned correctly dnl our libraries need to be versioned correctly
AC_SUBST(GST_LT_LDFLAGS) AC_SUBST(GST_LT_LDFLAGS)
@ -1027,9 +1025,11 @@ dnl also add builddir include for enumtypes and marshal
dnl add ERROR_CFLAGS, but overridable dnl add ERROR_CFLAGS, but overridable
GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API" GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)" GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)" GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
AC_SUBST(GST_CFLAGS) AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_CXXFLAGS) AC_SUBST(GST_CXXFLAGS)
AC_SUBST(GST_OBJCFLAGS)
AC_SUBST(GST_LIBS) AC_SUBST(GST_LIBS)
dnl LDFLAGS really should only contain flags, not libs - they get added before dnl LDFLAGS really should only contain flags, not libs - they get added before

View file

@ -2,18 +2,15 @@
plugin_LTLIBRARIES = libgstosxvideosink.la plugin_LTLIBRARIES = libgstosxvideosink.la
libgstosxvideosink_la_SOURCES = osxvideosink.m cocoawindow.m libgstosxvideosink_la_SOURCES = osxvideosink.m cocoawindow.m
libgstosxvideosink_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \ libgstosxvideosink_la_CFLAGS = $(GST_OBJCFLAGS) $(GST_BASE_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) -DRUN_NS_APP_THREAD
libgstosxvideosink_la_LIBADD = \ libgstosxvideosink_la_LIBADD = \
$(GST_LIBS) \ $(GST_LIBS) \
$(GST_BASE_LIBS) \ $(GST_BASE_LIBS) \
$(GST_PLUGINS_BASE_LIBS) \ $(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \ -lgstvideo-$(GST_API_VERSION)
-lgstinterfaces-$(GST_API_VERSION)
libgstosxvideosink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,QuickTime -Wl,-framework -Wl,OpenGL libgstosxvideosink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -Wl,-framework -Wl,Cocoa -Wl,-framework -Wl,QuickTime -Wl,-framework -Wl,OpenGL
libgstosxvideosink_la_LIBTOOLFLAGS = --tag=disable-static libgstosxvideosink_la_LIBTOOLFLAGS = --tag=disable-static
AM_OBJCFLAGS=$(CFLAGS) $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) -Wno-aggregate-return -DRUN_NS_APP_THREAD
noinst_HEADERS = osxvideosink.h cocoawindow.h noinst_HEADERS = osxvideosink.h cocoawindow.h