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