Winnerineast Lee
Winnerineast Lee

Reputation: 71

What if I want to build GNU m4 from zero without bootstrap from another release copy of GNU m4?

Recently I'm writing a paper associated with open sources and GNU. I need to do some testings to simulate how the pioneers of GNU develop the GNU build system from zero in the early period. But I found one strange thing in README with the statement:

If GNU 'm4' is meant to serve GNU 'autoconf', beware that 'm4' should be fully installed prior to configuring 'autoconf' itself. Likewise, if you intend on hacking GNU 'm4' from git, the bootstrap process requires that you first install a released copy of GNU 'm4'.

If we follow up this logic, what about the first released copy of GNU m4? Can anybody have clue or hint? Thank you.

Upvotes: 1

Views: 676

Answers (1)

John Bollinger
John Bollinger

Reputation: 180998

If we follow up this logic, what about the first released copy of GNU m4?

Retrocomputing SE would be a better forum for questions about computing history. From a technical perspective, however, it is obvious that the first version of GNU m4 could not have depended on an Autoconf build system if Autoconf also depended on GNU m4, not even if they were part of the same package. In fact, GNU's m4 is not the first or only m4, and it did not always have an Autoconf-based build system. For its part, Autoconf did not always depend specifically on GNU m4.

Bear in mind, too, that

  • configure scripts similar to those produced by Autoconf were originally written by hand or generated by other tools, and other, less automated approaches predated that.
  • an Autoconf configure script itself does not ordinarily depend on Autoconf or m4. This is by design. As long as you have a complete distribution of an Autotools-based project (which, by definition, includes a configure script) you do not need to be able to run Autoconf or m4 to build the project.

The Autoconf manual has a chapter on the tool's history that might interest you.

Upvotes: 3

Related Questions