The THINKFIRST check after the GMAGICAL check in sv_2iv_flags and
[p5sagit/p5-mst-13.2.git] / hints / solaris_2.sh
index fd77486..a06d9e8 100644 (file)
@@ -211,7 +211,10 @@ echo 'int main() { return 0; }' > try.c
        # Indent to avoid propagation to config.sh
        verbose=`${cc:-cc} -v -o try try.c 2>&1`
 
-if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then
+# XXX TODO:  'specs' output changed from 'Reading specs from' in gcc-[23] to 'Using
+# built-in specs' in gcc-4.  Perhaps we should just use the same gcc test as
+# in Configure to see if we're using gcc.
+if echo "$verbose" | egrep '(Reading specs from)|(Using built-in specs)' >/dev/null 2>&1; then
        #
        # Using gcc.
        #
@@ -609,4 +612,19 @@ EOM
 esac
 EOCBU
 
+#
+# If unsetenv is available, use it in conjunction with PERL_USE_SAFE_PUTENV to
+# work around Sun bugid 6333830.  Both unsetenv and 6333830 only appear in
+# Solaris 10, so we don't need to probe explicitly for an OS version.  We have
+# to append this test to the end of config.over as it needs to run after
+# Configure has probed for unsetenv, and this hints file is processed before
+# that has happened.
+#
+cat >> config.over <<'EOOVER'
+if test "$d_unsetenv" = "$define" -a \
+    `expr "$ccflags" : '.*-D_PERL_USE_SAFE_PUTENV'` -eq 0; then
+        ccflags="$ccflags -DPERL_USE_SAFE_PUTENV"
+fi
+EOOVER
+
 rm -f try.c try.o try a.out