2424#
2525
2626# ##############################################################################
27- # Setup the most fundamental tools that relies on not much else to set up,
28- # but is used by much of the early bootstrap code .
27+ # Setup the most fundamental tools, used for setting up build platform and
28+ # path handling .
2929AC_DEFUN_ONCE ( [ BASIC_SETUP_FUNDAMENTAL_TOOLS] ,
3030[
3131 # Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
@@ -37,15 +37,35 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
3737 UTIL_CHECK_NONEMPTY(FILE)
3838 AC_PATH_PROGS ( LDD , ldd )
3939
40- # First are all the fundamental required tools.
40+ # Required tools
41+ UTIL_REQUIRE_PROGS(ECHO, echo)
42+ UTIL_REQUIRE_PROGS(TR, tr)
43+ UTIL_REQUIRE_PROGS(UNAME, uname)
44+ UTIL_REQUIRE_PROGS(WC, wc)
45+
46+ # Required tools with some special treatment
47+ UTIL_REQUIRE_SPECIAL(GREP, [ AC_PROG_GREP ] )
48+ UTIL_REQUIRE_SPECIAL(EGREP, [ AC_PROG_EGREP ] )
49+ UTIL_REQUIRE_SPECIAL(SED, [ AC_PROG_SED ] )
50+
51+ # Tools only needed on some platforms
52+ UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
53+ UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
54+ ] )
55+
56+ # ##############################################################################
57+ # Setup further tools that should be resolved early but after setting up
58+ # build platform and path handling.
59+ AC_DEFUN_ONCE ( [ BASIC_SETUP_TOOLS] ,
60+ [
61+ # Required tools
4162 UTIL_REQUIRE_PROGS(BASH, bash)
4263 UTIL_REQUIRE_PROGS(CAT, cat)
4364 UTIL_REQUIRE_PROGS(CHMOD, chmod)
4465 UTIL_REQUIRE_PROGS(CP, cp)
4566 UTIL_REQUIRE_PROGS(CUT, cut)
4667 UTIL_REQUIRE_PROGS(DATE, date)
4768 UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
48- UTIL_REQUIRE_PROGS(ECHO, echo)
4969 UTIL_REQUIRE_PROGS(EXPR, expr)
5070 UTIL_REQUIRE_PROGS(FIND, find)
5171 UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
@@ -67,26 +87,18 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
6787 UTIL_REQUIRE_PROGS(TAR, gtar tar)
6888 UTIL_REQUIRE_PROGS(TEE, tee)
6989 UTIL_REQUIRE_PROGS(TOUCH, touch)
70- UTIL_REQUIRE_PROGS(TR, tr)
71- UTIL_REQUIRE_PROGS(UNAME, uname)
72- UTIL_REQUIRE_PROGS(WC, wc)
7390 UTIL_REQUIRE_PROGS(XARGS, xargs)
7491
75- # Then required tools that require some special treatment.
76- UTIL_REQUIRE_SPECIAL(GREP, [ AC_PROG_GREP ] )
77- UTIL_REQUIRE_SPECIAL(EGREP, [ AC_PROG_EGREP ] )
92+ # Required tools with some special treatment
7893 UTIL_REQUIRE_SPECIAL(FGREP, [ AC_PROG_FGREP ] )
79- UTIL_REQUIRE_SPECIAL(SED, [ AC_PROG_SED ] )
8094
8195 # Optional tools, we can do without them
8296 UTIL_LOOKUP_PROGS(DF, df)
8397 UTIL_LOOKUP_PROGS(NICE, nice)
8498 UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
8599
86- # These are only needed on some platforms
87- UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
100+ # Tools only needed on some platforms
88101 UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
89- UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
90102
91103 # For compare.sh only
92104 UTIL_LOOKUP_PROGS(CMP, cmp)
0 commit comments