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,28 +87,20 @@ 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(WHICH, which)
7491 UTIL_REQUIRE_PROGS(XARGS, xargs)
7592
76- # Then required tools that require some special treatment.
93+ # Required tools with some special treatment
7794 UTIL_REQUIRE_SPECIAL(AWK, [ AC_PROG_AWK ] )
78- UTIL_REQUIRE_SPECIAL(GREP, [ AC_PROG_GREP ] )
79- UTIL_REQUIRE_SPECIAL(EGREP, [ AC_PROG_EGREP ] )
8095 UTIL_REQUIRE_SPECIAL(FGREP, [ AC_PROG_FGREP ] )
81- UTIL_REQUIRE_SPECIAL(SED, [ AC_PROG_SED ] )
8296
8397 # Optional tools, we can do without them
8498 UTIL_LOOKUP_PROGS(DF, df)
8599 UTIL_LOOKUP_PROGS(NICE, nice)
86100 UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
87101
88- # These are only needed on some platforms
89- UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
102+ # Tools only needed on some platforms
90103 UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
91- UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
92104
93105 # For compare.sh only
94106 UTIL_LOOKUP_PROGS(CMP, cmp)
0 commit comments