X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=autoconf%2FREADME.TXT;h=3dabdf7b8793e8f5565a38bf832c41b470521062;hb=5a6a65be468b23fb345211658d935a297fc29245;hp=59724a441b93bcad4a57132dac08f196ff972050;hpb=b3a734a5342a49688f3cc3345c26dd6b4e866b7e;p=oota-llvm.git diff --git a/autoconf/README.TXT b/autoconf/README.TXT index 59724a441b9..3dabdf7b879 100644 --- a/autoconf/README.TXT +++ b/autoconf/README.TXT @@ -1,12 +1,49 @@ Upgrading Libtool ------------------ +=============================================================================== If you are in the mood to upgrade libtool, you must do the following: -1. configure/build/install libtool with --prefix= -2. Copy /share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4 -3. Copy /share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh -4. Adjust the llvm/autoconf/m4/libtool.m4 file to ensure that the variable - default_ofile is set to "mklib" instead of "libtool" -5. Possibly adjust llvm/autoconf/m4/libtool.m4 to get rid of autoconf - warnings related to obsolete autconf features (e.g. AC_TRY_LINK) + 1. Get the new version of libtool and put it in + 2. configure/build/install libtool with --prefix= + 3. Copy /ltdl.m4 to llvm/autoconf/m4 + 4. Copy /share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4 + 5. Copy /share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh + 6. Copy /share/libtool/libltdl/ltdl.c to llvm/lib/System + 7. Copy /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 + 4. configure/build/install autoconf with --prefix= + 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.