trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2020

Re: [trinity-devel] Re: Re: How to easily check build configuration

From: Slávek Banko <slavek.banko@...>
Date: Sun, 8 Mar 2020 11:30:52 +0100
On Sunday 08 of March 2020 11:13:16 deloptes wrote:
> Michele Calgaro via trinity-devel wrote:
> > On 2020/03/07 04:01 PM, deloptes wrote:
> >> Thank you Michele, but doesn't it look like manual process? Usually
> >> the configure script may or may not print the results of the
> >> configuration.
> >>
> >> Can this be automated?
> >
> > Hi Emanoil,
> > not sure to understand what you are looking for then... Perhaps you
> > can explain better Cheers
> >   Michele
>
> I think this was correct, what you understood.
>
> For example tdelibs during configuration says
>
> -- Found PCSCLITE: /usr/lib/x86_64-linux-gnu/libpcsclite.so
> -- Checking for one of the modules 'libcryptsetup'
> -- Performing Test HAVE_NEW_CRYPTSETUP
> -- Performing Test HAVE_NEW_CRYPTSETUP - Success
> -- Performing Test HAVE_CRYPTSETUP_GET_TYPE
> -- Performing Test HAVE_CRYPTSETUP_GET_TYPE - Success
> -- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "62")
> -- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version
> "1.6.36")
> -- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (found 
> version "4.1.0") 
> -- Found Jasper: /usr/lib/x86_64-linux-gnu/libjasper.so (found
> version "1.900.1")
>
> in many cases there are conditions in the make system (automake or
> cmake) that will enable or disable an optional feature if the library is
> found or not found.
>
> How one could know what feature was compiled at the end?
>
>

Here is the fundamental difference between automake � cmake builds.

It is common for automake that there is a choice of "yes / no / auto" - and 
these are exactly where it is uncertain what features are actually 
included.

For cmake it is usual that there is a choice of "yes / no" - and if option 
is set to yes, then building must fail if the conditions are not met - ie, 
not found libraries, includes, etc. Therefore, cmake building should give 
certainty what the features are actually included.

Dealing with automation verification for automake building is a waste of 
time. That's one of the reasons we want to convert everything to CMake.

Verification in CMake should be an essential part that we try to follow. As 
I mentioned above, there should apply that when conditions are not met for 
the WITH_* and BUILD_* options, building should always fail in the 
configuration phase.

Cheers
-- 
Sl�vek

Attachments: