hercules-390 / hyperion

Hercules 390
Other
248 stars 67 forks source link

Configuration scripts not testing for out-of-source build. #176

Closed dasdman closed 7 years ago

dasdman commented 7 years ago

bldlvlck, autogen.sh, and configure, are not ensuring that out-of-source builds are being done.

srorso commented 7 years ago

Hi Mark:

I have code to be committed for configure.ac to test for in-source; see my prior notes on the matter.

Autogen must run in the source directory.

1Stop addresses autogen and configure.

Not sure what warning is appropriate from bldlvlck, as that is run very pre-build. I'll ponder that one.

I'll check the SoftFloat header issue in the am.

Best regards, Steve Orso

+1 610 217 7050

On Dec 29, 2016, at 11:53 PM, dasdman notifications@github.com wrote:

bldlvlck, autogen.sh, and configure, are not ensuring that out-of-source builds are being done.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

jphartmann commented 7 years ago

I just did a clean install using 1Stop in hyperion on Ubuntu 16.04. I tried FreeBSD 11 last night. Both pass "make check".

bldlvlch and autogen.sh run in the source directory long before configure. They cannot guess how the user chooses to configure.

Autogen.sh now includes obsolete instructions on doing an out-of-source build. I shall update that and also give autogen an option for 1Stop to omit that chatter, which is of no use when 1Stop runs the process.

Configure in the source directory fails because the softfloat library is not in the relative position where it ought to be. I think Steve is going to move that test from the end of configure to the top, if this is possible; automuck is to say the least rather set in its ways (he says now that he knows how to get something into config.h--speak of black art!).

I think we should adopt a more restrictive stance to where things must be; after all, the directory structure is for us to decide. And symbolic links can map any view the user wants to adopt.

But we must do that without losing track of the requirements:

I think we have the right to dictate the object directory structure as long as those requirements are satisfied, so I have no problem with forcing the directory structure of

Packages that supply components (SoftFloat is no doubt the first of many) must have a well-known name and be a sibling of the top Hyperion source directory.

On 30/12/16 04:53, dasdman wrote:

bldlvlck, autogen.sh, and configure, are not ensuring that out-of-source builds are being done.

srorso commented 7 years ago

Configure.ac has been updated to detect and prevent an in-source build. Functional and regression testing done on Debian 8.6 64-bit; additional testing and feedback welcomed. The commit for this issue also moves the SoftFloat library testing and faulure notification to much earlier in the configure script.

srorso commented 7 years ago

Autogen.sh is supposed to run from the source directory and therefore cannot detect an in-source build. Bldlvlck checks installed software version levels and should be run before autogen.sh, and so cannot detect an out of source build.

Configure.ac has been updated to generate a configure script that detects and rejects attempts at an in-source build.

Autogen.sh has been updated to provide instructions for an out-of-source build.