forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			50 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 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.
 |