Experimental new redoconf C/C++ build/autoconfiguration system.

To test it out, try this:
	./do -j10 build
	cd docs/cookbook/c
	redo -j10 test

It should detect all the compilers on your system and make three
separate builds for each one: normal, debug, and optimized.  Then it
tries to run a test program under each one.

If there are windows cross compilers and you also have 'wine'
installed, it'll try running the test program under wine as well.

redoconf currently has no documentation other than the example program.
We'll fix that later.
This commit is contained in:
Avery Pennarun 2019-02-03 01:14:51 -05:00
commit 6dae51f4d2
67 changed files with 1777 additions and 1 deletions

View file

@ -0,0 +1,23 @@
. ./redoconf.rc
rc_include rc/CC.rc
base="${1#rc/}"
src="${base%.h.precompiled.rc}"
# The existence of the specific gcc warning about
# precompiled headers is a pretty good indicator
# that they are supported in the way we expect.
rc_appendln CFLAGS "-Winvalid-pch"
if rc_compile cc nolink; then
rc_appendln CFLAGS "$x"
rc_appendln CFLAGS_PCH "-include$NL$src.h"
rc_appendln CFLAGS_PCH_FPIC "-include$NL$src.h.fpic"
rc_appendln PRE_CC_TARGETS "$src.h.gch"
rc_appendln PRE_CC_TARGETS_FPIC "$src.h.fpic.gch"
rc_save
else
echo "Precompiled C headers not supported." >&2
rc_undo
fi