configure.in
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:7k
源码类别:

SNMP编程

开发平台:

C/C++

  1. AC_INIT(src/rateup.c)
  2. dnl Check for programs.
  3. AC_PROG_CC
  4. AC_PREFIX_DEFAULT( /usr/local/mrtg-2 )
  5. AC_PROG_CPP
  6. AC_PROG_MAKE_SET
  7. AC_PROG_INSTALL
  8. AC_PATH_PROG(PERL, perl, no, $PATH:/usr/bin:/usr/local/bin)
  9. if test $PERL = no; then 
  10.    echo
  11.    echo "** No Perl found in the PATH. A recent copy of Perl"
  12.    echo "   is required for mrtg to work. Check www.perl.com"
  13.    echo 
  14.    exit 1
  15. fi
  16. AC_PATH_PROGS(NROFF, groff nroff)
  17. dnl Check for long long type (64 bit rateup)
  18. AC_CHECK_HEADERS(inttypes.h)
  19. AC_CHECK_TYPE(unsigned long long)
  20. AC_CHECK_TYPE(long long)
  21. AC_CHECK_FUNCS(strtoll)
  22. # Taken from libIDL-0.8.2
  23. AC_MSG_CHECKING([for printf long long format specifier])
  24. AC_CACHE_VAL(long_long_format_specifier,[
  25.     for format in ll l q I64; do
  26.         AC_TRY_RUN([#include <stdio.h>  
  27.             int main()
  28.             {
  29.                 long long b, a = -0x3AFAFAFAFAFAFAFALL;
  30.                 char buffer[1000];
  31.                 sprintf (buffer, "%${format}u", a);
  32.                 sscanf (buffer, "%${format}u", &b);
  33.                 exit (b!=a);
  34.             }
  35.             ],
  36.             long_long_format_specifier="%${format}d"
  37.             long_long_format="${format}d"
  38.             break)
  39.         done])
  40. AC_MSG_RESULT($long_long_format_specifier)
  41. AC_DEFINE_UNQUOTED(LLD, "$long_long_format_specifier",
  42.     [How to print a long long])
  43. AC_DEFINE_UNQUOTED(LLD_FORMAT, "$long_long_format",
  44.     [long long format without % specifier])
  45. AH_BOTTOM(
  46. #ifndef HAVE_STRTOLL     
  47. long long int strtoll(const char *str, char **ptr, int base)
  48. {
  49.         long long int ll;
  50.         sscanf(str, LLD, &ll);
  51.         return ll;
  52. }
  53. #endif
  54. )
  55. dnl Checks for libraries.
  56. AC_CHECK_LIB(m, pow, [ MATHLIBS="-lm" ])
  57. AC_ARG_WITH(gd,[  --with-gd=DIR           location of the gd lib/inc],
  58. [LDFLAGS="${LDFLAGS} -L${withval}"
  59. CPPFLAGS="${CPPFLAGS} -I${withval}"
  60. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  61. AC_ARG_WITH(gd-lib,[  --with-gd-lib=DIR       location of the gd library],
  62. [LDFLAGS="${LDFLAGS} -L${withval}"
  63. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  64. AC_ARG_WITH(gd-inc,[  --with-gd-inc=DIR       location of the gd include files],
  65. [CPPFLAGS="${CPPFLAGS} -I${withval}"])
  66. AC_ARG_WITH(z,[  --with-z=DIR            location of zlib lib/inc],
  67. [LDFLAGS="${LDFLAGS} -L${withval}"
  68. CPPFLAGS="${CPPFLAGS} -I${withval}"
  69. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  70. AC_ARG_WITH(z-lib,[  --with-z-lib=DIR        location of zlib library],
  71. [LDFLAGS="${LDFLAGS} -L${withval}"
  72. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  73. AC_ARG_WITH(z-inc,[  --with-z-inc=DIR        location of the zlib include files],
  74. [CPPFLAGS="${CPPFLAGS} -I${withval}"])
  75. AC_ARG_WITH(png,[  --with-png=DIR          location of png lib/inc],
  76. [LDFLAGS="${LDFLAGS} -L${withval}"
  77. CPPFLAGS="${CPPFLAGS} -I${withval}"
  78. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  79. AC_ARG_WITH(png-lib,[  --with-png-lib=DIR      location of png library],
  80. [LDFLAGS="${LDFLAGS} -L${withval}"
  81. LD_RUN_PATH="${withval}${LD_RUN_PATH:+:}${LD_RUN_PATH}"])
  82. AC_ARG_WITH(png-inc,[  --with-png-inc=DIR      location of the libpng include files],
  83. [CPPFLAGS="${CPPFLAGS} -I${withval}"])
  84. LIBS="${LIBS} ${MATHLIBS}"
  85. GDEXTRALIB=""
  86. dnl which version of gd do we have here ?
  87. AC_CHECK_LIB(gd,gdImageGif,[
  88.   GDFORM_EXT=gif
  89.   GLIBS="-lgd"
  90.                            ],:,[-lgd ${MATHLIBS}])
  91. AC_CHECK_LIB(gd,gdImagePng,[
  92.    GDFORM_EXT=png
  93.    GLIBS="-lgd -lpng -lz"
  94.         ],:,[-lgd -lpng -lz ${MATHLIBS}])
  95. AC_CHECK_LIB(gd,gdImagePng_jpg,[
  96.    GDFORM_EXT=png
  97.    GLIBS="-lgd -lpng -lz -ljpeg"
  98.         ],:,[-lgd -lpng -lz -ljpeg ${MATHLIBS}])
  99. AC_CHECK_LIB(gd,gdImagePng_jpg_ft,[
  100.    GDFORM_EXT=png
  101.    GLIBS="-lgd -lpng -lz -ljpeg -lfreetype"
  102.         ],:,[-lgd -lpng -lz -ljpeg -lfreetype ${MATHLIBS}])
  103. if test x$GDFORM_EXT = xgif; then
  104.   CPPFLAGS="$CPPFLAGS -DGFORM_GD=gdImageGif"
  105. fi
  106. AC_CHECK_LIB(gd,gdImageGd,[
  107.    GLIBS="-Wl,-Bstatic ${GLIBS} -Wl,-Bdynamic"
  108.         ],:,[-Wl,-Bstatic ${GLIBS} -Wl,-Bdynamic])
  109. if test x$GDFORM_EXT = xpng; then
  110.   CPPFLAGS="$CPPFLAGS -DGFORM_GD=gdImagePng"
  111. fi
  112. LIBS="${GLIBS} ${LIBS}" 
  113. dnl Make sure the header is here
  114. AC_CHECK_HEADER( gd.h,:,[ GDFORM_EXT="" ])
  115. if test x$GDFORM_EXT = x; then
  116. echo
  117. echo "** Ooops, one of many bad things happened:"
  118. echo ""
  119. echo "   a)  You don't have the GD library installed."
  120. echo "       Get it from http://www.boutell.com, compile it and"
  121. echo "       use either --with-gd-lib=DIR and --with-gd-inc=DIR to specify"
  122. echo "       its location. You might also have to use --with-z-inc,"
  123.         echo "      --with-z-lib and --with-png-inc, --with-png-lib for gd"
  124.         echo "      versions 1.6 and higher.  Check config.log for more"
  125. echo "       information on the problem."
  126. echo ""
  127. echo "   b)  You have the GD library installed, but not the gd.h"
  128. echo "       header file.  Download the source (see above) and use"
  129. echo "       --with-gd-inc=DIR to specify where the file can be found."
  130. echo ""
  131. echo "   c)  You have the library and the header file installed, but"
  132. echo "       you also have a shared GD library in the same directory. "
  133.         echo "       Remove the shared library files and/or links (e.g. "
  134. echo "       libgd.so.2.0.0, libgd.so and libgd.so.2).  This is especially"
  135.         echo "      likely if you're using a recent (post 1.8.4) version of GD"
  136. echo "       and didn't configure it with --disable-shared."
  137. echo ""
  138. echo "   d)  You have gd library installed and also it's headers, but you are"
  139. echo "       missing libpng (and headers) or freetype (and headers)"
  140. echo "       (mrtg does not use freetype, but if your copy of gd is precompiled"
  141. echo "       against it, you have to install it ... "
  142. echo ""
  143.         echo "   Consider following the instructions in doc/mrtg-unix-guide.txt"
  144. exit 1
  145. fi
  146. AC_MSG_CHECKING(the weather)
  147. AC_MSG_RESULT((cached) it's fine)
  148. dnl Does the compiler like -Wall and
  149. if test "x$GCC" = "xyes"; then
  150.   oCFLAGS=$CFLAGS
  151.   CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wcast-align -Wmissing-declarations -Wnested-externs -Winline -W"
  152.   AC_CACHE_CHECK(if we can use GCC-specific compiler options, rd_cv_gcc_opt,
  153.                 [AC_TRY_COMPILE( , return 0 ,
  154.                     rd_cv_gcc_opt=yes,
  155.                     rd_cv_gcc_opt=no )
  156.                ]
  157.         )
  158.   if test $rd_cv_gcc_opt = no; then
  159.          CFLAGS=$oCFLAGS
  160.   fi
  161. fi
  162. AC_SUBST(PERL)
  163. AC_SUBST(RRD_PERL)
  164. AC_SUBST(GDFORM_EXT)
  165. AC_SUBST(LD_RUN_PATH)
  166. AC_SUBST(LIBS)
  167. AC_SUBST(CFLAGS)
  168. AC_CONFIG_HEADERS(config.h)
  169. AC_OUTPUT(Makefile)
  170. echo $ECHO_N "ordering CD from http://people.ee.ethz.ch/~oetiker/wish $ECHO_C" 1>&6
  171. sleep 1
  172. echo $ECHO_N ".$ECHO_C" 1>&6
  173. sleep 1
  174. echo $ECHO_N ".$ECHO_C" 1>&6
  175. sleep 1
  176. echo $ECHO_N ".$ECHO_C" 1>&6
  177. sleep 1
  178. echo $ECHO_N ".$ECHO_C" 1>&6
  179. sleep 1
  180. AC_MSG_RESULT([ just kidding ;-)])
  181. sleep 2
  182. echo
  183. echo "----------------------------------------------------------------"
  184. echo "Config is DONE!"
  185. echo
  186. echo "Type 'make' to compile the software"
  187. echo 
  188. echo "       ... that wishlist mentioned above does really exist. So if"
  189. echo "you feel like showing your appreciation for MRTG, this is the"
  190. echo "place to go. I just love CDs and DVDs"
  191. echo 
  192. echo "                            -- Tobi Oetiker <oetiker@ee.ethz.ch>"
  193. echo "----------------------------------------------------------------"