LWN.net Logo

LCA: Disintermediating distributions

LCA: Disintermediating distributions

Posted Feb 7, 2008 20:24 UTC (Thu) by vapier (subscriber, #15768)
In reply to: LCA: Disintermediating distributions by modernjazz
Parent article: LCA: Disintermediating distributions

i didnt say it wasnt working *for them*.  they probably wouldnt have made the build system
change if it wasnt working *for them*.  the trouble is when *anyone else* tries to build the
package.  you want to cross-compile it ?  build it on a different platform ?  build with your
own compiler/flags ?  sorry, but the $flavor-of-the-month build system never thought of that.
time to go re-implement the wheel even though autotools already had it solved.


(Log in to post comments)

LCA: Disintermediating distributions

Posted Feb 7, 2008 21:47 UTC (Thu) by nix (subscriber, #2304) [Link]

The worst I've found for this is Boost.Jam. It should *not* take 7Kb of 
diffs and a kilobyte of build-system shell scripting to do the equivalent 
of setting --prefix and CXXFLAGS when building Boost!

LCA: Disintermediating distributions

Posted Feb 7, 2008 22:17 UTC (Thu) by aleXXX (subscriber, #2742) [Link]

I'm not sure I get your point here, so I just state what cmake offers 
here:

CMake cvs (2.6.0 will be released soon) supports cross compiling (without 
scratchbox or any other emulators, but of course it can also be used 
inside scratchbox).

If you want to use your own CFLAGS/CXXFLAGS with CMake, you have at least 
two ways to do it:
set CFLAGS/CXXFLAGS when you run cmake, cmake will use them.
Or, later on, run "make edit_cache" and edit the 
CMAKE_C_FLAGS/CMAKE_CXX_FLAGS directly to what you want.

If you build the software on some system where it has never been built 
before it may very well be necessary that you have to do something on the 
buildsystem, add some more checks, add some other locations, other names 
for libraries (e.g. z lib has a lot of different names on Windows). I 
guess this is true for any buildsystem.

Alex

LCA: Disintermediating distributions

Posted Feb 7, 2008 22:40 UTC (Thu) by vapier (subscriber, #15768) [Link]

your comment backs up my point.  all of these alternative build systems consistently re-solve
the exact same problems that autotools solved eons ago.

cmake *just* added support for cross-compiling (and it isnt even in any released version) ?
without even looking at anything else about cmake, that tells me the project is useless to me.
i'm not saying my needs are the same as everyone out there, just that you cant champion a
replacement for autotools if it isnt a replacement.  i'm glad *you've* found it useful, but if
your target compiling audience is more than just you, then i feel sorry for those poor chaps
(where chaps != you).

the things i cite are just common examples ive come across quite frequently when dealing with
non-autotooled packages as a distribution maintainer (whether it be cmake or scons or hand
rolled or whatever).  they certainly a complete list.  i imagine there are numerous other
portability fixes autotools has which these "replacements" lack.

LCA: Disintermediating distributions

Posted Feb 7, 2008 23:22 UTC (Thu) by nix (subscriber, #2304) [Link]

autoconf-generated configure scripts also support the godsends which are 
site-config files. Nobody else seems to remember about that, which means 
you need to wrap another build system around your build system just to get 
your CFLAGS et al consistent.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds