diff --git a/.gitignore b/.gitignore
index 39c38dc36..8974296db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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/
diff --git a/configure.ac b/configure.ac
index dc2084439..fab49effa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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)
diff --git a/doc/configure.ac b/doc/configure.ac
new file mode 100644
index 000000000..da353c1fb
--- /dev/null
+++ b/doc/configure.ac
@@ -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
diff --git a/doc/docstrap b/doc/docstrap
new file mode 100755
index 000000000..bd6306161
--- /dev/null
+++ b/doc/docstrap
@@ -0,0 +1,2 @@
+#! /bin/sh
+aclocal -I ../m4 && autoheader && automake --add-missing && autoconf
diff --git a/doc/quakeforge.dox.in b/doc/quakeforge.dox.in
index bf8aa5db7..39ba17e8b 100644
--- a/doc/quakeforge.dox.in
+++ b/doc/quakeforge.dox.in
@@ -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
-#
-# Qt Help Project / Custom Filters.
-
-QHP_CUST_FILTER_ATTRS =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-#
-# Qt Help Project / Filter Attributes.
-
-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