From 1a3c11f2207736f9ce7f2b69639c13269770dd9c Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Sat, 2 Mar 2019 04:23:05 -0500 Subject: [PATCH] redoconf: a stub rc_include() now sources ./redoconf.rc automatically. This lets us remove the awkward ". ./redoconf.rc" line from zillions of .od scripts, without paying the price of *always* including that whole file every time default.do.sh is used. --- docs/cookbook/c/all.rc.od | 1 - docs/cookbook/c/flagtest.o.od | 1 - docs/cookbook/c/hello world.list.od | 1 - docs/cookbook/c/rc/clock_gettime.rc.od | 1 - docs/cookbook/c/rc/extra.rc.od | 1 - docs/cookbook/c/rc/posix.rc.od | 1 - docs/cookbook/c/rc/printf_lld.rc.od | 1 - redoconf/compile.od | 1 - redoconf/default.do.sh | 5 +++++ redoconf/default.precompile.od | 1 - redoconf/link-shlib.od | 1 - redoconf/link.od | 1 - redoconf/rc/CC.rc.od | 1 - redoconf/rc/CXX.rc.od | 1 - redoconf/rc/Wall.rc.od | 1 - redoconf/rc/Wextra.rc.od | 1 - redoconf/rc/default.autolib.rc.od | 1 - redoconf/rc/default.h.precompiled.rc.od | 1 - redoconf/rc/default.h.rc.od | 1 - redoconf/rc/default.hpp.precompiled.rc.od | 1 - redoconf/rc/default.required.rc.od | 2 -- redoconf/rc/libgl.rc.od | 1 - redoconf/rc/libgtk2.rc.od | 1 - redoconf/rc/libm.rc.od | 1 - redoconf/rc/libpng.rc.od | 1 - redoconf/rc/libqt4.rc.od | 1 - redoconf/rc/libsdl.rc.od | 1 - redoconf/rc/libssl.rc.od | 1 - redoconf/rc/libx11.rc.od | 1 - redoconf/rc/pkg-config.rc.od | 1 - redoconf/rc/run.rc.od | 1 - redoconf/rc/shlib.rc.od | 1 - redoconf/rc/zdefs.rc.od | 1 - redoconf/run.od | 1 - 34 files changed, 5 insertions(+), 34 deletions(-) diff --git a/docs/cookbook/c/all.rc.od b/docs/cookbook/c/all.rc.od index f206e7f..7caf52c 100644 --- a/docs/cookbook/c/all.rc.od +++ b/docs/cookbook/c/all.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include \ rc/CC.required.rc \ rc/CXX.rc \ diff --git a/docs/cookbook/c/flagtest.o.od b/docs/cookbook/c/flagtest.o.od index 67b5c88..57b9536 100644 --- a/docs/cookbook/c/flagtest.o.od +++ b/docs/cookbook/c/flagtest.o.od @@ -1,7 +1,6 @@ # Demonstrate how to compile .o files using nonstandard # compiler flags. You could also do this for a whole # directory using default.o.od. -. ./redoconf.rc rc_include all.rc src="$S/${1%.o}.c" diff --git a/docs/cookbook/c/hello world.list.od b/docs/cookbook/c/hello world.list.od index cb5548b..6f5078e 100644 --- a/docs/cookbook/c/hello world.list.od +++ b/docs/cookbook/c/hello world.list.od @@ -1,6 +1,5 @@ # This script is run from the output dir. # The source dir is at $S. -. ./redoconf.rc rc_include all.rc redo-ifchange "$S/sources" diff --git a/docs/cookbook/c/rc/clock_gettime.rc.od b/docs/cookbook/c/rc/clock_gettime.rc.od index 85a3307..b420fc2 100644 --- a/docs/cookbook/c/rc/clock_gettime.rc.od +++ b/docs/cookbook/c/rc/clock_gettime.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/rt.autolib.rc rc/posix.rc prog=" diff --git a/docs/cookbook/c/rc/extra.rc.od b/docs/cookbook/c/rc/extra.rc.od index 1075a71..da49273 100644 --- a/docs/cookbook/c/rc/extra.rc.od +++ b/docs/cookbook/c/rc/extra.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc_appendln CPPFLAGS "-DEXTRA_RC_INCLUDED=1" diff --git a/docs/cookbook/c/rc/posix.rc.od b/docs/cookbook/c/rc/posix.rc.od index b33cb21..e992b0f 100644 --- a/docs/cookbook/c/rc/posix.rc.od +++ b/docs/cookbook/c/rc/posix.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc prog=' diff --git a/docs/cookbook/c/rc/printf_lld.rc.od b/docs/cookbook/c/rc/printf_lld.rc.od index dd1650e..35a6e6b 100644 --- a/docs/cookbook/c/rc/printf_lld.rc.od +++ b/docs/cookbook/c/rc/printf_lld.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/windows.h.rc rc/Wall.rc appendln CPPFLAGS "-Werror" # abort if any warnings diff --git a/redoconf/compile.od b/redoconf/compile.od index 79363bf..5cbecfc 100644 --- a/redoconf/compile.od +++ b/redoconf/compile.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include _all.rc redo-ifchange _compile diff --git a/redoconf/default.do.sh b/redoconf/default.do.sh index 91f91c7..1d7ef52 100644 --- a/redoconf/default.do.sh +++ b/redoconf/default.do.sh @@ -14,6 +14,11 @@ die() { exit 99 } +rc_include() { + . ./redoconf.rc || exit 1 # redefines rc_include + rc_include "$@" +} + _mkdir_of() { local dir="${1%/*}" [ "$dir" = "$1" ] || diff --git a/redoconf/default.precompile.od b/redoconf/default.precompile.od index b52eb24..de73ce1 100644 --- a/redoconf/default.precompile.od +++ b/redoconf/default.precompile.od @@ -4,7 +4,6 @@ # Notably, we have to precompile any precompiled # headers. We also generate redoconf.h in case # programs want to include it. -. ./redoconf.rc rc_include _all.rc case ${1%.precompile} in diff --git a/redoconf/link-shlib.od b/redoconf/link-shlib.od index a3e3896..b1f8feb 100644 --- a/redoconf/link-shlib.od +++ b/redoconf/link-shlib.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include _all.rc # Tricky quoting: see _compile.od for details. diff --git a/redoconf/link.od b/redoconf/link.od index 765040c..d00c4ed 100644 --- a/redoconf/link.od +++ b/redoconf/link.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include _all.rc # Tricky quoting: see _compile.od for details. diff --git a/redoconf/rc/CC.rc.od b/redoconf/rc/CC.rc.od index 03605cd..88f22f3 100644 --- a/redoconf/rc/CC.rc.od +++ b/redoconf/rc/CC.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc_helpmsg ARCH "Architecture prefix for output (eg. i686-w64-mingw32-)" diff --git a/redoconf/rc/CXX.rc.od b/redoconf/rc/CXX.rc.od index c6875c9..1d15835 100644 --- a/redoconf/rc/CXX.rc.od +++ b/redoconf/rc/CXX.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc_helpmsg CXX "C++ compiler name (c++)" diff --git a/redoconf/rc/Wall.rc.od b/redoconf/rc/Wall.rc.od index 35d3b36..5505178 100644 --- a/redoconf/rc/Wall.rc.od +++ b/redoconf/rc/Wall.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc_appendln CPPFLAGS "-Wall" diff --git a/redoconf/rc/Wextra.rc.od b/redoconf/rc/Wextra.rc.od index ec6cd3e..1d843fd 100644 --- a/redoconf/rc/Wextra.rc.od +++ b/redoconf/rc/Wextra.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc_appendln CPPFLAGS "-Wextra" diff --git a/redoconf/rc/default.autolib.rc.od b/redoconf/rc/default.autolib.rc.od index 53281c8..00dd7f2 100644 --- a/redoconf/rc/default.autolib.rc.od +++ b/redoconf/rc/default.autolib.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc base="${1#*/}" diff --git a/redoconf/rc/default.h.precompiled.rc.od b/redoconf/rc/default.h.precompiled.rc.od index 66f4434..9742fea 100644 --- a/redoconf/rc/default.h.precompiled.rc.od +++ b/redoconf/rc/default.h.precompiled.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc base="${1#rc/}" diff --git a/redoconf/rc/default.h.rc.od b/redoconf/rc/default.h.rc.od index 6df73cb..7ca7cf0 100644 --- a/redoconf/rc/default.h.rc.od +++ b/redoconf/rc/default.h.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc base="${1#*/}" diff --git a/redoconf/rc/default.hpp.precompiled.rc.od b/redoconf/rc/default.hpp.precompiled.rc.od index d6ae4d4..ba1ae5a 100644 --- a/redoconf/rc/default.hpp.precompiled.rc.od +++ b/redoconf/rc/default.hpp.precompiled.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CXX.rc base="${1#rc/}" diff --git a/redoconf/rc/default.required.rc.od b/redoconf/rc/default.required.rc.od index 157aee8..989be5e 100644 --- a/redoconf/rc/default.required.rc.od +++ b/redoconf/rc/default.required.rc.od @@ -1,5 +1,3 @@ -. ./redoconf.rc - base=${1%.required.rc} name=${base#*/} NAME=$(echo "$name" | tr 'a-z.' 'A-Z_') diff --git a/redoconf/rc/libgl.rc.od b/redoconf/rc/libgl.rc.od index 5a98829..7d9a46c 100644 --- a/redoconf/rc/libgl.rc.od +++ b/redoconf/rc/libgl.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libgtk2.rc.od b/redoconf/rc/libgtk2.rc.od index f8f55e1..1b3bf97 100644 --- a/redoconf/rc/libgtk2.rc.od +++ b/redoconf/rc/libgtk2.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libm.rc.od b/redoconf/rc/libm.rc.od index 87cc3ed..5c5ff59 100644 --- a/redoconf/rc/libm.rc.od +++ b/redoconf/rc/libm.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libpng.rc.od b/redoconf/rc/libpng.rc.od index 43a11c6..6a678c5 100644 --- a/redoconf/rc/libpng.rc.od +++ b/redoconf/rc/libpng.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libqt4.rc.od b/redoconf/rc/libqt4.rc.od index 0169176..c60f4c3 100644 --- a/redoconf/rc/libqt4.rc.od +++ b/redoconf/rc/libqt4.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CXX.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libsdl.rc.od b/redoconf/rc/libsdl.rc.od index 1494d07..f4cfc58 100644 --- a/redoconf/rc/libsdl.rc.od +++ b/redoconf/rc/libsdl.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/libssl.rc.od b/redoconf/rc/libssl.rc.od index ca3a581..1f608d1 100644 --- a/redoconf/rc/libssl.rc.od +++ b/redoconf/rc/libssl.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=" diff --git a/redoconf/rc/libx11.rc.od b/redoconf/rc/libx11.rc.od index 7450467..c61f71a 100644 --- a/redoconf/rc/libx11.rc.od +++ b/redoconf/rc/libx11.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/pkg-config.rc prog=' diff --git a/redoconf/rc/pkg-config.rc.od b/redoconf/rc/pkg-config.rc.od index 6c3f0cc..a96a893 100644 --- a/redoconf/rc/pkg-config.rc.od +++ b/redoconf/rc/pkg-config.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include for d in "$PKG_CONFIG" pkg-config; do diff --git a/redoconf/rc/run.rc.od b/redoconf/rc/run.rc.od index 6f3f82f..142e3ba 100644 --- a/redoconf/rc/run.rc.od +++ b/redoconf/rc/run.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc rc/windows.h.rc consider() { diff --git a/redoconf/rc/shlib.rc.od b/redoconf/rc/shlib.rc.od index 6944118..030c31e 100644 --- a/redoconf/rc/shlib.rc.od +++ b/redoconf/rc/shlib.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc prog=' diff --git a/redoconf/rc/zdefs.rc.od b/redoconf/rc/zdefs.rc.od index 7684a5f..ce81ab4 100644 --- a/redoconf/rc/zdefs.rc.od +++ b/redoconf/rc/zdefs.rc.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/CC.rc x="-Wl,-z,defs" diff --git a/redoconf/run.od b/redoconf/run.od index 104b0c1..8ac58d5 100644 --- a/redoconf/run.od +++ b/redoconf/run.od @@ -1,4 +1,3 @@ -. ./redoconf.rc rc_include rc/run.rc if [ -n "$CAN_RUN" ]; then