summaryrefslogtreecommitdiff
path: root/src/template
diff options
context:
space:
mode:
authorPeter Eisentraut2008-10-29 16:06:47 +0000
committerPeter Eisentraut2008-10-29 16:06:47 +0000
commit79d306c84abbe1b55ac70b966d35feb09dedf6a8 (patch)
tree54ae7a5bfb9f5dab44cd751e6740fff2a8bc6aa1 /src/template
parent32765998049a41e334a3344517cb2528f6f82678 (diff)
Support for Sun Studio compiler on Linux
This basically takes some build system code that was previously labeled "Solaris" and ties it to the compiler rather than the operating system. Author: Julius Stroffek <Julius.Stroffek@Sun.COM>
Diffstat (limited to 'src/template')
-rw-r--r--src/template/linux25
-rw-r--r--src/template/solaris16
2 files changed, 32 insertions, 9 deletions
diff --git a/src/template/linux b/src/template/linux
index ed800d23f12..19904bc22e1 100644
--- a/src/template/linux
+++ b/src/template/linux
@@ -1,7 +1,30 @@
-# $PostgreSQL: pgsql/src/template/linux,v 1.30 2007/09/21 02:33:46 tgl Exp $
+# $PostgreSQL: pgsql/src/template/linux,v 1.31 2008/10/29 16:06:47 petere Exp $
# Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
# If --enable-profiling is specified, we need -DLINUX_PROFILE
PLATFORM_PROFILE_FLAGS="-DLINUX_PROFILE"
+
+if test "$SUN_STUDIO_CC" = "yes" ; then
+ CC="$CC -Xa" # relaxed ISO C mode
+ CFLAGS="-v" # -v is like gcc -Wall
+ if test "$enable_debug" != yes; then
+ CFLAGS="$CFLAGS -O" # any optimization breaks debug
+ fi
+
+ # Pick the right test-and-set (TAS) code for the Sun compiler.
+ # We would like to use in-line assembler, but the compiler
+ # requires *.il files to be on every compile line, making
+ # the build system too fragile.
+ case $host_cpu in
+ sparc)
+ need_tas=yes
+ tas_file=sunstudio_sparc.s
+ ;;
+ i?86|x86_64)
+ need_tas=yes
+ tas_file=sunstudio_x86.s
+ ;;
+ esac
+fi
diff --git a/src/template/solaris b/src/template/solaris
index 07efcc0bda4..40e3a68c88e 100644
--- a/src/template/solaris
+++ b/src/template/solaris
@@ -1,22 +1,22 @@
-if test "$GCC" != yes ; then
+if test "$SUN_STUDIO_CC" = yes ; then
CC="$CC -Xa" # relaxed ISO C mode
- CFLAGS="-v -DSUNOS4_CC" # -v is like gcc -Wall
+ CFLAGS="-v" # -v is like gcc -Wall
if test "$enable_debug" != yes; then
CFLAGS="$CFLAGS -O" # any optimization breaks debug
fi
# Pick the right test-and-set (TAS) code for the Sun compiler.
# We would like to use in-line assembler, but the compiler
- # requires *.il files to be on every compile line, making
+ # requires *.il files to be on every compile line, making
# the build system too fragile.
- case $host in
- sparc-*-solaris*)
+ case $host_cpu in
+ sparc)
need_tas=yes
- tas_file=solaris_sparc.s
+ tas_file=sunstudio_sparc.s
;;
- i?86-*-solaris*)
+ i?86|x86_64)
need_tas=yes
- tas_file=solaris_x86.s
+ tas_file=sunstudio_x86.s
;;
esac
fi