[Coin-lpsolver] Autoconf

Kyle kellrott at csbl.bmb.uga.edu
Tue Jun 21 13:55:29 EDT 2005


On Jun 20, 2005, at 2:35 PM, Matthew Saltzman wrote:

> On Mon, 20 Jun 2005, Jean-Sebastien Roy wrote:
>
>
>> Kyle Ellrott wrote:
>>
>>> I'm curious, is there any over riding reason why COIN isn't built  
>>> with
>>> an autoconf/automake/libtool based system?
>>>
>
> The main reason is that we don't have any volunteers with the  
> expertise and time to build a proper set of scripts.  We do plan to  
> get there eventually.
>
> Now, if you do have the time and the expertise, and you'd like to  
> volunteer...

I've put together a small base of the files needed to build and  
install the libraries libCbc, libCgl, libClp, libCoin, and libOsi.
Only the OsiClp and OsiCbc interfaces are built into libOsi right now.

The Clp and Cbc Sample directories should also build, but only after  
the 'make install'.  I haven't put anything else together for the  
other example directories.

You can get the tar at
http://csbl.bmb.uga.edu/~kellrott/COIN_autoconf.tar.gz

Simply uncompress it in the directory containing your COIN  
directory.  Then 'cd COIN' and './bootstrap.sh' to setup the  
configure scripts.  A regular ./configure , make, make install,  
should work.

>> As I'm only a COIN user, I don't know why it does not use autoconf  
>> and co., but the current build system is, in my view, faster, much  
>> easier to understand, adapt and debug than the thousand lines of  
>> shell script and m4 used in the autotools.

Typically, you don't have to debug those thousands of lines of shell  
script and m4 code, they are generated for you.  The build system  
that I mentioned above is 487 lines.
Although I can't argue the speed thing ;-)


> Of course, some of the slowness is related to robustness, as there  
> can be a large number of system tests and steps carried out in  
> autotools that we don't do in the makefiles.  Makefiles (at least  
> as ours are currently configured) can require a substantial amount  
> of human intervention to get to work properly in different  
> environments.

For me, the major downside of the current scripts is that they don't  
make shared libraries on the Darwin platform.  libtool is a bit more  
versatile.

Anyway, this didn't take me to long.  I just want to see if I could  
stimulate the discussion.

Kyle




More information about the Clp mailing list