blob: 5481fbfe10633e1d16735bbf9de170f3ba223c93 [file] [log] [blame]
The fast-fixincludes system now, to the best of our collective belief,
correctly implements exactly the same functionality as the previous
fixincludes and fixinc.* shell scripts. On systems where many fixes
are required, this is accomplished by putting most of the
functionality into a binary executable. On systems that had dedicated
fixinc.* shell scripts, those scripts are still used by default until
they can be converted.
POSSIBLE PROBLEMS
There may be some systems on which the fixinc binary program appears
to be functional, but fails to work. Current thinking is that this
is due to some new process limitations (fork() calls) on those
systems. If you are experiencing this problem, then copy the script
${src}/gcc/fixinc/inclhack.sh into ${builddir}/gcc/fixinc.sh and run
make again.
And, *please* also report the problem with a description of
the failure mode (symptoms) and the output from:
egcs/config.guess
to me: Bruce Korb <fixincludes@autogen.freeservers.com>
TO DO
* fixincl needs to be converted to use gcc's system.h, libiberty, and
other portability frameworks.
THEORY OF OPERATION
See also: http://autogen.freeservers.com
The set of fixes required was distilled down to just the data required
to specify what needed to happen for each fix. Those data were edited
into a new file named gcc/fixinc/inclhack.def. A program called
AutoGen (http://autogen.freeservers.com) uses these definitions to
instantiate several different templates (gcc/fixinc/*.tpl) that then
produces a fixincludes replacement shell script (inclhack.sh), a
replacement binary program (fixincl.x) and a script to drive the
binary fixincl.sh).
If there is no special purpose script, then mkfixinc.sh will try to
compile, link and test execute the binary version. If it cannot be
successfully built, the shell version will be used instead. If
mkfixinc.sh determines that your system needs machine-specific fixes
that have not yet been applied to inclhack.def, it will install and
use the current fixinc.* for that system instead.
Usually, the mkfixinc.sh script will be able to detect when
the binary is not runable. If you do have problems, however,
please see "POSSIBLE PROBLEMS" above. Thank you.
Regards,
Bruce <fixincludes@autogen.freeservers.com>
Robert <RobertLipe@usa.net>
Manfred <manfred@s-direktnet.de>