If there are no comments, I will probably commit this wednesday or thursday.
I'm fairly confident about it.

On Sat 01 Nov 2003 15:11, "H.Merijn Brand" <[EMAIL PROTECTED]> wrote:
> As announced in my plans somewhere back in september 2002, I finally found
> time to check and change.
> 
> The plan was to make the call-back's safe and call them allways, even if the
> option for which the call-back was cretead is unset.
> 
> To do so, two criteria should be met:
> 
> 1. All currently created call-back should have code to check that they will
>    only do what they are supposed to do when the option *is* set.
> 2. Configure should allways call them, but still be safe in how to deal with
>    what it currently does.
> 
> Both are pure for backward compatibility, and shouldn't alter the current
> behaviour, but open up for expansions in the call-back units to do things in
> case the option is *not* set.
> 
> I was amazed to find that point 1 is already met. This means that the setting
> of the variable currently is done twice, once in Configure, and when it's set
> end the cbu is called, it's checked again. I expected to have a lot of work in
> this area, but I have no work here at all :)
> 
> Below are the proposed patches.
> 
> a. The patch to hints/README.hints, explaining that the cbu's should take care
>    of item 1.
> b. The complete patch to Configure, This will have to be broken up to the
>    metaunits
> c. A small patch to solaris_2.sh, which I think simplifies reading
> 
> Remarks most welcome. (Currently unably to *read* mail, because I'm awaiting
> ADSL, which is to arrive any day now). Monday I read my mail at work
> 
> --- hints/README.hints        2002-09-10 18:58:01.000000000 +0200
> +++ hints/README.hints        2003-11-01 15:57:57.000000000 +0100
> @@ -303,6 +303,13 @@
>  hints/solaris_2.sh of checking to see if uselongdouble is defined is a good
>  idea.
>  
> +=item Call status
> +
> +Call-backs are only called always, even if the value for the call-back is
> +uset: UU/usethreads.cbu is called when Configure is about to deal with
> +threads. All created call-backs from hints should thus check the status
> +of the variable, and act upon it.
> +
>  =item Future status
>  
>  I hope this "call-back" scheme is simple enough to use but powerful
> --- Configure 2003-09-18 08:13:46.000000000 +0200
> +++ Configure 2003-11-01 15:39:42.000000000 +0100
> @@ -3673,22 +3673,22 @@
>  eval $setvar
>  
>  
> -case "$usethreads" in
> -"$define"|true|[yY]*)
>  : Look for a hint-file generated 'call-back-unit'.  If the
>  : user has specified that a threading perl is to be built,
>  : we may need to set or change some other defaults.
>       if $test -f usethreads.cbu; then
> -             echo "Your platform has some specific hints for threaded builds, using 
> them..."
> +    echo "Your platform has some specific hints regarding threaded builds, using 
> them..."
>               . ./usethreads.cbu
>       else
> +    case "$usethreads" in
> +     "$define"|true|[yY]*)
>               $cat <<EOM
> -(Your platform doesn't have any specific hints for threaded builds.
> +    (Your platform does not have any specific hints for threaded builds.
>   Assuming POSIX threads, then.)
>  EOM
> -     fi
>       ;;
>  esac
> +    fi
>  
>  cat <<EOM
>  
> @@ -4546,21 +4546,21 @@
>  true|[yY]*) uselongdouble="$define" ;;
>  esac
>  
> -case "$uselongdouble" in
> -$define)
>  : Look for a hint-file generated 'call-back-unit'.  If the
>  : user has specified that long doubles should be used,
>  : we may need to set or change some other defaults.
>       if $test -f uselongdouble.cbu; then
> -             echo "Your platform has some specific hints for long doubles, using 
> them..."
> +    echo "Your platform has some specific hints regarding long doubles, using 
> them..."
>               . ./uselongdouble.cbu
>       else
> +    case "$uselongdouble" in
> +     $define)
>               $cat <<EOM
> -(Your platform doesn't have any specific hints for long doubles.)
> +    (Your platform does not have any specific hints for long doubles.)
>  EOM
> -     fi
>       ;;
>  esac
> +    fi
>  
>  : Looking for optional libraries
>  echo " "
> @@ -5447,8 +5447,6 @@
>       ;;
>  esac
>  
> -case "$use64bitint" in
> -"$define"|true|[yY]*)
>  : Look for a hint-file generated 'call-back-unit'.  If the
>  : user has specified that a 64-bit perl is to be built,
>  : we may need to set or change some other defaults.
> @@ -5456,6 +5454,8 @@
>               echo "Your platform has some specific hints for 64-bit integers, using 
> them..."
>               . ./use64bitint.cbu
>       fi
> +case "$use64bitint" in
> +    "$define"|true|[yY]*)
>       case "$longsize" in
>       4) case "$archname64" in
>          '') archname64=64int ;;
> @@ -5465,15 +5465,15 @@
>       ;;
>  esac
>  
> -case "$use64bitall" in
> -"$define"|true|[yY]*)
>  : Look for a hint-file generated 'call-back-unit'.  If the
>  : user has specified that a maximally 64-bit perl is to be built,
>  : we may need to set or change some other defaults.
>       if $test -f use64bitall.cbu; then
> -             echo "Your platform has some specific hints for 64-bit builds, using 
> them..."
> +    echo "Your platform has some specific hints regarding 64-bit builds, using 
> them..."
>               . ./use64bitall.cbu
>       fi
> +case "$use64bitall" in
> +    "$define"|true|[yY]*)
>       case "$longsize" in
>       4) case "$archname64" in
>          ''|64int) archname64=64all ;;
> @@ -8852,14 +8852,16 @@
>  esac
>  set uselargefiles
>  eval $setvar
> -case "$uselargefiles" in
> -"$define")
>  : Look for a hint-file generated 'call-back-unit'.  If the
>  : user has specified that a large files perl is to be built,
>  : we may need to set or change some other defaults.
>       if $test -f uselargefiles.cbu; then
> -             echo "Your platform has some specific hints for large file builds, 
> using them..."
> +    echo "Your platform has some specific hints regarding large file builds, using 
> them..."
>               . ./uselargefiles.cbu
> +    fi
> +case "$uselargefiles" in
> +    "$define")
> +     if $test -f uselargefiles.cbu; then
>               echo " "
>               echo "Rechecking to see how big your file offsets are..." >&4
>               $cat >try.c <<EOCP
> --- hints/solaris_2.sh        2003-10-27 18:28:33.000000000 +0100
> +++ hints/solaris_2.sh        2003-11-01 15:21:43.000000000 +0100
> @@ -448,15 +448,12 @@
>               exit 1
>               ;;
>           esac
> -         ;;
> -esac
> +
>  # gcc-2.8.1 on Solaris 8 with -Duse64bitint fails op/pat.t test 822
>  # if we compile regexec.c with -O.  Turn off optimization for that one
>  # file.  See hints/README.hints , especially 
>  # =head2 Propagating variables to config.sh, method 3.
>  #  A. Dougherty  May 24, 2002
> -case "$use64bitint" in
> -"$define")
>      case "${gccversion}-${optimize}" in
>      2.8*-O*)
>       # Honor a command-line override (rather unlikely)
> End-of-patch
> 
> -- 
> H.Merijn Brand        Amsterdam Perl Mongers (http://amsterdam.pm.org/)
> using perl-5.6.1, 5.8.0 & 633 on HP-UX 10.20 & 11.00, AIX 4.2, AIX 4.3,
>   WinNT 4, Win2K pro & WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
> http://archives.develooper.com/[EMAIL PROTECTED]/   [EMAIL PROTECTED]
> send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org

-- 
H.Merijn Brand        Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on  HP-UX 10.20 & 11.00, 11i,
   AIX 4.3, SuSE 8.2, and Win2k.           http://www.cmve.net/~merijn/
http://archives.develooper.com/[EMAIL PROTECTED]/   [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org

Reply via email to