On Mon, Jan 10, 2011 at 11:22:46PM +0200, Elazar Leibovich wrote: > On Mon, Jan 10, 2011 at 9:56 PM, Tzafrir Cohen <[email protected]>wrote: > > > [snipped] > > Yeah. You have your own hand-crafted Makefiles. With the only > > special-case of Darwin. No need to be portable. > > > > All your issues are valid from purity POV. Indeed in some rare cases > compiling C files with g++, when cross compiling from Mac OS X to other > platform (wow, when would that happen?), you'll have to edit a single, easy > to understand line in the top of the makefile, and make distclean doesn't > make sense really, it should be dropped altogether (care to issue a bug > report?).
Too lazy, sorry. (The bad thing is that in some places you use 'g++' directly, regardless of what is defined in CC. Not to mention some environments would override CC with some other cc) > > But then again, this software is usable today on many platforms, and it > makes life easier maintainance-wise for 99.9% of the use cases, and using it > in a special way is possible without too much hassle. > > Let's compare the situation there with the situation of VLC which uses > autotools. And has tons of other dependencies: Build dependecies: http://packages.debian.org/source/sid/vlc http://packages.debian.org/source/experimental/re2 VLC has many media types to support. Many features are optional. Many features depend on the libraries available. Some features could be provided by more than one library. I could go and rewrite re2's build system in autotools. It wouldn't be a problem. Now you go and rewite VLC in plain makefiles. > I had once the doubted pleasure of cross-compiling version 0.86 of VLC to > windows on Linux (as recommended by the docs) with a modern distribution > software today. Who needs to cross-compile to Windows on Linux? That's a crasy thing. > As expected this beast didn't compile even though I had the very same > version of gcc and the exact binary libraries required by 0.86. What > happened is that for some reason (maybe the autotools version wasn't 100% > the same of the autotools version they originally used to build 0.86, or I > don't know what) the autogenerated libtool script was broken, reading it and > editing the m4 file which generated it was a very difficult job. So I ended > up reimplementing libtool with python. > > So yes, you'll have errors even with autotools, but I'd rather debug the > errors of a hand written readable Makefile than the errors of autotools > script. (BTW m4 and bash are indeed Turing complete, but they make great job > obfuscating your Turing machine ;-) Sounds like you never got to write code for a real Turing machine. :-) -- Tzafrir Cohen | [email protected] | VIM is http://tzafrir.org.il | | a Mutt's [email protected] | | best [email protected] | | friend _______________________________________________ Linux-il mailing list [email protected] http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
