configure.in 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. dnl jpegoptim
  2. dnl
  3. dnl Process this file with autoconf to produce a configure script.
  4. AC_INIT
  5. AC_CONFIG_SRCDIR([jpegoptim.c])
  6. AC_CONFIG_HEADER(config.h)
  7. AC_CONFIG_AUX_DIR(tools)
  8. AC_CANONICAL_HOST
  9. HOST_TYPE=$host
  10. AC_DEFINE_UNQUOTED(HOST_TYPE,"$host")
  11. dnl Checks for programs.
  12. AC_PROG_CC
  13. AC_PROG_INSTALL
  14. AC_PROG_MAKE_SET
  15. AC_ARG_WITH(libjpeg, [ --with-libjpeg=DIR libjpeg is installed in ],
  16. [if test $withval != yes; then
  17. jpeginfo_cv_libjpeg=$withval
  18. fi
  19. if test -d "${jpeginfo_cv_libjpeg}/lib"; then
  20. LDFLAGS="-L${jpeginfo_cv_libjpeg}/lib $LDFLAGS"
  21. CPPFLAGS="$CPPFLAGS -I${jpeginfo_cv_libjpeg}/include"
  22. else
  23. LDFLAGS="-L${jpeginfo_cv_libjpeg} $LDFLAGS"
  24. CPPFLAGS="$CPPFLAGS -I${jpeginfo_cv_libjpeg}"
  25. fi])
  26. arith_code=0
  27. AC_ARG_WITH(arith, [ --with-arith Enable arithmetic coding support ],
  28. [
  29. if test $withval == yes; then
  30. arith_code=1
  31. fi
  32. ])
  33. dnl Checks for libraries.
  34. AC_CHECK_LIB(jpeg, jpeg_read_header, ,[
  35. echo "Cannot find libjpeg or you have too old version (v6 or later required)."
  36. exit 1
  37. ])
  38. dnl AC_CHECK_LIB(m, round)
  39. AC_CHECK_LIB(m, floor)
  40. dnl Checks for header files.
  41. AC_HEADER_STDC
  42. AC_CHECK_HEADERS(unistd.h getopt.h string.h libgen.h math.h fcntl.h sys/wait.h)
  43. AC_CHECK_HEADERS(jpeglib.h,,[
  44. echo "Cannot find jpeglib.h You need libjpeg v6 (or later)."
  45. exit 1
  46. ])
  47. dnl Checks for typedefs, structures, and compiler characteristics.
  48. AC_CHECK_SIZEOF(long)
  49. AC_CHECK_SIZEOF(int)
  50. dnl Checks for library functions.
  51. AC_CHECK_FUNCS(getopt_long, break, [GNUGETOPT="getopt.o getopt1.o"])
  52. AC_SUBST(GNUGETOPT)
  53. AC_CHECK_FUNCS(mkstemps)
  54. AC_CHECK_FUNCS(labs)
  55. AC_CHECK_FUNCS(fileno)
  56. AC_CHECK_FUNCS(utimensat)
  57. AC_CHECK_FUNCS(fork)
  58. AC_CHECK_FUNCS(wait)
  59. AC_CHECK_MEMBERS([struct stat.st_mtim])
  60. dnl own tests
  61. AC_MSG_CHECKING([for broken jmorecfg.h (METHODDEF)])
  62. AC_CACHE_VAL(jpeginfo_cv_broken_methoddef,
  63. [AC_RUN_IFELSE([AC_LANG_SOURCE([[
  64. #include <stdio.h>
  65. #include <jpeglib.h>
  66. METHODDEF(void) foo(void) { };
  67. int main(void)
  68. {
  69. return 0;
  70. }]])],[jpeginfo_cv_broken_methoddef=no],[jpeginfo_cv_broken_methoddef=yes],[jpeginfo_cv_broken_methoddef=no])])
  71. if test $jpeginfo_cv_broken_methoddef = yes; then
  72. AC_DEFINE(BROKEN_METHODDEF)
  73. fi
  74. AC_MSG_RESULT($jpeginfo_cv_broken_methoddef)
  75. AC_MSG_CHECKING([Arithmetic Coding support in JPEG library])
  76. AC_CACHE_VAL(jpegoptim_cv_arith_code_support,
  77. [AC_RUN_IFELSE([AC_LANG_SOURCE([[
  78. #include <stdio.h>
  79. #include <jpeglib.h>
  80. int main(void)
  81. {
  82. struct jpeg_compress_struct cinfo;
  83. cinfo.arith_code=TRUE;
  84. return 0;
  85. }
  86. ]])],[jpegoptim_cv_arith_code_support=yes],[jpegoptim_cv_arith_code_support=no],[jpegoptim_cv_arith_code_support=no])])
  87. if test $arith_code == 1 -a $jpegoptim_cv_arith_code_support = yes; then
  88. arith_code_status="Enabled"
  89. AC_DEFINE(HAVE_ARITH_CODE)
  90. else
  91. arith_code_status="Disabled"
  92. fi
  93. AC_MSG_RESULT($jpegoptim_cv_arith_code_support)
  94. AC_MSG_CHECKING([Extension settings in JPEG library])
  95. AC_CACHE_VAL(jpegoptim_cv_extension_settings,
  96. [AC_RUN_IFELSE([AC_LANG_SOURCE([[
  97. #include <stdio.h>
  98. #include <jpeglib.h>
  99. int main(void)
  100. {
  101. struct jpeg_compress_struct cinfo;
  102. if (jpeg_c_int_param_supported(&cinfo, JINT_DC_SCAN_OPT_MODE))
  103. jpeg_c_set_int_param(&cinfo, JINT_DC_SCAN_OPT_MODE, 1);
  104. return 0;
  105. }
  106. ]])],[jpegoptim_cv_extension_settings=yes],[jpegoptim_cv_extension_settings=no],[jpegoptim_cv_extension_settings=no])])
  107. if test $jpegoptim_cv_extension_settings = yes; then
  108. extension_settings_status="Present"
  109. AC_DEFINE(HAVE_JINT_DC_SCAN_OPT_MODE)
  110. else
  111. extension_settings_status="Absent"
  112. fi
  113. AC_MSG_RESULT($jpegoptim_cv_extension_settings)
  114. echo "--------------------------------------------------"
  115. echo "Extension settings: $extension_settings_status"
  116. echo "Arithmetic coding: $arith_code_status"
  117. if test $arith_code == 0 -a "$jpegoptim_cv_arith_code_support" == "yes"; then
  118. echo "(use --with-arith to enable Arithmetic coding support)"
  119. fi
  120. echo "--------------------------------------------------"
  121. AC_CONFIG_FILES([Makefile])
  122. AC_OUTPUT