Oleksiy Ch wrote: > HI, > > I examined CDE it contains ancient Imakefiles. I think it must be > ported on Autotools as Motif did, but in a more wise way. I made some
WHY??! > work in this way. Currently I have lib dir ported on autotools > completely. Actually the main thing is configure.ac, it's 95% of code. > It absorbed much from config/cf/*. So with configure.ac the core part > of porting is done. Current configure.ac makes checks but don't abort > on check fail. It's temporary. > > > Patch in attachment. > > Comments? I agree with Pascal Stumpf's analysis. Autotools works, except when it doesn't. (sorry, rant coming...) Then you end up with things like -cross compiles FTBFS because it assumes that means sizeof(long) < sizeof(*void) (seen in Apache/APR), and then complains that the compiler is not standards conformant because sizeof long must equal or exceed sizeof *void. I don't know of any system that actually has this problem. -checking for malloc (!) gets stuck in an infinite loop (seen in Oleo) Make the obvious change (comment it out; I use obvious loosely), and it breaks the sylk file exporter. The real fix is to change the test, install autotools, and regenerate configure. Good luck figuring that out if you're a user, even one somewhat familiar with patching sources and fixing shell scripts. And of course, that requires GNU m4 1.4+ "because we need --prefix-builtins" even though GNU documents that -P is equivalent, and OpenBSD, NetBSD, and now FreeBSD have their own m4 versions support -P. Never mind that GNU m4 doesn't want to build on arbitrary systems because it uses freadahead from gnulib, which compiles on about 6 platforms; the alternative stub used to just abort(). -while we're on the subject of fixing things, I should mention the bug [1] filed by Debian's Samba maintainer: "automake: configure has mode 755" "...This is obviously completely inappropriate, as the code produced by automake is something that should never been seen by human eyes..." -send it an OS name that is not expressed the way GNU wants, and good luck having anything build. (config.sub and config.guess, I'm looking at you) -it claims to handle varying tools, but this frequently amounts to checking whether the GNU version is installed, and telling the user "You need to install the GNU version" If you're wondering why busybox sed --version outputs This is not GNU sed version 4.0 this is the reason (that matches the regexes used to check, so software builds) -In fact, it frequently ends up dragging in more dependencies on GNU tools (gmake, gm4, bash, and the list goes on) -it claims to test for features, but half the time the tests are along the lines of #ifdef __linux__ #ifdef __glibc__ .. #else /* assume libc5 */ #endif Which you might as well use imake for, and you'd get to building a lot sooner. And this is packagers' and porters' time, not just developers. In other words, AUTOCONF DOESN'T MAKE THINGS EASIER FOR USERS, unless you're talking about an extremely limited set of variations. And by the way, libtool is rather annoying too, because it doesn't properly handle certain things (for example, they exported an AIX misfeature so they broke static linking in most build systems...) [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=140837 -- Isaac Dunham <ibid...@lavabit.com> ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_jan _______________________________________________ cdesktopenv-devel mailing list cdesktopenv-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel