llvm/autoconf
Reid Spencer 755bcf086d For PR619:
Make any header files that are automatically generated be preconditions of
the compilation. This ensures that if a *.h.in file is changed then its
corresponding *.h file gets updated on the next rebuild. Note that this can
lead to confusing (but correct) results if the *.h.in file changed
unsubstantially so that autoheader doesn't update the *.h file. In that case,
manually touch the *.h file in question to restore order. Moral of the story,
if you're going to "touch" a *.in file then modify it substantially.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23006 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-24 10:43:10 +00:00
..
m4 Get rid of bash specific syntax for variable dereferencing, replacing it 2005-07-25 20:25:08 +00:00
.cvsignore Ignore generated files 2004-12-22 01:49:53 +00:00
AutoRegen.sh Get rid of old automake stuff 2004-12-22 05:56:41 +00:00
config.guess Update to latest versions of config.guess and config.sub from 2004-09-10 19:20:06 +00:00
config.sub Update to latest versions of config.guess and config.sub from 2004-09-10 19:20:06 +00:00
configure.ac For PR619: 2005-08-24 10:43:10 +00:00
depcomp Ensure timestamp on saved contents of configure.ac is not changed. 2004-10-10 19:09:33 +00:00
install-sh Ensure timestamp on saved contents of configure.ac is not changed. 2004-10-10 19:09:33 +00:00
LICENSE.TXT
ltmain.sh Fix a bug in libtool's ltmain.sh. On Cygwin the "$output.exp" expression 2004-12-24 00:15:20 +00:00
missing Ensure timestamp on saved contents of configure.ac is not changed. 2004-10-10 19:09:33 +00:00
mkinstalldirs Really get mkinstalldirs to shut up about what its doing .. who cares? 2004-10-26 05:49:38 +00:00
README.TXT Fix a bug in libtool's ltmain.sh. On Cygwin the "$output.exp" expression 2004-12-24 00:15:20 +00:00

Upgrading Libtool
===============================================================================

If you are in the mood to upgrade libtool, you must do the following:

 1. Get the new version of libtool and put it in <SRC>
 2. configure/build/install libtool with --prefix=<PFX>
 3. Copy <SRC>/ltdl.m4 to llvm/autoconf/m4
 4. Copy <PFX>/share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4
 5. Copy <PFX>/share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh
 6. Run sed -e 's/output.exp/outputname.exp/g' on ltmain.sh
 7. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System
 8. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System
 9. Adjust the llvm/autoconf/m4/libtool.m4 file to ensure that the variable
    default_ofile is set to "mklib" instead of "libtool"
10. Run "autoupdate libtool.m4 ltdl.m4" in the llvm/autoconf/m4 directory.
    This should correctly update the macro definitions in the libtool m4 
    files to match the version of autoconf that LLVM uses. This converts
    AC_HELP_STRING to AS_HELP_STRING and AC_TRY_LINK to AC_LINK_IFELSE, amongst
    other things. You may need to manually adjust the files.
11. Run AutoRegen.sh to get the new macros into configure script
12. If there are any warnings from configure, go to step 9.
13. Rebuild LLVM, making sure it reconfigured
14. Test the JIT which uses libltdl
15. If it all works, only THEN commit the changes.

Upgrading autoconf
===============================================================================

If you are in the mood to upgrade autoconf, you should:

 1. Consider not upgrading.
 2. No really, this is a hassle, you don't want to do it.
 3. Get the new version of autoconf and put it in <SRC>
 4. configure/build/install autoconf with --prefix=<PFX>
 5. Run autoupdate on all the m4 macros in llvm/autoconf/m4
 6. Run autoupdate on llvm/autoconf/configure.ac
 7. Regenerate configure script with AutoRegen.sh
 8. If there are any warnings from autoconf, fix them and go to step 7.
 9. Test, test, test.