I don't think you understand the role of autoconf... The whole point is that you _don't know_ yet what compiler is available, which version/flavor of C is supported, which API or syscall are available, etc.
Autoconf was litterally made so that you can write C code that is somewhat portable. Suggesting that it should have been written in C and built locally is non-sensical.
Well first because autoconf/automake were built in the early 90s. It's not like there were a ton of choices back then.
Basically if you wanted something that 1) is available on all Unix-like flavors and 2) is strictly well defined and standardized, you could count them on a single hand fingers.
I guess the candidates were sh, awk, make, m4 and perl.
sh had the advantage of being ubiquitous, somewhat well understood by everyone, strictly defined (an sh-compatible shell at /bin/sh was mandated by Posix/SUS, which had (and still have) quite good traction even for non-strictly unix/posix Oses)
Note that even by today's standards, "sh" is probably the only thing you can be 100% sure is available whatever the Unix flavor, even on the most minimal build imaginable.
I cannot say I can think of anything as well defined and supported even today.
Python? Ok but which specific version?
Most distribs struggled to migrate to Python 3 for the very reason that system-wide python 2 usage was pervasive in base utilities (yum, etc). If Python 2 would have been chosen as autoconf target, imagine the nightmare we would be in today.
Perl? I guess it could have been the strongest candidate after sh. Present me is happy that it was not chosen though, as we seldomly see any Perl nowadays, while sh is still quite well used and understood.
sh is also quite well suited IMHO for the kind of things you do with autoconf/automake/make.
Some examples that come to my mind:
- Cleanup some directories / intermediary files
- grep / find / sed some configuration from config files to .h/.pc
- Lookup for ad-hoc libraries on the filesystem
- Archive / build your dists
- etc
Now dont get me wrong, I won't say autotools are a brease to work with. Especially I have a profound hate of m4.
Pragmatically though, once you tame the beast, it does the job it was made to do pretty darn well.
Autoconf was litterally made so that you can write C code that is somewhat portable. Suggesting that it should have been written in C and built locally is non-sensical.