forked from OSchip/llvm-project
e08af303a6
NOTE: 2nd part changeset for cfe trunk to follow. *** PRE-PATCH ISSUES ADDRESSED - clang api docs fail build from objdir - clang/llvm api docs collide in install PREFIX/ - clang/llvm main docs collide in install - clang/llvm main docs have full of hard coded destination assumptions and make use of absolute root in static html files; namely CommandGuide tools hard codes a website destination for cross references and some html cross references assume website root paths *** IMPROVEMENTS - bumped Doxygen from 1.4.x -> 1.6.3 - splits llvm/clang docs into 'main' and 'api' (doxygen) build trees - provide consistent, reliable doc builds for both main+api docs - support buid vs. install vs. website intentions - support objdir builds - document targets with 'make help' - correct clean and uninstall operations - use recursive dir delete only where absolutely necessary - added call function fn.RMRF which safeguards against botched 'rm -rf'; if any target (or any variable is evaluated) which attempts to remove any dirs which match a hard-coded 'safelist', a verbose error will be printed and make will error-stop. llvm-svn: 103213 |
||
---|---|---|
.. | ||
m4 | ||
AutoRegen.sh | ||
ExportMap.map | ||
LICENSE.TXT | ||
README.TXT | ||
config.guess | ||
config.sub | ||
configure.ac | ||
depcomp | ||
install-sh | ||
ltmain.sh | ||
missing | ||
mkinstalldirs |
README.TXT
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.