libFLAC.m4 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # Configure paths for libFLAC
  2. # "Inspired" by ogg.m4
  3. dnl AM_PATH_LIBFLAC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
  4. dnl Test for libFLAC, and define LIBFLAC_CFLAGS, LIBFLAC_LIBS, LIBFLAC_LIBDIR
  5. dnl
  6. AC_DEFUN([AM_PATH_LIBFLAC],
  7. [dnl
  8. dnl Get the cflags and libraries
  9. dnl
  10. AC_ARG_WITH(libFLAC,[ --with-libFLAC=PFX Prefix where libFLAC is installed (optional)], libFLAC_prefix="$withval", libFLAC_prefix="")
  11. AC_ARG_WITH(libFLAC-libraries,[ --with-libFLAC-libraries=DIR Directory where libFLAC library is installed (optional)], libFLAC_libraries="$withval", libFLAC_libraries="")
  12. AC_ARG_WITH(libFLAC-includes,[ --with-libFLAC-includes=DIR Directory where libFLAC header files are installed (optional)], libFLAC_includes="$withval", libFLAC_includes="")
  13. AC_ARG_ENABLE(libFLACtest, [ --disable-libFLACtest Do not try to compile and run a test libFLAC program],, enable_libFLACtest=yes)
  14. if test "x$libFLAC_libraries" != "x" ; then
  15. LIBFLAC_LIBS="-L$libFLAC_libraries"
  16. elif test "x$libFLAC_prefix" = "xno" || test "x$libFLAC_prefix" = "xyes" ; then
  17. LIBFLAC_LIBS=""
  18. elif test "x$libFLAC_prefix" != "x" ; then
  19. LIBFLAC_LIBS="-L$libFLAC_prefix/lib"
  20. elif test "x$prefix" != "xNONE"; then
  21. LIBFLAC_LIBS="-L$prefix/lib"
  22. fi
  23. if test "x$libFLAC_prefix" != "xno" ; then
  24. LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC $OGG_LIBS -lm"
  25. fi
  26. if test "x$libFLAC_includes" != "x" ; then
  27. LIBFLAC_CFLAGS="-I$libFLAC_includes"
  28. elif test "x$libFLAC_prefix" != "x" ; then
  29. LIBFLAC_CFLAGS="-I$libFLAC_prefix/include"
  30. elif test "$prefix" != "xNONE"; then
  31. LIBFLAC_CFLAGS=""
  32. fi
  33. AC_MSG_CHECKING(for libFLAC)
  34. no_libFLAC=""
  35. if test "x$enable_libFLACtest" = "xyes" ; then
  36. ac_save_CFLAGS="$CFLAGS"
  37. ac_save_CXXFLAGS="$CXXFLAGS"
  38. ac_save_LIBS="$LIBS"
  39. ac_save_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
  40. CFLAGS="$CFLAGS $LIBFLAC_CFLAGS"
  41. CXXFLAGS="$CXXFLAGS $LIBFLAC_CFLAGS"
  42. LIBS="$LIBS $LIBFLAC_LIBS"
  43. LD_LIBRARY_PATH="$LIBFLAC_LIBDIR:$LD_LIBRARY_PATH"
  44. dnl
  45. dnl Now check if the installed libFLAC is sufficiently new.
  46. dnl
  47. rm -f conf.libFLACtest
  48. AC_TRY_RUN([
  49. #include <stdio.h>
  50. #include <stdlib.h>
  51. #include <string.h>
  52. #include <FLAC/format.h>
  53. int main ()
  54. {
  55. system("touch conf.libFLACtest");
  56. return 0;
  57. }
  58. ],, no_libFLAC=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
  59. CFLAGS="$ac_save_CFLAGS"
  60. CXXFLAGS="$ac_save_CXXFLAGS"
  61. LIBS="$ac_save_LIBS"
  62. LD_LIBRARY_PATH="$ac_save_LD_LIBRARY_PATH"
  63. fi
  64. if test "x$no_libFLAC" = "x" ; then
  65. AC_MSG_RESULT(yes)
  66. ifelse([$1], , :, [$1])
  67. else
  68. AC_MSG_RESULT(no)
  69. if test -f conf.libFLACtest ; then
  70. :
  71. else
  72. echo "*** Could not run libFLAC test program, checking why..."
  73. CFLAGS="$CFLAGS $LIBFLAC_CFLAGS"
  74. CXXFLAGS="$CXXFLAGS $LIBFLAC_CFLAGS"
  75. LIBS="$LIBS $LIBFLAC_LIBS"
  76. LD_LIBRARY_PATH="$LIBFLAC_LIBDIR:$LD_LIBRARY_PATH"
  77. AC_TRY_LINK([
  78. #include <stdio.h>
  79. #include <FLAC/format.h>
  80. ], [ return 0; ],
  81. [ echo "*** The test program compiled, but did not run. This usually means"
  82. echo "*** that the run-time linker is not finding libFLAC or finding the wrong"
  83. echo "*** version of libFLAC. If it is not finding libFLAC, you'll need to set your"
  84. echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
  85. echo "*** to the installed location Also, make sure you have run ldconfig if that"
  86. echo "*** is required on your system"
  87. echo "***"
  88. echo "*** If you have an old version installed, it is best to remove it, although"
  89. echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
  90. [ echo "*** The test program failed to compile or link. See the file config.log for the"
  91. echo "*** exact error that occured. This usually means libFLAC was incorrectly installed"
  92. echo "*** or that you have moved libFLAC since it was installed. In the latter case, you"
  93. echo "*** may want to edit the libFLAC-config script: $LIBFLAC_CONFIG" ])
  94. CFLAGS="$ac_save_CFLAGS"
  95. CXXFLAGS="$ac_save_CXXFLAGS"
  96. LIBS="$ac_save_LIBS"
  97. LD_LIBRARY_PATH="$ac_save_LD_LIBRARY_PATH"
  98. fi
  99. LIBFLAC_CFLAGS=""
  100. LIBFLAC_LIBDIR=""
  101. LIBFLAC_LIBS=""
  102. ifelse([$2], , :, [$2])
  103. fi
  104. AC_SUBST(LIBFLAC_CFLAGS)
  105. AC_SUBST(LIBFLAC_LIBDIR)
  106. AC_SUBST(LIBFLAC_LIBS)
  107. rm -f conf.libFLACtest
  108. ])