Proof of concept for making docs build without main configure

We need to figure out a way to make docs in unusual places, like in the
SourceForge shell environment -- which doesn't have an extremely recent
autotools. This is an extremely stripped-down automake/autoconf setup that
provides the bare minimum needed to AC_SUBST variables.

It's dirty and hacky, but it kinda works.
This commit is contained in:
Jeff Teunissen 2010-08-19 12:59:16 -04:00
parent 8c7dd60ea9
commit 16e482eb90
5 changed files with 93 additions and 187 deletions

9
.gitignore vendored
View file

@ -5,6 +5,7 @@
*.obj
*.o
*~
autom4te.cache/
.deps/
.libs/
.vimrc
@ -14,7 +15,6 @@ Makefile.in
# /
/aclocal.m4
/autom4te.cache
/build-stamp
/changelog-stamp
/compile
@ -71,6 +71,13 @@ Makefile.in
/doc/progs/vm-mem.png
/doc/quakeforge.dox
/doc/texinfo
/doc/stamp-*
/doc/aclocal.m4
/doc/config.h
/doc/config.h.in
/doc/config.log
/doc/config.status
/doc/configure
# /doc/man/

View file

@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.67)
dnl This is the only place where the package name and version appear
AC_INIT([QuakeForge], [git-master])
AC_INIT([QuakeForge], m4_esyscmd([git log -1 --pretty=%h HEAD | tr -d '\n']))
AM_INIT_AUTOMAKE([foreign])
LT_INIT([win32-dll])
@ -126,6 +126,8 @@ else
AC_DEFINE(ENABLE_BOXCLIP, 0, [Define if you want boxclipping])
fi
TOPDIR=`readlink -f ${srcdir}`
AC_SUBST(TOPDIR)
dnl Output files
m4_include(config.d/rpm.m4)

26
doc/configure.ac Normal file
View file

@ -0,0 +1,26 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.59])
AC_INIT([QuakeForge], m4_esyscmd([git log -1 --pretty=%h HEAD | tr -d '\n']))
AC_CONFIG_SRCDIR([template.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign])
# Checks for programs.
AC_PROG_INSTALL
# PKG_PROG_PKG_CONFIG
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
TOPDIR=`readlink -f ${srcdir}/..`
AC_SUBST(TOPDIR)
AC_CONFIG_FILES([Makefile man/Makefile quakeforge.dox])
AC_OUTPUT

2
doc/docstrap Executable file
View file

@ -0,0 +1,2 @@
#! /bin/sh
aclocal -I ../m4 && autoheader && automake --add-missing && autoconf

View file

