There's still some cleanup to do, but everything seems to be working
nicely: `make -j` works, `make distcheck` passes. There is probably
plenty of bitrot in the package directories (RPM, debian), though.
The vc project files have been removed since those versions are way out
of date and quakeforge is pretty much dependent on gcc now anyway.
Most of the old Makefile.am files are now Makemodule.am. This should
allow for new Makefile.am files that allow local building (to be added
on an as-needed bases). The current remaining Makefile.am files are for
standalone sub-projects.a
The installable bins are currently built in the top-level build
directory. This may change if the clutter gets to be too much.
While this does make a noticeable difference in build times, the main
reason for the switch was to take care of the growing dependency issues:
now it's possible to build tools for code generation (eg, using qfcc and
ruamoko programs for code-gen).
It is now set to 0 when progs are loaded and every time
PR_ExecuteProgram() returns. This takes care of the default case, but
when setting parameters, pr_argc needs to be set correctly in case a
vararg function is called.
Most of the warnings are due to a bug in doxygen (fixed in 1.8.17,
but...), however some were legit due to overzealous image search paths
wildly including the doxygen output tree.
qfcc now does local common subexpression elimination. It seems to work, but
is optional (default off): use -O to enable. Also, uninitialized variable
detection is finally back :)
The progs engine now has very basic valgrind-like functionality for
checking pointer accesses. Enable with pr_boundscheck 2
The configuration file had been renamed.
Also, mention docstrap in INSTALL and make the documentaion configure check
for the required tools (doxygen, dot (graphvis), mscgen, and transfig).
For some reason, the construct \c " in config.dox makes the custom \QF
command fail to work for the rest of the file, and escaping the quote
doesn't help. Work around for now by using words.
Currently only "id", "hipnotic" and "rogue" are supported (anything else is
treated as "id"). Has no effect in quakeworld (good thing too: changing
gamedirs is a little broken).
Vim's autoformating doesn't like our style of comments, so I have to force
it to do what I want. Having to set the appropriate options every time I
edit a file got to be a RPITA, so time to get the computer to do it for me
:)
So I don't have to keep duplicating file names all over the place, I've
decided to use the "dox" extension on text files that are formatted for
doxygen processing. This way, doxygen can search for them using wildcards,
and unformated text files won't cause any headaches.