home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / patches / mesa3.1 / configure.in < prev    next >
Text File  |  1999-11-28  |  12KB  |  434 lines

  1. dnl Process this file with autoconf to produce a configure script.
  2.  
  3. AC_PREREQ(2.13)
  4. AC_INIT(include/GL/gl.h)
  5.  
  6. dnl ------------------------------------------
  7. AM_INIT_AUTOMAKE(Mesa, 3.1b3)
  8. # CURRENT:REVISION:AGE
  9. LIBGL_VERSION=3:0:2
  10. LIBGLU_VERSION=3:0:2
  11. LIBGLUT_VERSION=10:0:7
  12. AC_SUBST(LIBGL_VERSION)
  13. AC_SUBST(LIBGLU_VERSION)
  14. AC_SUBST(LIBGLUT_VERSION)
  15.  
  16. AM_CONFIG_HEADER(conf.h)
  17. AC_CANONICAL_HOST
  18. AC_DISABLE_STATIC
  19. AC_DISABLE_FAST_INSTALL
  20. dnl AM_MAINTAINER_MODE
  21.  
  22. dnl ------------------------------------------
  23. dnl Checks for programs.
  24. AC_PROG_CC
  25. AC_PROG_CPP
  26. AM_PROG_LIBTOOL
  27. AC_PROG_INSTALL
  28. AC_PROG_MAKE_SET
  29.  
  30. dnl ------------------------------------------
  31. dnl Checks for header files.
  32. AC_HEADER_STDC
  33. AC_CHECK_HEADERS(math.h malloc.h)
  34.  
  35. dnl ------------------------------------------
  36. dnl Checks for typedefs, structures, and compiler characteristics.
  37. AC_C_CONST
  38. AC_C_INLINE
  39. AC_CHECK_FUNCS(strchr memcpy memmove)
  40.  
  41. if test "x$GCC" = xyes; then
  42.    CFLAGS="$CFLAGS -Wall"
  43. fi
  44.  
  45. AC_ARG_ENABLE(debug,
  46. [  --enable-debug          enable full debugging [default=off]],
  47.   enable_debug=$enableval, enable_debug=no)
  48. if test "x$enable_debug" = xyes; then
  49.   AC_DEFINE(MESA_DEBUG)
  50.   if test "x$GCC" = xyes; then
  51.     CFLAGS="$CFLAGS -O0"
  52.   fi
  53. fi
  54.  
  55. AC_ARG_ENABLE(profile,
  56. [  --enable-profile        enable profiling [default=off]],
  57.   enable_prof=$enableval, enable_prof=no)
  58. if test "x$enable_prof" = xyes; then
  59.   CFLAGS="$CFLAGS -DPROFILE"
  60.   if test "x$GCC" = xyes; then
  61.     CFLAGS="$CFLAGS -pg"
  62.   fi
  63. fi
  64.  
  65. AC_ARG_ENABLE(optimize,
  66. [  --enable-optimize       enable extra optimization [default=on]],
  67.   enable_optim=$enableval, enable_optim=yes)
  68. if test "x$enable_optim" = xyes; then
  69.   dnl Optimization flags
  70.   if test "x$enable_debug" = xno && test "x$enable_prof" = xno; then
  71.     if test "x$GCC" = xyes; then
  72.       CFLAGS="$CFLAGS -fomit-frame-pointer -ffast-math -fexpensive-optimizations"
  73.       case "$host" in
  74.       i*86-*-*) CFLAGS="$CFLAGS -malign-loops=2 -malign-jumps=2 -malign-functions=2";;
  75.       esac     
  76.     fi
  77.   fi
  78. fi
  79.  
  80. AC_ARG_ENABLE(warn,
  81. [  --enable-warn           enable extended compiler warnings [default=off]],
  82.   enable_warn=$enableval, enable_warn=no)
  83. if test "x$enable_warn" = xyes; then
  84.   if test "x$GCC" = xyes; then
  85.     CFLAGS="$CFLAGS -ansi -pedantic"
  86.   fi
  87. fi
  88.  
  89. dnl Checks for library functions.
  90.  
  91. dnl Check for drivers
  92. dnl ------------------------------------------
  93.  
  94. dnl Necessary for assembler sources
  95. save_ac_ext="$ac_ext"
  96. save_CPPFLAGS="$CPPFLAGS"
  97. ac_ext=S
  98. CPPFLAGS="$CPPFLAGS -I$srcdir/src/X86"
  99.  
  100. dnl x86 assembler
  101. case "$host" in
  102. i*86-*-*) have_x86=on ;;
  103. *) have_x86=off ;;
  104. esac
  105.  
  106. AC_ARG_ENABLE(x86,
  107. [  --enable-x86            enable x86 assembler [default=autodetect]],
  108.   have_x86=$enableval)
  109. if test "x$have_x86" = xon; then
  110.   AC_MSG_CHECKING(whether the binutils support cpuid)
  111.   cp "$srcdir/src/X86/common_x86asm.S" conftest.S
  112.   if AC_TRY_EVAL(ac_compile); then
  113.     AC_DEFINE(USE_X86_ASM)
  114.     AC_MSG_RESULT(yes)
  115.   else 
  116.     AC_MSG_RESULT(no)
  117.     have_x86=off
  118.   fi
  119.   rm conftest*
  120. fi
  121.  
  122. dnl ------------------------------------------
  123. dnl MMX support
  124. have_mmx=$have_x86
  125. AC_ARG_ENABLE(mmx,
  126. [  --enable-mmx            enable MMX support [default=autodetect]],
  127.   have_mmx=$enableval)
  128. if test "x$have_mmx" = xon; then
  129.   AC_MSG_CHECKING(whether the binutils support MMX)
  130.   cp "$srcdir/src/X86/mmx_blend.S" conftest.S
  131.   if AC_TRY_EVAL(ac_compile); then
  132.     AC_DEFINE(USE_MMX_ASM)
  133.     AC_MSG_RESULT(yes)
  134.   else 
  135.     AC_MSG_RESULT(no)
  136.     echo 2>&1 "*******************************************************************************"
  137.     echo 2>&1 " The installed assembler does not supports the MMX command set."
  138.     echo 2>&1 " Update your binutils package, if you want to compile MMX support into Mesa."
  139.     echo 2>&1 "*******************************************************************************"
  140.     have_mmx=off
  141.   fi
  142.   rm conftest*
  143. fi
  144.  
  145. dnl ------------------------------------------
  146. dnl 3Dnow support
  147. have_3dnow=$have_x86
  148. AC_ARG_ENABLE(3dnow,
  149. [  --enable-3dnow          enable 3Dnow support [default=autodetect]],
  150.   have_3dnow=$enableval)
  151. if test "x$have_3dnow" = xon; then
  152.   AC_MSG_CHECKING(whether the binutils support 3Dnow)
  153.   cp "$srcdir/src/X86/3dnow_norm_raw.S" conftest.S
  154.   if AC_TRY_EVAL(ac_compile); then
  155.     AC_DEFINE(USE_3DNOW_ASM)
  156.     AC_MSG_RESULT(yes)
  157.   else 
  158.     AC_MSG_RESULT(no)
  159.     echo 2>&1 "*******************************************************************************"
  160.     echo 2>&1 " The installed assembler does not supports the 3Dnow! command set."
  161.     echo 2>&1 " Update your binutils package, if you want to compile 3Dnow! support into Mesa."
  162.     echo 2>&1 "*******************************************************************************"
  163.     have_3dnow=off
  164.   fi
  165.   rm conftest*
  166. fi
  167.  
  168. ac_ext="$save_ac_ext"
  169. CPPFLAGS="$save_CPPFLAGS"
  170.  
  171. dnl ------------------------------------------
  172. dnl OSmesa driver
  173. have_osmesa=on
  174. AC_ARG_ENABLE(osmesa,
  175.   [  --enable-osmesa         enable OSmesa [default=on]],
  176.       have_osmesa=$enableval)
  177.  
  178. dnl ------------------------------------------
  179. dnl Glide driver
  180. have_fx=auto
  181. FX_CFLAGS=""
  182. FX_LIBS=""
  183. AC_ARG_WITH(glide,
  184. [  --with-glide=DIR        Glide is installed in DIR], have_fx="$withval")
  185. if test "x$have_fx" != xno; then
  186.   if test "x$have_fx" != xauto; then
  187.     FX_CFLAGS="-I$withval/include"
  188.     FX_LIBS="-L$withval/lib"
  189.   fi
  190.   save_CPPFLAGS="$CPPFLAGS"
  191.   CPPFLAGS="$CPPFLAGS $FX_CFLAGS"
  192.   AC_CHECK_HEADER(glide.h, have_fx=yes, have_fx=no)
  193.   if test "x$have_fx" != xyes; then
  194.     CPPFLAGS="$save_CPPFLAGS -I/usr/include/glide2 -I/usr/local/include/glide2"
  195.     AC_CHECK_HEADER(glide2/glide.h,
  196.     FX_CFLAGS="-I/usr/include/glide2 -I/usr/local/include/glide2" have_fx=yes)
  197.   fi
  198.   if test "x$have_fx" != xyes; then
  199.     CPPFLAGS="$save_CPPFLAGS -I/usr/include/glide -I/usr/local/include/glide"
  200.     AC_CHECK_HEADER(glide/glide.h,
  201.     FX_CFLAGS="-I/usr/include/glide -I/usr/local/include/glide" have_fx=yes)
  202.   fi
  203.   CPPFLAGS="$save_CPPFLAGS"
  204.   if test "x$have_fx" = xyes; then
  205.     save_LIBS="$LIBS"
  206.     LIBS="$LIBS $FX_LIBS"
  207.     AC_CHECK_LIB(glide2x, main, FX_LIBS="$FX_LIBS -lglide2x"
  208.     AC_DEFINE(FX) have_fx=yes, have_fx=no, -lm)
  209.     LIBS="$save_LIBS"
  210.   fi
  211.   if test "x$have_fx" != xyes; then
  212.     FX_CFLAGS="" FX_LIBS=""
  213.   fi
  214. fi
  215. AC_SUBST(FX_CFLAGS)
  216. AC_SUBST(FX_LIBS)
  217.  
  218. dnl ------------------------------------------
  219. dnl GGI driver
  220. have_ggi=auto
  221. GGI_CFLAGS=""
  222. GGI_LIBS=""
  223. AC_ARG_WITH(ggi,
  224. [  --with-ggi=DIR          GGI is installed in DIR], have_ggi="$withval")
  225. if test "x$have_ggi" != xno; then
  226.   if test "x$have_ggi" != xauto; then
  227.     GGI_CFLAGS="-I$withval/include"
  228.     GGI_LIBS="-L$withval/lib"
  229.   fi
  230.   save_CPPFLAGS="$CPPFLAGS"
  231.   CPPFLAGS="$CPPFLAGS $GGI_CFLAGS"
  232.   AC_CHECK_HEADER(ggi/ggi.h, have_ggi=yes, have_ggi=no)
  233.   CPPFLAGS="$save_CPPFLAGS"
  234.   if test "x$have_ggi" = xyes; then
  235.     save_LIBS="$LIBS"
  236.     LIBS="$LIBS $GGI_LIBS"
  237.     AC_CHECK_LIB(ggi, main, GGI_LIBS="$GGI_LIBS -lggi" 
  238.     AC_DEFINE(GGI) have_ggi=yes, have_ggi=no, -lgii -lgg)
  239.     LIBS="$save_LIBS"
  240.   fi
  241.   if test "x$have_ggi" != xyes; then
  242.     GGI_CFLAGS="" GGI_LIBS=""
  243.   else
  244.     build_ggi_fbdev_target=auto
  245.     build_ggi_genkgi_driver=auto
  246.     AC_ARG_ENABLE(ggi_fbdev,
  247.     [  --disable-ggi-fbdev     Don't build the GGI fbdev target],
  248.     build_ggi_fbdev_target=$enableval)
  249.     AC_ARG_ENABLE(ggi_genkgi,
  250.     [  --disable-ggi-genkgi    Don't build the GGI generic KGI driver (used by fbdev],
  251.     build_ggi_genkgi_driver=$enableval)
  252.  
  253.     if test "x$build_ggi_fbdev_target" != "xno"; then
  254.       AC_CHECK_HEADER(linux/fb.h, , build_ggi_fbdev_target=no)
  255.     fi
  256.     
  257.     if test "x$build_ggi_genkgi_driver" != "xno"; then
  258.       AC_CHECK_HEADER(kgi/kgi.h, , build_ggi_genkgi_driver=no)
  259.     fi
  260.     
  261.     AC_MSG_CHECKING(if we should build GGI's fbdev target)
  262.     if test "x$build_ggi_fbdev_target" = "xno"; then
  263.       AC_MSG_RESULT(no)
  264.     else
  265.       GGI_DISPLAY_SUBDIRS="$GGI_DISPLAY_SUBDIRS fbdev"
  266.       build_ggi_fbdev_target=yes
  267.       AC_MSG_RESULT(yes)
  268.     fi
  269.       
  270.     AC_MSG_CHECKING(if we should build GGIMesa's generic KGI driver)
  271.     if test "x$build_ggi_genkgi_driver" = "xno"; then
  272.       AC_MSG_RESULT(no)
  273.     else
  274.       GGI_DEFAULT_SUBDIRS="$GGI_DEFAULT_SUBDIRS kgi"
  275.       build_ggi_genkgi_driver=yes
  276.       AC_MSG_RESULT(yes)
  277.     fi
  278.     
  279.     AM_CONDITIONAL(HAVE_GGI_FBDEV, test $build_ggi_fbdev_target = yes)
  280.     AM_CONDITIONAL(HAVE_GGI_GENKGI, test $build_ggi_genkgi_driver = yes)
  281.   fi
  282. fi
  283. ggi_confdir=/usr/local/etc
  284. ggi_libdir=/usr/local/lib
  285. AC_SUBST(ggi_confdir)
  286. AC_SUBST(ggi_libdir)
  287. AC_SUBST(GGI_CFLAGS)
  288. AC_SUBST(GGI_LIBS)
  289.  
  290. dnl ------------------------------------------
  291. dnl SVGALib driver
  292. have_svga=auto
  293. SVGA_CFLAGS=""
  294. SVGA_LIBS=""
  295. AC_ARG_WITH(svga,
  296. [  --with-svga=DIR         SVGALib is installed in DIR], have_svga="$withval")
  297. if test "x$have_svga" != xno; then
  298.   if test "x$have_svga" != xauto; then
  299.     SVGA_CFLAGS="-I$withval/include"
  300.     SVGA_LIBS="-L$withval/lib"
  301.   fi
  302.   save_CPPFLAGS="$CPPFLAGS"
  303.   CPPFLAGS="$CPPFLAGS $SVGA_CFLAGS"
  304.   AC_CHECK_HEADER(vga.h, have_svga=yes, have_svga=no)
  305.   CPPFLAGS="$save_CPPFLAGS"
  306.   if test "x$have_svga" = xyes; then
  307.     save_LIBS="$LIBS"
  308.     LIBS="$LIBS $SVGA_LIBS"
  309.     AC_CHECK_LIB(vga, main, SVGA_LIBS="$SVGA_LIBS -lvga"
  310.     AC_DEFINE(SVGA) have_svga=yes, have_svga=no)
  311.     LIBS="$save_LIBS"
  312.   fi
  313.   if test "x$have_svga" != xyes; then
  314.     SVGA_CFLAGS="" SVGA_LIBS=""
  315.   fi
  316. fi
  317. AC_SUBST(SVGA_CFLAGS)
  318. AC_SUBST(SVGA_LIBS)
  319.  
  320. dnl ------------------------------------------
  321. dnl X11 driver
  322. AC_PATH_XTRA
  323. X_LIBADD=""
  324. if test "x$have_x" = xyes; then
  325.   save_LIBS="$LIBS"
  326.   LIBS="$LIBS $X_LIBS $X_PRE_LIBS"
  327.   AC_CHECK_LIB(Xmu, XmuRegisterExternalAgent, X_LIBADD="$X_LIBADD -lXmu")
  328.   LIBS="$save_LIBS"
  329. fi
  330. X_LIBADD="$X_LIBADD -lXext -lXi -lX11"
  331. AC_SUBST(X_LIBADD)
  332.  
  333. dnl Check for SHM
  334. AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(SHM))
  335.  
  336. dnl ------------------------------------------
  337. dnl Check for GLUT
  338. have_glut=auto
  339. GLUT_CFLAGS=""
  340. GLUT_LIBS=""
  341. AC_ARG_WITH(glut,
  342. [  --with-glut=DIR         GLUT is installed in DIR], have_glut="$withval")
  343. if test "x$have_glut" != xno; then
  344.   if test "x$have_glut" != xauto; then
  345.     GLUT_CFLAGS="-I$withval/include"
  346.     GLUT_LIBS="-L$withval/lib"
  347.   fi
  348.   save_CPPFLAGS="$CPPFLAGS"
  349.   CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS"
  350.   AC_CHECK_HEADER(GL/glut.h, have_glut=yes, have_glut=no)
  351.   CPPFLAGS="$save_CPPFLAGS"
  352.   if test "x$have_glut" = xyes; then
  353.     save_LIBS="$LIBS"
  354.     LIBS="$LIBS $GLUT_LIBS"
  355.     AC_CHECK_LIB(glut, main, GLUT_LIBS="$GLUT_LIBS -lglut"
  356.     have_glut=yes, have_glut=no)
  357.     LIBS="$save_LIBS"
  358.   fi
  359. fi
  360. need_glut=no
  361. if test "x$have_glut" != xyes; then
  362.   GLUT_CFLAGS="" GLUT_LIBS=""
  363.   AC_MSG_CHECKING(for GLUT sources)
  364.   if test -d src-glut; then
  365.     AC_MSG_RESULT(yes)
  366.     need_glut=yes
  367.     GLUT_LIBS="\$(top_builddir)/src-glut/libglut.la"
  368.   else 
  369.     AC_MSG_RESULT(no)
  370.     AC_MSG_WARN(Sorry, GLUT not found. Demos might not work.)
  371.     AC_MSG_WARN(Please ignore the warnings about missing Makefiles)
  372.     GLUT_LIBS="-lglut"
  373.   fi
  374. fi
  375. AC_SUBST(GLUT_CFLAGS)
  376. AC_SUBST(GLUT_LIBS)
  377.  
  378. dnl ------------------------------------------
  379. dnl Check for demos
  380. have_demos=no
  381. AC_MSG_CHECKING(for Mesa demos sources)
  382. if test -d book && test -d demos && test -d images && \
  383.   test -d samples && test -d xdemos; then
  384.   AC_MSG_RESULT(yes)
  385.   have_demos=yes
  386. else 
  387.   AC_MSG_RESULT(no)
  388.   AC_MSG_WARN(Please ignore the warnings about missing Makefiles)
  389. fi
  390.  
  391. dnl ------------------------------------------
  392. AM_CONDITIONAL(HAVE_3DNOW, test $have_3dnow = on)
  393. AM_CONDITIONAL(HAVE_MMX, test $have_mmx = on)
  394. AM_CONDITIONAL(HAVE_X86, test $have_x86 = on)
  395. AM_CONDITIONAL(HAVE_FX, test $have_fx = yes)
  396. AM_CONDITIONAL(HAVE_GGI, test $have_ggi = yes)
  397. AM_CONDITIONAL(HAVE_OSMESA, test $have_osmesa = on)
  398. AM_CONDITIONAL(HAVE_SVGA, test $have_svga = yes)
  399. AM_CONDITIONAL(HAVE_X11, test $have_x = yes)
  400. AM_CONDITIONAL(NEED_GLUT, test $need_glut = yes)
  401. AM_CONDITIONAL(HAVE_DEMOS, test $have_demos = yes)
  402.  
  403. dnl ------------------------------------------
  404. AC_OUTPUT(
  405. Makefile
  406. include/Makefile
  407. include/GL/Makefile
  408. src/Makefile
  409. src/FX/Makefile
  410. src/FX/X86/Makefile
  411. src/GGI/Makefile
  412. src/GGI/include/Makefile
  413. src/GGI/include/ggi/Makefile
  414. src/GGI/include/ggi/mesa/Makefile
  415. src/GGI/ggimesa.conf
  416. src/GGI/default/Makefile
  417. src/GGI/default/genkgi.conf
  418. src/GGI/display/Makefile
  419. src/GGI/display/fbdev.conf
  420. src/OSmesa/Makefile
  421. src/SVGA/Makefile
  422. src/X/Makefile
  423. src/X86/Makefile
  424. src-glu/Makefile
  425. src-glut/Makefile
  426. book/Makefile
  427. demos/Makefile
  428. samples/Makefile
  429. xdemos/Makefile
  430. util/Makefile
  431. ggi/demos/Makefile
  432. ggi/ggiglut/Makefile
  433. )
  434.