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/CXX.rc
base="${1#rc/}"
src="${base%.hpp.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.
appendln CXXFLAGS "-Winvalid-pch"
if rc_compile cxx nolink; then
rc_appendln CXXFLAGS "$x"
rc_appendln CXXFLAGS_PCH "-include$NL$src.hpp"
rc_appendln CXXFLAGS_PCH_FPIC "-include$NL$src.hpp.fpic"
rc_appendln PRE_CXX_TARGETS "$src.hpp.gch"
rc_appendln PRE_CXX_TARGETS_FPIC "$src.hpp.fpic.gch"
rc_save
else
echo "Precompiled C++ headers not supported." >&2
rc_undo
fi