Re: [cdesktopenv-devel] porting on Autotools initiative

2013-02-03 Thread Pascal Stumpf
On Sun, 3 Feb 2013 11:43:32 -0800 (PST), 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 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.

As someone having to deal with auto* on a daily basis in OpenBSD ports,
please, please, please, please no.  It is a major pain to work with and
continues to waste hundreds of hours of developer time fighting with its
quirks and stupidities.  Imakefiles may not be the nicest or most modern
build system around, but they get the job done and do so in a much more
transparent manner than the monstrosity that is GNU auto*.

So, please point out your reasoning *why* you think replacing Imakefiles
is a necessity and why that replacement should be Autotools.

--
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


Re: [cdesktopenv-devel] porting on Autotools initiative

2013-02-03 Thread Oleksiy Ch
First of all I have to mention that taking all difficulty of maintaining 
autotools scripts we release users from having to handcraft Imake config and 
read manuals about how to build that application. Any user just want to 
configure && make install. And I like it too.

Second configure scans your system for dependencies and gives you options. It 
will not start building if some dep lib is absent. So user would get a clear 
message what he needs to install instead of gcc error about some libxxx not 
found or unresolved symbols.

Third Automake gives VPATH. This is absolutely must have. Automake gives many 
standard targets.


Do you have something against libtool?


In general it gives portability and simplicity for USER. It's not always simple 
for developer of course. But from my point of view auto* are not so weird. All 
you need is to know is M4 which looks elegant for me.

If you will look into the crafted configure.ac you'll find a separate section 
for OpenBSD. In this section you can add custom tests and set config variables 
the same as in OpenBSD.cf. So don't worry man. 

If you'll have any questions please ask. And please if you insist not to use 
autotools give your arguments. What alternatives? I don't know other build 
tools that can be compared with auto*. And you know Motif was switched on 
autotools. Before it was on Imake. Actually it used almost the same config and 
rule files in config/cf. But they changed and it was a step forward. SO what's 
special about CDE?


Alex




 From: Pascal Stumpf 
To: Oleksiy Ch  
Cc: "cdesktopenv-devel@lists.sourceforge.net" 
 
Sent: Sunday, February 3, 2013 10:08 PM
Subject: Re: [cdesktopenv-devel] porting on Autotools initiative
 
On Sun, 3 Feb 2013 11:43:32 -0800 (PST), 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 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.

As someone having to deal with auto* on a daily basis in OpenBSD ports,
please, please, please, please no.  It is a major pain to work with and
continues to waste hundreds of hours of developer time fighting with its
quirks and stupidities.  Imakefiles may not be the nicest or most modern
build system around, but they get the job done and do so in a much more
transparent manner than the monstrosity that is GNU auto*.

So, please point out your reasoning *why* you think replacing Imakefiles
is a necessity and why that replacement should be Autotools.--
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


[cdesktopenv-devel] porting on Autotools initiative

2013-02-03 Thread Isaac Dunham

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 


--
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