Patch for configure.in for SCO OpenServer 5.0.X and UnixWare 7.1.0
Boyd Lynn Gerber (801) 250-O795 Work
gerberb at zenez.com
Fri Sep 3 14:57:45 UTC 1999
On 3 Sep 1999, Russ Allbery wrote:
> First of all, what problem is it that you're trying to solve here? You
> didn't give any information in either your message or in comments in the
> patch, and the patch itself is scant on details.
I created this patch because configure was not getting the right compiler
and linker flags. It also was not setting the syslog correctly.
> Second, you've introduced a function named AC_SYS_COMPILER_FLAG. This is
> a bad name for a function in a configure.in script, since the AC_*
> namespace is reserved for autoconf itself. This change risks conflicting
> with future versions of autoconf. The function should use an INN_ prefix
> instead (I know that a lot of 2.2.1 gets this wrong, but 2.3 should get
> this right).
There are many versions of compilers for SCO (OpenServer and UnixWare).
The configure scripts were not working. You could get you do not have a
working compiler or it would generate the wrong code. The AC_* shows my
ignorance. I thought all functions that were needed by autoconf 2.13 and
automake 1.4 needed to begin with AC_*. I guess it is my lack of
knowledge of autoconf that caused it. Changing it to INN_ would be fine.
> Third, you're specifically checking for a particular operating system. I
> assue that this is related to the -belf flag that you're adding? Why is
> this necessary? Does it apply to other operating systems? Checks
> specific to a particular operating system should be avoided whenever
> possible in favor of checking for the availability of features.
On OpenServer 5.0.X the -belf flag is needed to get elf code generated.
You can not build shared libs with out elf code on SCO. SCO cc and the
old gcc have to have the -belf flag, while egcs gcc 1.1.2 and gcc 2.95.1
do not need it. I have seen the flag added for compile and missing for
linking. That is why I have it do the things it is. Also with UnixWare
7.1.0 there is not alloca function with out the -Kalloca. Also to use
threads with UnixWare 7.1.0 you have to use the native compiler.
> Fourth, finding and then running uname is the wrong way to check for
> something specific to an operating system; the right way is to run
> config.guess and parse the output of that. Otherwise, one ends up
> reimplementing all of the complexity in config.guess to deal with systems
> that don't have uname, etc.
The problem is I have seen a different version of config.guess and
config.sub on every program that uses autoconf. I am sick and tired of
trying to get these to all be the same. I only want to fix the broken
stuff with SCO OpenServer and UnixWare.
> Fifth, a nit: There's no need to declare CFLAGS, LDFLAGS, etc. as output
> variables, since they're on the predeclared list.
I used to agree with you till they were not being set. I have been having
problems getting Many programs from the net to work. It has always come
down to these two variables not being set right. I have on many programs
just edited ALL!!! the make files. I finally got tired of this and
started fixing configure.in. I hope this helps.
> I'm working, when I can find the time, on redoing the build system of INN
> for 2.3, and I'm worried about changes like yours since unless I can
> follow what a part of configure is trying to accomplish, I don't know if
> it should be retained, if it's now irrelevant, or if there's some better
> way of doing what it's trying to do.
Only you can decide.
> As an aside, ltconfig and ltmain.sh are *way* out of date and libtool
> doesn't work correctly currently anyway. I plan on revisiting all of that
> at some point, but there were other things I wanted to get cleaned up
I have worked with the libtool people and in there lates CVS libtool does
work with OpenServer 5.0.X and UnixWare 7.X.X correctly and does build
both static and dynamic libs.
gerberb at zenez.com
More information about the inn-workers