NetBSD/gnu/dist/toolchain/gcc/fixinc
2000-07-26 00:17:09 +00:00
..
fixinc.dgux Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.interix Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.irix Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.ptx Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.sco Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.svr4 Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.winnt Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.wrap Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixinc.x86-linux-gnu Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixincl.c Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixincl.sh Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixincl.tpl Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
fixincl.x Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
genfixes Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
gnu-regex.c Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
gnu-regex.h Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
hackshell.tpl Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
inclhack.def Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
inclhack.sh Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
inclhack.tpl Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
Makefile.in Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
mkfixinc.sh Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
procopen.c Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
README Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
server.c Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00
server.h Import of gcc 2.95.2 into new gnu/dist/toolchain layout. 2000-07-26 00:17:09 +00:00

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>