Generate $module-public-headers.txt file, feed it to gtk-doc
authorColin Walters <walters@verbum.org>
Fri, 3 Jun 2011 18:53:27 +0000 (14:53 -0400)
committerColin Walters <walters@verbum.org>
Tue, 7 Jun 2011 18:18:36 +0000 (14:18 -0400)
Rather than having the gtk-doc build machinery have a list of header
files to exclude, change the GLib build to dump a list of public
header files generated from the maintained Makefile.am files for
each of glib/, gobject/, gio/.

Also, for glib, always install glib-unix.h, even on non-Unix
platforms, for the same reason we install gwin32.h even on Unix.

https://bugzilla.gnome.org/show_bug.cgi?id=651745

docs/reference/gio/Makefile.am
docs/reference/glib/Makefile.am
docs/reference/gobject/Makefile.am
gio/Makefile.am
glib/Makefile.am
gobject/Makefile.am

index a2b0842..768a34d 100644 (file)
@@ -15,7 +15,7 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED"
 # The directory containing the source code. Relative to $(srcdir)
 DOC_SOURCE_DIR=$(top_srcdir)/gio
 
-HFILE_GLOB=$(top_srcdir)/gio/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/gio/,$(shell cat $(top_srcdir)/gio/gio-public-header-files.txt))
 CFILE_GLOB=$(top_srcdir)/gio/*.c
 
 # Headers to ignore
index 2838106..da7554f 100644 (file)
@@ -19,35 +19,9 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" --ignore-decorators="GLI
 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
 
 # Used for dependencies
-HFILE_GLOB=$(top_srcdir)/glib/*.h $(top_srcdir)/gmodule/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/glib/,$(shell cat $(top_srcdir)/glib/glib-public-header-files.txt)) $(top_srcdir)/gmodule/*.h
 CFILE_GLOB=$(top_srcdir)/glib/*.c $(top_srcdir)/gmodule/*.c
 
-# Headers to ignore
-IGNORE_HFILES=                 \
-       gdatasetprivate.h       \
-       glibintl.h              \
-       gbsearcharray.h         \
-       gmoduleconf.h           \
-       gunibreak.h             \
-       gunicomp.h              \
-       gunidecomp.h            \
-       gunichartables.h        \
-       glib_trace.h            \
-       libcharset.h            \
-       gdebug.h                \
-       gprintfint.h            \
-       gmirroringtable.h       \
-       gscripttable.h          \
-       glib-mirroring-tab      \
-       gnulib                  \
-       pcre                    \
-       update-pcre             \
-       gbufferprivate.h        \
-       gvariant-internal.h     \
-       gvariant-serialiser.h   \
-       gvariant-core.h         \
-       gvarianttypeinfo.h
-
 # Images to copy into HTML directory
 HTML_IMAGES =                                  \
        file-name-encodings.png         \
index 61de126..2a99814 100644 (file)
@@ -20,14 +20,9 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" \
 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
 
 # Used for dependencies
-HFILE_GLOB=$(top_srcdir)/gobject/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/gobject/,$(shell cat $(top_srcdir)/gobject/gobject-public-header-files.txt))
 CFILE_GLOB=$(top_srcdir)/gobject/*.c
 
-# Headers to ignore
-IGNORE_HFILES = \
-       gobject_trace.h                 \
-       gatomicarray.h
-
 # CFLAGS and LDFLAGS for compiling scan program. Only needed
 # if $(DOC_MODULE).types is non-empty.
 INCLUDES = \
index 32ad95a..3c7aec7 100644 (file)
@@ -596,6 +596,14 @@ CLEANFILES =                       \
        $(marshal_sources)      \
        $(NULL)
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+gio-public-headers.txt: Makefile
+       echo $(gioinclude_HEADERS) > $@.tmp && mv $@.tmp $@
+
+CLEANFILES += gio-public-headers.txt
+
+all-local: gio-public-headers.txt
+
 gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
        $(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
          cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
@@ -668,7 +676,7 @@ dist-hook: $(BUILT_EXTRA_DIST) ../build/win32/vs9/gio.vcproj ../build/win32/vs10
        done | sort -u >libgio.sourcefiles
        $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@
        rm libgio.sourcefiles
-       
+
 ../build/win32/vs10/gio.vcxproj: $(top_srcdir)/build/win32/vs10/gio.vcxprojin
        for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_actual_more_sources_for_vcproj) | tr '/' '\\'`; do \
                case $$F in \
index becfcaa..f74f78f 100644 (file)
@@ -215,12 +215,10 @@ EXTRA_libglib_2_0_la_SOURCES = \
 
 glibincludedir=$(includedir)/glib-2.0
 glibinclude_HEADERS =   \
+       glib-unix.h     \
        glib-object.h   \
        glib.h
 
-if OS_UNIX
-glibinclude_HEADERS += glib-unix.h
-endif
 
 glibsubincludedir=$(includedir)/glib-2.0/glib
 glibsubinclude_HEADERS =   \
@@ -291,6 +289,14 @@ glibsubinclude_HEADERS =   \
        gwin32.h        \
        gprintf.h
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+glib-public-headers.txt: Makefile
+       echo $(glibinclude_HEADERS) $(glibsubinclude_HEADERS) > $@.tmp && mv $@.tmp $@
+
+CLEANFILES += glib-public-headers.txt
+
+all-local: glib-public-headers.txt
+
 install-data-local: install-ms-lib install-def-file
        @if test -f $(glibincludedir)/glist.h ; then                                    \
          echo "*** Old headers found in $(glibincludedir). You should remove the" ;    \
index 0ddb627..8c6da9b 100644 (file)
@@ -179,6 +179,14 @@ EXTRA_DIST += \
        $(gobject_extra_sources)        \
        marshal-genstrings.pl
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+gobject-public-headers.txt: Makefile
+       echo $(gobject_public_h_sources) > $@.tmp && mv $@.tmp $@
+
+CLEANFILES += gobject-public-headers.txt
+
+all-local: gobject-public-headers.txt
+
 #
 # rules to generate built sources
 #