@ -92,7 +92,7 @@ ABBREVIATE_BRIEF =
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = YES
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
@ -114,7 +114,7 @@ FULL_PATH_NAMES = YES
# If left blank the directory from which doxygen is run is used as the
# path to strip.
STRIP_FROM_PATH = @top_srcdir@
STRIP_FROM_PATH = @TOPDIR@
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
@ -123,7 +123,7 @@ STRIP_FROM_PATH = @top_srcdir@
# definition is used. Otherwise one should specify the include paths that
# are normally passed to the compiler using the -I flag.
STRIP_FROM_INC_PATH = @top_srcdir@/include
STRIP_FROM_INC_PATH = @TOPDIR@/include
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
# (but less readable) file names. This can be useful is your file systems
@ -303,18 +303,18 @@ EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = YES
EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = YES
EXTRACT_STATIC = NO
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_CLASSES = NO
# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
@ -365,7 +365,7 @@ HIDE_IN_BODY_DOCS = NO
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = YES
INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower-case letters. If set to YES upper-case letters are also
@ -385,7 +385,7 @@ HIDE_SCOPE_NAMES = NO
# will put a list of the files that are included by a file in the documentation
# of that file.
SHOW_INCLUDE_FILES = YES
SHOW_INCLUDE_FILES = NO
# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
# will list include files with double quotes in the documentation
@ -448,13 +448,13 @@ GENERATE_TODOLIST = YES
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
GENERATE_TESTLIST = YES
GENERATE_TESTLIST = NO
# The GENERATE_BUGLIST tag can be used to enable (YES) or
# disable (NO) the bug list. This list is created by putting \bug
# commands in the documentation.
GENERATE_BUGLIST = YES
GENERATE_BUGLIST = NO
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
# disable (NO) the deprecated list. This list is created by putting
@ -581,22 +581,22 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @top_srcdir@/include
INPUT += @top_srcdir@/libs
INPUT += @top_srcdir@/nq
INPUT += @top_srcdir@/qtv
INPUT += @top_srcdir@/qw
INPUT += @top_srcdir@/tools
INPUT += @top_srcdir@/doc/bind.txt
INPUT += @top_srcdir@/doc/connect.txt
INPUT += @top_srcdir@/doc/cshifts.txt
INPUT += @top_srcdir@/doc/faq.txt
INPUT += @top_srcdir@/doc/mapformat.txt
INPUT += @top_srcdir@/doc/quakeforge.txt
INPUT += @top_srcdir@/doc/qw-cap-spec.txt
INPUT += @top_srcdir@/doc/qw-download-spec.txt
INPUT += @top_srcdir@/doc/surround-sound.txt
INPUT += @top_srcdir@/doc/timestamps.txt
INPUT = @TOPDIR@/include
INPUT += @TOPDIR@/libs
INPUT += @TOPDIR@/nq
INPUT += @TOPDIR@/qtv
INPUT += @TOPDIR@/qw
INPUT += @TOPDIR@/tools
INPUT += @TOPDIR@/doc/bind.txt
INPUT += @TOPDIR@/doc/connect.txt
INPUT += @TOPDIR@/doc/cshifts.txt
INPUT += @TOPDIR@/doc/faq.txt
INPUT += @TOPDIR@/doc/mapformat.txt
INPUT += @TOPDIR@/doc/quakeforge.txt
INPUT += @TOPDIR@/doc/qw-cap-spec.txt
INPUT += @TOPDIR@/doc/qw-download-spec.txt
INPUT += @TOPDIR@/doc/surround-sound.txt
INPUT += @TOPDIR@/doc/timestamps.txt
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ -625,16 +625,16 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = @top_srcdir@/tools/qfcc/source/qc-lex.c
EXCLUDE += @top_srcdir@/tools/qfcc/source/qc-parse.c
EXCLUDE += @top_srcdir@/tools/qfcc/source/qc-parse.h
EXCLUDE += @top_srcdir@/tools/qfcc/test
EXCLUDE += @top_srcdir@/tools/texpaint
EXCLUDE += @top_srcdir@/libs/video/targets/fbset_modes_l.c
EXCLUDE += @top_srcdir@/libs/video/targets/fbset_modes_y.c
EXCLUDE += @top_srcdir@/libs/video/targets/fbset_modes_y.h
EXCLUDE += @top_srcdir@/tools/Forge
EXCLUDE += @top_srcdir@/include/QF/GL
EXCLUDE = @TOPDIR@/tools/qfcc/source/qc-lex.c
EXCLUDE += @TOPDIR@/tools/qfcc/source/qc-parse.c
EXCLUDE += @TOPDIR@/tools/qfcc/source/qc-parse.h
EXCLUDE += @TOPDIR@/tools/qfcc/test
EXCLUDE += @TOPDIR@/tools/texpaint
EXCLUDE += @TOPDIR@/libs/video/targets/fbset_modes_l.c
EXCLUDE += @TOPDIR@/libs/video/targets/fbset_modes_y.c
EXCLUDE += @TOPDIR@/libs/video/targets/fbset_modes_y.h
EXCLUDE += @TOPDIR@/tools/Forge
EXCLUDE += @TOPDIR@/include/QF/GL
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
@ -662,8 +662,8 @@ EXCLUDE_SYMBOLS =
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH = @top_srcdir@/doc
EXAMPLE_PATH += @top_srcdir@/doc/progs
EXAMPLE_PATH = @TOPDIR@/doc
EXAMPLE_PATH += @TOPDIR@/doc/progs
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@ -683,8 +683,8 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH = @top_builddir@/doc
IMAGE_PATH += @top_builddir@/doc/progs
IMAGE_PATH = @TOPDIR@/doc
IMAGE_PATH += @TOPDIR@/doc/progs
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@ -723,7 +723,7 @@ FILTER_SOURCE_FILES = NO
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
SOURCE_BROWSER = YES
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
@ -740,13 +740,13 @@ STRIP_CODE_COMMENTS = YES
# then for each documented function all documented
# functions referencing it will be listed.
REFERENCED_BY_RELATION = YES
REFERENCED_BY_RELATION = NO
# If the REFERENCES_RELATION tag is set to YES
# then for each documented function all documented entities
# called/used by that function will be listed.
REFERENCES_RELATION = YES
REFERENCES_RELATION = NO
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
@ -754,7 +754,7 @@ REFERENCES_RELATION = YES
# link to the source code.
# Otherwise they will link to the documentation.
REFERENCES_LINK_SOURCE = YES
REFERENCES_LINK_SOURCE = NO
# If the USE_HTAGS tag is set to YES then the references to source code
# will point to the HTML generated by the htags(1) tool instead of doxygen
@ -768,7 +768,7 @@ USE_HTAGS = NO
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
@ -893,30 +893,6 @@ HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = NO
# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
# feed. A documentation feed provides an umbrella under which multiple
# documentation sets from a single provider (such as a company or product suite)
# can be grouped.
DOCSET_FEEDNAME = "Doxygen generated docs"
# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
# should uniquely identify the documentation set bundle. This should be a
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
# will append .docset to the name.
DOCSET_BUNDLE_ID = org.doxygen.Project
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
@ -924,118 +900,11 @@ DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You
# can add a path in front of the file if the result should not be
# written to the html output directory.
CHM_FILE =
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
# be used to specify the location (absolute path including file name) of
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
# the HTML help compiler on the generated index.hhp.
HHC_LOCATION =
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
# controls if a separate .chi index file is generated (YES) or that
# it should be included in the master .chm file (NO).
GENERATE_CHI = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
# is used to encode HtmlHelp index (hhk), content (hhc) and project file
# content.
CHM_INDEX_ENCODING =
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
# controls whether a binary table of contents is generated (YES) or a
# normal table of contents (NO) in the .chm file.
BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members
# to the contents of the HTML help documentation and to the tree view.
TOC_EXPAND = YES
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
# that can be used as input for Qt's qhelpgenerator to generate a
# Qt Compressed Help (.qch) of the generated HTML documentation.
GENERATE_QHP = NO
# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
# be used to specify the file name of the resulting .qch file.
# The path specified is relative to the HTML output folder.
QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating
# Qt Help Project output. For more information please see
# http://doc.trolltech.com/qthelpproject.html#namespace
QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
# Qt Help Project output. For more information please see
# http://doc.trolltech.com/qthelpproject.html#virtual-folders
QHP_VIRTUAL_FOLDER = doc
# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
# add. For more information please see
# http://doc.trolltech.com/qthelpproject.html#custom-filters
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
# Qt Help Project / Custom Filters</a>.
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's
# filter section matches.
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
# Qt Help Project / Filter Attributes</a>.
QHP_SECT_FILTER_ATTRS =
# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
# be used to specify the location of Qt's qhelpgenerator.
# If non-empty doxygen will try to run qhelpgenerator on the generated
# .qhp file.
QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
# will be generated, which together with the HTML files, form an Eclipse help
# plugin. To install this plugin and make it available under the help contents
# menu in Eclipse, the contents of the directory containing the HTML and XML
# files needs to be copied into the plugins directory of eclipse. The name of
# the directory within the plugins directory should be the same as
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
# the help appears.
GENERATE_ECLIPSEHELP = NO
# A unique identifier for the eclipse help plugin. When installing the plugin
# the directory name containing the HTML and XML files should also have
# this name.
ECLIPSE_DOC_ID = org.doxygen.Project
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
DISABLE_INDEX = YES
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
@ -1050,7 +919,7 @@ ENUM_VALUES_PER_LINE = 4
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
# Windows users are probably better off using the HTML help feature.
GENERATE_TREEVIEW = NO
GENERATE_TREEVIEW = YES
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
# and Class Hierarchy pages using a tree view instead of an ordered list.
@ -1092,7 +961,7 @@ FORMULA_TRANSPARENT = YES
# typically be disabled. For large projects the javascript based search engine
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a PHP enabled web server instead of at the web client
@ -1102,7 +971,7 @@ SEARCHENGINE = NO
# full text search. The disadvances is that it is more difficult to setup
# and does not have live searching capabilities.
SERVER_BASED_SEARCH = NO
SERVER_BASED_SEARCH = YES
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
@ -1111,7 +980,7 @@ SERVER_BASED_SEARCH = NO
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = YES
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@ -1374,7 +1243,7 @@ SEARCH_INCLUDES = YES
# contain include files that are not input files but should be processed by
# the preprocessor.
INCLUDE_PATH = @top_srcdir@/include
INCLUDE_PATH = @TOPDIR@/include
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
@ -1536,7 +1405,7 @@ COLLABORATION_GRAPH = YES
# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for groups, showing the direct groups dependencies
GROUP_GRAPHS = YES
GROUP_GRAPHS = NO
# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
@ -1554,7 +1423,7 @@ TEMPLATE_RELATIONS = YES
# file showing the direct and indirect include dependencies of the file with
# other documented files.
INCLUDE_GRAPH = YES
INCLUDE_GRAPH = NO
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
@ -1589,7 +1458,7 @@ GRAPHICAL_HIERARCHY = YES
# in a graphical way. The dependency relations are determined by the #include
# relations between the files in the directories.
DIRECTORY_GRAPH = YES
DIRECTORY_GRAPH = NO
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are png, jpg, or gif