Merge branch 'next'
[hkl3d.git] / configure.ac
blobcffb78e7fe9e160dcc737b73899d41ff8aaa08f2
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 AC_PREREQ(2.59)
5 AC_INIT([hkl3d],[0.0.1],[picca@synchrotron-soleil.fr])
6 AC_CONFIG_SRCDIR([config.h.in])
7 AC_CONFIG_HEADERS([config.h])
8 AC_CONFIG_MACRO_DIR([m4])
9 AC_CONFIG_AUX_DIR(config)
11 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
13 # Checks for programs.
14 AC_PROG_CXX
15 AC_PROG_AWK
16 AC_PROG_CPP
17 AC_PROG_INSTALL
18 AC_PROG_LN_S
19 AC_PROG_MAKE_SET
20 AC_PROG_LIBTOOL
22 # Checks for libraries.
23 AM_PROG_CC_C_O
25 # Checks for header files.
26 AC_HEADER_STDC
27 AC_HEADER_TIME
28 AC_CHECK_HEADERS([float.h stdlib.h string.h sys/time.h])
30 # Check for packages
31 PKG_CHECK_MODULES([HKL], [hkl >= 4.0.0])
32 PKG_CHECK_MODULES([G3D], [libg3d >= 0.0.8])
33 PKG_CHECK_MODULES([GLU], [glu >= 7.7.1])
34 PKG_CHECK_MODULES([GTKGLEXTMM], [gtkglextmm-1.2])
36 # Checks for typedefs, structures, and compiler characteristics.
37 AC_C_CONST
38 AC_C_INLINE
39 AC_TYPE_SIZE_T
41 # Checks for library functions.
42 AC_FUNC_MALLOC
43 AC_FUNC_REALLOC
44 AC_FUNC_VPRINTF
45 AC_CHECK_FUNCS([floor gettimeofday memmove memset sqrt strdup])
47 ### took from the bullet configure script
48 AC_CANONICAL_HOST
49 case "$host" in
50         *-*-mingw*|*-*-cygwin*)
51                 AC_DEFINE(PLATFORM_WIN32, 1, [Platform is Win32])
52                 opengl_LIBS="-lunsupported_platform"
53                 PLATFORM_STRING="Win32"
54                 ;;
55         *-*-linux*)
56                 AC_DEFINE(PLATFORM_LINUX, 1, [Platform is Linux])
57                 opengl_LIBS="-lGL -lGLU -lglut"
58                 PLATFORM_STRING="Linux"
59                 ;;
60         *-*-darwin*)
61                 AC_DEFINE(PLATFORM_APPLE, 1, [Platform is Apple])
62                 opengl_LIBS="-framework AGL -framework OpenGL -framework GLUT"
63                 PLATFORM_STRING="Apple"
64                 ;;
65         *)
66                 AC_MSG_WARN([*** Please add $host to configure.ac checks!])
67                 ;;
68 esac
69 AC_SUBST(opengl_LIBS)
71 case "$host" in
72         i?86-* | k?-* | athlon-* | pentium*-)
73                 AC_DEFINE(ARCH_X86, 1, [Architecture is x86])
74                 ARCH_SPECIFIC_CFLAGS=""
75                 ARCH_STRING="X86"
76                 ;;
77         x86_64-*)
78                 AC_DEFINE(ARCH_X86_64, 1, [Architecture is x86-64])
79                 ARCH_SPECIFIC_CFLAGS="-DUSE_ADDR64"
80                 ARCH_STRING="X86-64"
81                 ;;
82         ppc-* | powerpc-*)
83                 AC_DEFINE(ARCH_PPC, 1, [Architecture is PowerPC])
84                 ARCH_SPECIFIC_CFLAGS=""
85                 ARCH_STRING="PowerPC"
86                 ;;
87         *)
88                 AC_MSG_ERROR([Unknown Architecture])
89                 ;;
90 esac
91 AC_C_BIGENDIAN
93 #----------------------------------------------------------------------------
94 # Package configuration switches.
95 #----------------------------------------------------------------------------
96 AC_ARG_ENABLE([multithreaded],
97         [AC_HELP_STRING([--enable-multithreaded],
98                 [build BulletMultiThreaded (default NO)])],
99         [disable_multithreaded=no], [disable_multithreaded=yes])
100 AC_MSG_CHECKING([BulletMultiThreaded])
101 AS_IF([test "$disable_multithreaded" = yes], [build_multithreaded=no], [build_multithreaded=yes])
102 AC_MSG_RESULT([$build_multithreaded])
103 AM_CONDITIONAL([CONDITIONAL_BUILD_MULTITHREADED], [test "$build_multithreaded" = yes])
105 AC_ARG_ENABLE([demos],
106     [AS_HELP_STRING([--disable-demos],
107             [disable Bullet demos])],
108     [],
109     [enable_demos=yes])
110 AM_CONDITIONAL([CONDITIONAL_BUILD_DEMOS], [false])
111 if test "x$enable_demos" != xno; then
112     AC_MSG_NOTICE([Building Bullet demos])
113     AM_CONDITIONAL([CONDITIONAL_BUILD_DEMOS],[true])
118 AC_ARG_ENABLE([debug],
119     [AC_HELP_STRING([--enable-debug],
120         [build with debugging information (default NO)])],
121     [], [enable_debug=no])
123 AC_MSG_CHECKING([build mode])
124 AS_IF([test $enable_debug = yes], [build_mode=debug], [build_mode=optimize])
125 AC_MSG_RESULT([$build_mode])
127 CFLAGS="$ARCH_SPECIFIC_CFLAGS $CFLAGS"
128 CXXFLAGS="$ARCH_SPECIFIC_CFLAGS $CXXFLAGS $CFLAGS"
130 ### end bullet configure script
132 AC_CONFIG_FILES([
133         Makefile
134         Documentation/Makefile
135         hkl3d/Makefile
136         hkl3d/bullet/Makefile
137         hkl3d/bullet/src/Makefile
138         test/Makefile
139         gui/Makefile
140         gui/OpenGL/Makefile
141         gui/DiffabsDemo/Makefile
142         gui/ghkl3d/Makefile
143         hkl3d.pc
146 AC_OUTPUT