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