On Tue 04 Nov 2003 15:50, H.Merijn Brand <[EMAIL PROTECTED]> wrote: > 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
Change 21709 by [EMAIL PROTECTED] on 2003/11/12 14:35:54 Callback units are called always from now on, disregarding the state of the option it is created for. This will enable us to create call-backs in the hints that can act upon a state variable *not* being set. Affected files ... ... //depot/metaconfig/U/perl/uselfs.U#18 edit ... //depot/metaconfig/U/perl/uselongdbl.U#12 edit ... //depot/metaconfig/U/threads/usethreads.U#16 edit Differences ... ==== //depot/metaconfig/U/perl/uselfs.U#18 (text) ==== 94,95d93 < case "$uselargefiles" in < "$define") 98a97,102 > if $test -f uselargefiles.cbu; then > echo "Your platform has some specific hints regarding large file builds, using > them..." > . ./uselargefiles.cbu > fi > case "$uselargefiles" in > "$define") 100,101d103 < echo "Your platform has some specific hints for large file builds, using them..." < . ./uselargefiles.cbu ==== //depot/metaconfig/U/perl/uselongdbl.U#12 (text) ==== 57,58d56 < case "$uselongdouble" in < $define) 62,65c60,65 < if $test -f uselongdouble.cbu; then < echo "Your platform has some specific hints for long doubles, using them..." < . ./uselongdouble.cbu < else --- > if $test -f uselongdouble.cbu; then > echo "Your platform has some specific hints regarding long doubles, using > them..." > . ./uselongdouble.cbu > else > case "$uselongdouble" in > $define) 67c67 < (Your platform doesn't have any specific hints for long doubles.) --- > (Your platform does not have any specific hints for long doubles.) 69d68 < fi 71c70,71 < esac --- > esac > fi ==== //depot/metaconfig/U/threads/usethreads.U#16 (text) ==== 199,200d198 < case "$usethreads" in < "$define"|true|[yY]*) 204,207c202,207 < if $test -f usethreads.cbu; then < echo "Your platform has some specific hints for threaded builds, using them..." < . ./usethreads.cbu < else --- > if $test -f usethreads.cbu; then > echo "Your platform has some specific hints regarding threaded builds, using > them..." > . ./usethreads.cbu > else > case "$usethreads" in > "$define"|true|[yY]*) 209c209 < (Your platform doesn't have any specific hints for threaded builds. --- > (Your platform does not have any specific hints for threaded builds. 212d211 < fi 214c213,214 < esac --- > esac > fi > > 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 -- 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