Hi!

        I'm starting to use autoconf now for our own developments, and found
two small problems when using autoconf in our development environment. 

The first one is that (as we share a lot of data, including all the
$prefix/share tree) we choose not to install frozen M4 files as they are
architecture dependant but installed in $prefix/share... One solution could
be to install these in $exec_prefix/share but the runtime benefit is so
small that I simply install only non-frozen m4 files. The first part of the
patch below just allow autoconf to use unfrozen m4 files if it cannot find
the frozen m4f files.

The second one is that usually developers have only read-only versions of
the files they use (in fact symbolic links to some shared area); they must
explicitely check-out files (we use RCS) to be able to modify them. Thus
when changing configure.in, they must also check-out configure, something
they very often forget. Moreover this break automatic rebuilds. The second
part of the patch just rename the original output file (as $outfile.bak)
before trying to overwrite it.

The Changelog:

2000-09-08      Bernard Dautrevaux <[EMAIL PROTECTED]>

        * autoconf.sh : Allow to use "autoconf.m4" if "autoconf.m4f" is not
found.
        Also removes the output file before creating it, in case it is
read-only.

The patch:

diff -c2 autoconf.sh.orig autoconf.sh
*** autoconf.sh.orig    Fri Sep  8 20:46:18 2000
--- autoconf.sh Fri Sep  8 20:57:42 2000
***************
*** 257,261 ****
  m4_common="$acsite_m4 $aclocal_m4 -I $autoconf_dir -I $localdir"
  run_m4="$M4           $autoconf_dir/autoconf.m4  $m4_common"
! run_m4f="$M4 --reload $autoconf_dir/autoconf.m4f $m4_common"
  
  # Find the input file.
--- 257,265 ----
  m4_common="$acsite_m4 $aclocal_m4 -I $autoconf_dir -I $localdir"
  run_m4="$M4           $autoconf_dir/autoconf.m4  $m4_common"
! if [ -r $autoconf_dir/autoconf.m4f ]; then
!     run_m4f="$M4 --reload $autoconf_dir/autoconf.m4f $m4_common"
! else
!     run_m4f="$run_m4"
! fi
  
  # Find the input file.
***************
*** 287,290 ****
--- 291,296 ----
    exec 4>&1 ;;
   * )
+   # first delete outfile so that we have no error if read-only
+   rm -f $outfile
    exec 4>$outfile;;
  esac

I hope I do not make some crude error in this :-)

Regards,

        Bernard

PS: This time I get access to CVS so the patch is against CVS autoconf :-)

--------------------------------------------
Bernard Dautrevaux
Microprocess Ingenierie
97 bis, rue de Colombes
92400 COURBEVOIE
FRANCE
Tel:    +33 (0) 1 47 68 80 80
Fax:    +33 (0) 1 47 88 97 85
e-mail: [EMAIL PROTECTED]
                [EMAIL PROTECTED]
-------------------------------------------- 

Reply via email to