dpkg-linker.m4 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
  2. # Copyright © 2010, 2014, 2016 Guillem Jover <guillem@debian.org>
  3. # DPKG_LINKER_OPTIMIZATIONS
  4. # -------------------------
  5. # Add configure option to disable linker optimizations.
  6. AC_DEFUN([DPKG_LINKER_OPTIMIZATIONS], [
  7. AC_ARG_ENABLE([linker-optimizations],
  8. [AS_HELP_STRING([--disable-linker-optimizations],
  9. [Disable (detected) linker optimizations])],
  10. [], [enable_linker_optimizations=yes])
  11. AS_IF([test "x$enable_linker_optimizations" = "xno"], [
  12. LDFLAGS=$(echo "$LDFLAGS" | sed -e "s/ -Wl,-O[[0-9]]*\b//g")
  13. ], [
  14. save_LDFLAGS=$LDFLAGS
  15. LDFLAGS="$LDFLAGS -Wl,-O1"
  16. AC_LINK_IFELSE([
  17. AC_LANG_PROGRAM([[]], [[]])
  18. ], [], [
  19. LDFLAGS="$save_LDFLAGS"
  20. ])
  21. ])
  22. ])
  23. # DPKG_LINKER_AS_NEEDED
  24. # ---------------------
  25. AC_DEFUN([DPKG_LINKER_AS_NEEDED], [
  26. AC_CACHE_CHECK([for --as-needed linker flag], [dpkg_cv_linker_as_needed], [
  27. save_LDFLAGS=$LDFLAGS
  28. LDFLAGS="$LDFLAGS -Wl,--as-needed"
  29. AC_LINK_IFELSE([
  30. AC_LANG_PROGRAM([], [])
  31. ], [
  32. dpkg_cv_linker_as_needed=yes
  33. ], [
  34. dpkg_cv_linker_as_needed=no
  35. ])
  36. LDFLAGS="$save_LDFLAGS"
  37. ])
  38. AM_CONDITIONAL([HAVE_LINKER_AS_NEEDED],
  39. [test "x$dpkg_cv_linker_as_needed" = "xyes"])
  40. ])
  41. # DPKG_LINKER_VERSION_SCRIPT
  42. # --------------------------
  43. AC_DEFUN([DPKG_LINKER_VERSION_SCRIPT], [
  44. AC_CACHE_CHECK([for --version-script linker flag], [dpkg_cv_version_script], [
  45. echo "{ global: symbol; local: *; };" >conftest.map
  46. save_LDFLAGS=$LDFLAGS
  47. LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
  48. AC_LINK_IFELSE([
  49. AC_LANG_PROGRAM([], [])
  50. ], [
  51. dpkg_cv_version_script=yes
  52. ], [
  53. dpkg_cv_version_script=no
  54. ])
  55. LDFLAGS="$save_LDFLAGS"
  56. rm -f conftest.map
  57. ])
  58. AM_CONDITIONAL([HAVE_LINKER_VERSION_SCRIPT],
  59. [test "x$dpkg_cv_version_script" = "xyes"])
  60. ])