diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2006-09-13 23:19:04 +0300 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2006-09-14 01:36:13 +0000 |
commit | 7e827271d645402804a156e9a8b9edddac65bd6a (patch) | |
tree | 727012241e3f3db6dad2d3b036e427b11743a0c0 | |
parent | f7a67166576aeda0086a243ed96f9d5fecb33772 (diff) | |
download | perl-7e827271d645402804a156e9a8b9edddac65bd6a.tar.gz |
(1) g++ 4.x (or Mac OS X) (2) Solaris g++ or CC
Message-ID: <45083D88.7050207@iki.fi>
Plus a tweak to the name of CC.
p4raw-id: //depot/perl@28842
-rwxr-xr-x | cflags.SH | 21 | ||||
-rw-r--r-- | hints/solaris_2.sh | 15 | ||||
-rw-r--r-- | perl.h | 5 |
3 files changed, 24 insertions, 17 deletions
@@ -225,7 +225,26 @@ for file do esac case "$cc" in -*g++*) ccflags="`echo $ccflags|sed 's/-Wdeclaration-after-statement/ /'`" ;; +*g++*) + # We need to remove this also in here (removed early earlier). + ccflags="`echo $ccflags|sed 's/-Wdeclaration-after-statement/ /'`" + ;; +esac + +case "$cc" in +*g++*) + # Without -Wno-unused-variable g++ 4.x compiles are rather unwatchable + # because of all the warnings about Perl___notused, and g++ doesn't + # do __attribute__((unused)) (and even if at some stage it will), people + # do have older gcc installations. Yes, we lose some valid warnings. + for o in -Wno-unused-variable + do + case "$warn" in + *$o*) ;; + *) warn="$warn $o" ;; + esac + done + ;; esac if test -f .patch; then diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index d4549e3acb..fcb7233794 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -645,19 +645,6 @@ rm -f try.c try.o try a.out # a delicate spot in Configure, so easier just to force our guess here # for Solaris. case "$cc" in -*g++*|/opt/SUNWspro/bin/CC) d_dlopen='define' ;; -esac - -# The Sun C++ doesn't define the global environ array. -case "$cc" in -/opt/SUNWspro/bin/CC) - for o in NO_ENVIRON_ARRAY PERL_USE_SAFE_PUTENV - do - case "$ccflags" in - *$o*) ;; - *) ccflags="$ccflags $o" ;; - esac - done - ;; +*g++*|*CC*) d_dlopen='define' ;; esac @@ -1150,15 +1150,16 @@ int sockatmark(int); # endif #endif -#if defined(__osf__) && defined(__cplusplus) && !defined(_XOPEN_SOURCE_EXTENDED) +#if defined(__osf__) && defined(__cplusplus) && !defined(_XOPEN_SOURCE_EXTENDED) /* Tru64 "cxx" (C++), see hints/dec_osf.sh for why the _XOPEN_SOURCE_EXTENDED cannot be defined. */ EXTERN_C int fchdir(int); EXTERN_C int flock(int, int); EXTERN_C int fseeko(FILE *, off_t, int); EXTERN_C off_t ftello(FILE *); #endif -#if defined(__SUNPRO_CC) +#if defined(__SUNPRO_CC) /* SUNWspro CC (C++) */ EXTERN_C char *crypt(const char *, const char *); +EXTERN_C char **environ; #endif #ifdef SETERRNO |