llvm/autoconf
Bob Wilson ae7e2a4bbb Add an optional separate install prefix for internal components. rdar://10217046
Some files installed by clang are not relevant for general users and we'd like
to be able to install them to a different location.  This adds a new
--with-internal-prefix configure option and a corresponding PROJ_internal_prefix
makefile variable, which defaults to the standard prefix.  A tool makefile
can specify that it should be installed to this internal prefix by defining
INTERNAL_TOOL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145234 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 07:59:52 +00:00
..
m4 Handle newer cases for freebsd which is approaching 10.0 and not 1.0. 2011-10-26 00:42:12 +00:00
AutoRegen.sh Leave a pointer to the documentation so that people don't end up change one but 2009-09-27 04:57:35 +00:00
config.guess Update config.sub, config.guess and configure. 2011-08-23 06:43:49 +00:00
config.sub Update config.sub, config.guess and configure. 2011-08-23 06:43:49 +00:00
configure.ac Add an optional separate install prefix for internal components. rdar://10217046 2011-11-28 07:59:52 +00:00
depcomp Ensure timestamp on saved contents of configure.ac is not changed. 2004-10-10 19:09:33 +00:00
ExportMap.map fix PR5954, patch by Roman Divacky. 2010-02-24 22:33:41 +00:00
install-sh Set the executable bit - means it can actually 2008-07-29 18:31:42 +00:00
LICENSE.TXT Adding additional license information to these files. 2003-10-13 20:34:27 +00:00
ltmain.sh Handle newer cases for freebsd which is approaching 10.0 and not 1.0. 2011-10-26 00:42:12 +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 Update the auto* tools: autoconf 2.60, libtool 1.5.22, automake 1.9.6. 2006-08-04 18:18:08 +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. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System
 7. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System
 8. Edit the ltdl.h file to #include "llvm/Config/config.h" at the very top. You
    might also need to resolve some compiler warnings (typically about
    comparison of signed vs. unsigned values). But, you won't find out about 
    those until you build LLVM (step 13).
 9. Edit the llvm/autoconf/m4/libtool.m4 file so that:
    a) in AC_PROB_LIBTOOL macro, the value of LIBTOOL is set to
       $(top_builddir)/mklib, not $(top_builddir)/libtool
    b) in AC_LIBTOOL_SETUP macro, the variable default_ofile is set to 
       "mklib" instead of "libtool"
    c) s/AC_ENABLE_SHARED_DEFAULT/enable_shared_default/g
    d) s/AC_ENABLE_STATIC_DEFAULT/enable_static_default/g
    e) s/AC_ENABLE_FAST_INSTALL_DEFAULT/enable_fast_install_default/g
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 AutoRegen.sh, go to step 9.
13. Rebuild LLVM, making sure it reconfigures
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 AutoRegen.sh, fix them and go to step 7.
 9. Test, test, test.