rbowler/spinhawk

Building 3.13 on Linux - where is autogen.sh?

PeterCoghlan opened this issue · 4 comments

I downloaded hercules-3.13.tar.gz from hercules-390.eu to build on Linux which is not my usual platform. My fading memory and the installation guide at hercules-390.eu/hercinst.html suggest I should execute ./autogen.sh but I cannot find autogen.sh in 3.13 while it is present in 3.12 I hunted around for any documentation that might alert to a change in the installation procedure but I can't find any either. Am I missing something?

Can I get away with going straight to ./configure ?

(I have successfully built 3.13 on VMS some time ago but I use my own build procedure for that)

It appears "autogen.sh" is not listed anywhere in the "Makefile.am" file, which IIRC is what is used to build the distribution tarball (tar.gz). In Hyperion it's listed as a member of the "EXTRA_DIST" variable of Makefile.am.

One thing you could do is clone the repository (git clone) and build from that instead.

Thanks Fish.

I've since found that I was mistaken when I said autogen.sh was in 3.12. It is missing from hercules-3.12.tar.gz too. However I found it is present in hercules-3.12.zip which led me to also finding it in hercules-3.13.zip.

I don't think any of this causes any problems building, just confuses me a bit.

Well yes, of course. The .zip file is simply a copy of all repository files in .zip file format, so it makes sense that autogen.sh would be included (since autogen.sh is, after all, a member of the repository).

So, whether you clone the repository or just download the GitHub .zip file, autogen.sh is included.

When an official tarr.gz source code distribution tarball is built by the autoconf process however (like we used to do years ago back in the much earlier 3.x and especially 2.x days), the files that get included in the tar.gz source distribution is determined by the list of files in the Makefile.am file that autoconf uses to "build" your product with (whether that "build" is to create the actual product binaries or the source distribution tar.gz tarball it doesn't matter; autoconf is designed to do both).

Hence, if a file isn't listed in the 'EXTRA_DIST' list in Makefile.am (like autogen.sh obviously isn't in 3.x), then the official tarball (tar.gz) that autoconf creates for you doesn't include that file. That's the only point I was trying to make.

But yes, you are correct: the .zip file that GitHub allows you to download for a repository is a complete copy of all files in the repository and thus also includes autogen.sh.

Good catch.