UnixWare UP3 compiler detection patch

Started by Larry Rosenmanover 22 years ago3 messagespatches
Jump to latest
#1Larry Rosenman
ler@lerctr.org

I put the following patch to detect the 7.1.3 UP3 compiler. If there
are no SERIOUS objections, please apply:

Index: src/template/unixware
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v
retrieving revision 1.27
diff -u -r1.27 unixware
--- src/template/unixware	25 Oct 2003 15:32:11 -0000	1.27
+++ src/template/unixware	31 Oct 2003 15:37:23 -0000
@@ -1,13 +1,28 @@
 if test "$GCC" = yes; then
   THREAD_CPPFLAGS="-pthread"
 else
-# the -Kno_host is temporary for a bug in the compiler.  See -hackers
+# the -Kno_host is for a bug in the compiler.  See -hackers
 # discussion on 7-8/Aug/2003.
-# when the 7.1.3UP3 or later compiler is out, we can do a version check.
-  CFLAGS="-O -Kinline,no_host"
+# version check for the 7.1.3UP3 compiler (version 401200310):
+cat >testcompver.c <<__EOF__
+#include <stdio.h>
+#include <stdlib.h>
+int main(int argc, char **argv)
+{
+  if (__SCO_VERSION__ >= 401200310) exit(1);
+  else exit(0);
+}
+__EOF__
+  cc -O -o testcompver testcompver.c
+  ./testcompver
+  if test $? = 1; then
+    CFLAGS="-O -Kinline"
+  else
+    CFLAGS="-O -Kinline,no_host"
+  fi
+  rm testcompver testcompver.c
   THREAD_CPPFLAGS="-K pthread"
 fi
-
 THREAD_SUPPORT=yes
 NEED_REENTRANT_FUNCS=no		# verified 7.1.3 2003-09-03
 THREAD_CPPFLAGS="$THREAD_CPPFLAGS -D_REENTRANT"

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Attachments:

unixware.up3.patchapplication/octet-stream; name=unixware.up3.patchDownload+19-4
#2Peter Eisentraut
peter_e@gmx.net
In reply to: Larry Rosenman (#1)
Re: UnixWare UP3 compiler detection patch

Larry Rosenman writes:

I put the following patch to detect the 7.1.3 UP3 compiler. If there
are no SERIOUS objections, please apply:

This patch breaks about all the rules for robust autoconf tests:

1. Compile things using the compiler and the flags that the user chose,
not hardcoded ones.

2. Make sure you can clean up after yourself even if your code doesn't run
all the way through.

3. Don't execute programs you just compiled.

--
Peter Eisentraut peter_e@gmx.net

#3Larry Rosenman
ler@lerctr.org
In reply to: Peter Eisentraut (#2)
Re: UnixWare UP3 compiler detection patch

--On Saturday, November 01, 2003 00:17:46 +0100 Peter Eisentraut
<peter_e@gmx.net> wrote:

Larry Rosenman writes:

I put the following patch to detect the 7.1.3 UP3 compiler. If there
are no SERIOUS objections, please apply:

This patch breaks about all the rules for robust autoconf tests:

1. Compile things using the compiler and the flags that the user chose,
not hardcoded ones.

We are just checking a preprocessor define that we know will exist in
the SCO cc case, and this preprocessor define does NOT change based
on flags.

2. Make sure you can clean up after yourself even if your code doesn't run
all the way through.

I can, and I've tested it, because I blew the test a couple of times.

3. Don't execute programs you just compiled.

Why not?

It's only on the ONE platform, and how would you prefer the test be done?

--
Peter Eisentraut peter_e@gmx.net

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749