Edit

kc3-lang/automake/HACKING

Branch :

  • Show log

    Commit

  • Author : Tom Tromey
    Date : 2001-07-17 05:53:49
    Hash : 1c4a810c
    Message : Report from Motoyuki Kasahara: * tests/make.test: Use am__include. * tests/exsource.test: Use am__include. * m4/make.m4 (AM_MAKE_INCLUDE): Use am__include and am__quote. * automake.in (handle_languages): Use am__include and am__quote.

  • HACKING
  • ================================================================
    = This file
    
    * This file attempts to describe the rules to use when hacking
      automake.
    
    * Don't put this file into the distribution.  Don't mention it in the
      ChangeLog.
    
    
    ================================================================
    = Administrivia
    
    * If you incorporate a change from somebody on the net:
      First, if it is a large change, you must make sure they have signed the
      appropriate paperwork.
      Second, be sure to add their name and email address to THANKS
    
    * If a change fixes a test, mention the test in the ChangeLog entry.
    
    * If somebody reports a new bug, mention his name in the ChangeLog entry
      and in the test case you write.  Put him into THANKS.
    
    * The correct response to most actual bugs is to write a new test case
      which demonstrates the bug.  Then fix the bug, re-run the test suite,
      and check everything in.
    
    * Some files in the automake package are not owned by automake.  These
      files should never be edited here.  These files are COPYING, INSTALL,
      ansi2knr.1, ansi2knr.c, config.guess config.sub, install-sh, mdate-sh,
      missing, mkinstalldirs, texinfo.tex
    
    * Changes other than bug fixes must be mentioned in NEWS
    
    
    ================================================================
    = Naming
    
    * We've adopted the convention that internal AC_SUBSTs should be
      named with a leading `am__', and internally generated targets should
      be named with a leading `am--'.  This convention is very new
      (as of Feb 7 2001) and so it isn't yet universally used.  But all
      new code should use it.
    
      We used to use `_am_' as the prefix for an internal AC_SUBST.
      However, it turns out that NEWS-OS 4.2R complains if a Makefile
      variable begins with `_'.  Yay for them.  I changed the target
      naming convention just to be safe.
    
    ================================================================
    = Editing `.am' files
    
    * Always use $(...) and not ${...}
    
    * Use `:', not `true'.  Use `exit 1', not `false'.
    
    * Use `##' comments liberally.  Comment anything even remotely
      unusual.
    
    * Never use basename or dirname.  Instead use sed
    
    * If you run `cd' within back-quotes, make sure you set `CDPATH=:',
      otherwise the directory name may be printed, depending on CDPATH.
    
    * For install and uninstall rules, if a loop is required, it should be
      silent.  Then the body of the loop itself should print each
      "important" command it runs.  The printed commands should be preceded
      by a single space.
    
    
    ================================================================
    = Editing automake.in and aclocal.in
    
    * Follow existing indentation style.
    
    * Perl 5 is now OK.
    
    
    ================================================================
    = Test suite
    
    * Use "make check" and "make maintainer-check" liberally
    
    * Make sure each test file is executable
    
    
    ================================================================
    = Release procedure
    
    * Fetch new versions of the files that are maintained by the FSF.
      Commit.  Unfortunately you need an FSF account to do this.
      (You can also use `make fetch', but that is still woefully incomplete.)
    
    * Update NEWS.  For an alpha release, update README-alpha.
    
    * Update the version number in configure.in.
      (The idea is that every other alpha number will be a net release.
      The repository will always have its own "odd" number so we can easily
      distinguish net and repo versions.)
    
    * Configure, build, and install.
    
    * Run aclocal, automake, and autoconf.
    
    * Commit
    
    * Run `make cvs-dist'
    
    * Put new release on ftp site and send announcement.
      (If not an alpha, announcement must also go to FSF.)
    
    * Update version number in configure.in to next alpha number.
      Re-run autoconf and commit.