Generate $module-public-headers.txt file, feed it to gtk-doc

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
This commit is contained in:
Colin Walters 2011-06-03 14:53:27 -04:00
parent 003e052442
commit ab0e9dbfa7
6 changed files with 29 additions and 38 deletions

View File

@ -15,7 +15,7 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir) # The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/gio 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 CFILE_GLOB=$(top_srcdir)/gio/*.c
# Headers to ignore # Headers to ignore

View 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 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
# Used for dependencies # 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 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 # Images to copy into HTML directory
HTML_IMAGES = \ HTML_IMAGES = \
file-name-encodings.png \ file-name-encodings.png \

View File

@ -20,14 +20,9 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" \
MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
# Used for dependencies # 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 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 # CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty. # if $(DOC_MODULE).types is non-empty.
INCLUDES = \ INCLUDES = \

View File

@ -596,6 +596,14 @@ CLEANFILES = \
$(marshal_sources) \ $(marshal_sources) \
$(NULL) $(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 gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
$(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \ $(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \ 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 done | sort -u >libgio.sourcefiles
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@
rm libgio.sourcefiles rm libgio.sourcefiles
../build/win32/vs10/gio.vcxproj: $(top_srcdir)/build/win32/vs10/gio.vcxprojin ../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 \ for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_actual_more_sources_for_vcproj) | tr '/' '\\'`; do \
case $$F in \ case $$F in \

View File

@ -215,12 +215,10 @@ EXTRA_libglib_2_0_la_SOURCES = \
glibincludedir=$(includedir)/glib-2.0 glibincludedir=$(includedir)/glib-2.0
glibinclude_HEADERS = \ glibinclude_HEADERS = \
glib-unix.h \
glib-object.h \ glib-object.h \
glib.h glib.h
if OS_UNIX
glibinclude_HEADERS += glib-unix.h
endif
glibsubincludedir=$(includedir)/glib-2.0/glib glibsubincludedir=$(includedir)/glib-2.0/glib
glibsubinclude_HEADERS = \ glibsubinclude_HEADERS = \
@ -291,6 +289,14 @@ glibsubinclude_HEADERS = \
gwin32.h \ gwin32.h \
gprintf.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 install-data-local: install-ms-lib install-def-file
@if test -f $(glibincludedir)/glist.h ; then \ @if test -f $(glibincludedir)/glist.h ; then \
echo "*** Old headers found in $(glibincludedir). You should remove the" ; \ echo "*** Old headers found in $(glibincludedir). You should remove the" ; \

View File

@ -179,6 +179,14 @@ EXTRA_DIST += \
$(gobject_extra_sources) \ $(gobject_extra_sources) \
marshal-genstrings.pl 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 # rules to generate built sources
# #