Convert MachOObjectFile to a template.
[oota-llvm.git] / autoconf / README.TXT
index 4deacf244e19f3a992f105d17a876adbab6478e0..3dabdf7b8793e8f5565a38bf832c41b470521062 100644 (file)
@@ -8,19 +8,28 @@ If you are in the mood to upgrade libtool, you must do the following:
  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
  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"
+ 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
 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
+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.
 
 14. Test the JIT which uses libltdl
 15. If it all works, only THEN commit the changes.
 
@@ -36,5 +45,5 @@ If you are in the mood to upgrade autoconf, you should:
  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
  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.
+ 8. If there are any warnings from AutoRegen.sh, fix them and go to step 7.
  9. Test, test, test.
  9. Test, test, test.