build: ...and add missing endif
[platform/upstream/gstreamer.git] / Makefile.am
index 5251d66..a94e456 100644 (file)
@@ -5,22 +5,23 @@ all-local: gst-element-check-@GST_MAJORMINOR@.m4
 gst-element-check-@GST_MAJORMINOR@.m4: gst-element-check.m4
        cp gst-element-check.m4 gst-element-check-@GST_MAJORMINOR@.m4
 
-ACLOCAL_AMFLAGS = -I common/m4
+# note: keep in sync with configure.ac
+ACLOCAL_AMFLAGS = -I common/m4 -I .
 
 aclocaldir = $(datadir)/aclocal
 aclocal_DATA = gst-element-check-@GST_MAJORMINOR@.m4
 
-SUBDIRS = \
+SUBDIRS = pkgconfig \
        gst libs plugins tools tests \
        docs \
-       pkgconfig po \
+       po \
        common
 
 # These are all the possible subdirs
-DIST_SUBDIRS = \
+DIST_SUBDIRS = pkgconfig \
        gst libs plugins tools tests \
        docs \
-       pkgconfig po \
+       po \
        common
 
 # include before EXTRA_DIST for win32 assignment
@@ -28,6 +29,7 @@ include $(top_srcdir)/common/win32.mak
 
 EXTRA_DIST = \
        gstreamer.spec gstreamer.spec.in \
+       check-checks.m4 \
        gst-element-check.m4.in \
        configure.ac autogen.sh depcomp \
        MAINTAINERS ABOUT-NLS RELEASE gstreamer.doap \
@@ -35,6 +37,8 @@ EXTRA_DIST = \
 
 CLEANFILES = gst-element-check-@GST_MAJORMINOR@.m4
 
+DISTCLEANFILES = _stdint.h
+
 include $(top_srcdir)/common/release.mak
 include $(top_srcdir)/common/po.mak
 
@@ -117,9 +121,35 @@ check-enum-gettypes: $(top_builddir)/gst/gstenumtypes.h
            echo "  g_type_class_ref ($$f ());";                                                                 \
          done;                                                                                                  \
          exit 1;                                                                                                \
+       fi;                                                                                                      \
+       echo 'Checking if all enum and flag _get_type() funcs are deinited in gst_deinit()';                     \
+       MISSING_FUNCS='';                                                                                        \
+       for f in $$FUNCS; do                                                                                     \
+         INIT_LINE=`grep $$f $(top_srcdir)/gst/*.c | grep g_type_class_unref`;                                  \
+         if test "x$$INIT_LINE" = "x"; then                                                                     \
+           MISSING_FUNCS="$$MISSING_FUNCS $$f";                                                                 \
+         fi;                                                                                                    \
+       done;                                                                                                    \
+       if test "x$$MISSING_FUNCS" != "x"; then                                                                  \
+         echo "FIXME: please add to the following to gst/gst.c gst_deinit():";                                  \
+         for f in $$MISSING_FUNCS; do                                                                           \
+           echo "  g_type_class_unref (g_type_class_peek ($$f ()));";                                           \
+         done;                                                                                                  \
+         exit 1;                                                                                                \
        fi
 
 include $(top_srcdir)/common/coverage/lcov.mak
 
-check: check-exports check-enum-gettypes
+# Do not run the check-exports test in case any option which causes the API to
+# change has been used
+if !GST_DISABLE_GST_DEBUG
+if !GST_DISABLE_LOADSAVE
+if !GST_DISABLE_REGISTRY
+if !GST_DISABLE_TRACE
+CHECK_EXPORTS = check-exports
+endif
+endif
+endif
+endif
 
+check: $(CHECK_EXPORTS) check-enum-gettypes