[BuildTools] [Coin-tlc] Help with build system

Stefan Vigerske stefan at math.hu-berlin.de
Thu Jun 10 10:58:31 EDT 2010


Hi,

Am 08.06.2010 10:20, schrieb Matěj Týč:
> On Sat, 2010-06-05 at 13:09 +0200, Stefan Vigerske wrote:
>> Hi,
>>>
>>> I understand that there is a working solution, this is great. I also
>>> don't doubt that this is a valid solution, but I also see that it has
>>> certain cons.
>>> For our "customers", this would mean that they need to have pkg-config
>>> set up and working if they want to use this kind of installation.
>>
>> No, point 3 is about the case where there is no pkg-config
>> (and dependences are not installed yet).
>>
>>> Since this is an installation for "poor people", who don't have anything
>>> (= at least in terms of dependencies :-), maybe neither they have
>>> pkg-config, who knows.
>>> And for possible future COIN developers, they might wonder why
>>> pkg-config solution was used here when a shell solution might do the job
>>> as well with relatively less effort.
>>
>> But at last we do shell scripting if pkg-config is not there:
>> https://projects.coin-or.org/BuildTools/browser/trunk/coin.m4#L3898
> 
> I see. I am going to post my stuff to the tracker so it does not get
> lost and we can move on to another tasks like the battle plan for gnulib
> integration.

OK.

> I think that there is a somewhat simpler solution of our problems, but
> since those problems are actually solved now, it is not a priority. 
> 
>>> Anyway, I couldn't help myself and I have made a demo of a sh
>>> implementation. Don't take me wrong, I don't try to compete with you, I
>>> just like minimalistic approach :-)
>>> http://pastebin.com/raw.php?i=LzGEMwEN
>>> By "getting rid of those situations" I meant situations when a certain
>>> COIN library libA requires libB headers in order to be useful. I think
>>> that such situation occurs now, there was some discussion concerning
>>> this earlier.
>>
>> I think something like the script you propose could be integrated into
>> the fallback macro around, so that it also follows dependencies.
>> But instead of projects having to creating a new file with INCLUDE_DIRS
>> and DEPENDENCIES variables, it should just take this information from
>> the xxx-uninstalled.pc file. I still don't see why to replicate this
>> information in two files. :-)
> 
> My idea was that you use somewhat simpler .sh files rather than
> those .pc files so those uninstalled.pc stuff would not be needed any
> more.

Ah, ok.

>>> See http://list.coin-or.org/pipermail/buildtools/2010-May/000149.html 2.
>>> I believe the main purpose of making config_xxx.h available...
>>>
>>> I don't think that all-inclusive tarball is a bad thing, at least not
>>> when COIN is not packaged by one's favourite distribution... It can be
>>> such a big relief for lazy users :-)
>>
>> I agree.
>> But one may wanna change it such that from the big tarball one does the
>> whole configure+make+make test+make install for one project after the other.
> 
> That would be easy for us, but it would not make things very different
> from downloading all tarballs separatelly :-) I am an optimist, I think
> that we will manage to do it in a smart way. In the worst case, we could
> make a shell script that would build and install all the stuff for the
> user.

I thought this "worst case" could be the final goal. :-)
Ted was also thinking of having some installer that pulls down all
required packages, builds and installs them.
Currently there is a "small" configure script in the project base
directory. It should be possible to replace it by somethink that does
configure+build+test+install for each subdirectory one by one.

Stefan



More information about the BuildTools mailing list