configure.ac 5.29 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.59])


## ---------------- ##
## Package set up.  ##
## ---------------- ##

AC_INIT([Olena], [1.0], [olena@lrde.epita.fr], [olena])

# Auxiliary files.
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_FILES([build-aux/Makefile])

# Automake.
# 1.9.4 because of changelog vs. ChangeLog on Darwin.
19
AM_INIT_AUTOMAKE([1.9.4 foreign check-news dist-bzip2 nostdinc -Wall])
20
21
22


## --------------------- ##
23
## C++ compiler set up.  ##
24
25
## --------------------- ##

Roland Levillain's avatar
Roland Levillain committed
26
27
28
29
30
31
# If the user doesn't provide any CXXFLAGS, prevent Autoconf from
# settings its own default ones (e.g., `-g -O2' for g++).
if test ! ${CXXFLAGS+set}; then
   CXXFLAGS=""
fi

32
33
34
35
# Look for a C++ compiler.
AC_LANG([C++])
AC_PROG_CXX

36
# Speed up compiling times.
37
38
39
40
if test "$GXX" = yes; then
  CXXFLAGS="$CXXFLAGS -pipe"
fi

41
42
43
44
45
46
47
# ------------------------------ #
# C++ compiler flags for tests.  #
# ------------------------------ #

# FIXME: We might want to write an Autoconf macro to factor this.

# Standard flas for tests.
48
AC_ARG_VAR([TESTS_CXXFLAGS])
49
# We want no optimization for the tests (it slows down compiling
50
# times), and debugging information.
51
if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS"; then
52
53
54
  TESTS_CXXFLAGS="-O0 -ggdb -Wall -W"
fi

55
# Flags for complex tests.
56
57
58
59
60
61
62
AC_ARG_VAR([TESTS_CXXFLAGS_SPEED])
# We want optimization for complex tests, and keep debugging flags
# (still useful).
if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS_SPEED"; then
  TESTS_CXXFLAGS_SPEED="-O3 -DNDEBUG -ggdb -Wall -W"
fi

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Flags for tests with with all debugging features turned on.
AC_ARG_VAR([TESTS_CXXFLAGS_DEBUG])
# We want no optimization for the tests (it slows down compiling
# times), and a lot of debugging features.
# * GNU C++ Library Debug Mode:
#   http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html
# * GNU C++ Library Compile Time Checks (a.k.a. concept checking):
#   http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch29.html
if test "$GXX" = yes && test -z "$TESTS_CXXFLAGS_DEBUG"; then
  TESTS_CXXFLAGS_DEBUG=\
    "-O0 -ggdb -Wall -W -D_GLIBCXX_DEBUG -D_GLIBCXX_CONCEPT_CHECKS"
fi

# ----------------- #
# Flags for tools.  #
# ----------------- #

80
AC_ARG_VAR([TOOLS_CXXFLAGS])
81
# We want fast binaries for tools.
82
if test "$GXX" = yes && test -z "$TOOLS_CXXFLAGS"; then
83
  TOOLS_CXXFLAGS="-O3 -DNDEBUG -ggdb -Wall -W"
84
85
fi

86

87
88
89
90
91
## -------------- ##
## Dependencies.  ##
## -------------- ##

# FreeImage library.
92
93
OLN_WITH_FREEIMAGEPLUS
AM_CONDITIONAL([FREEIMAGEPLUS], [test x$oln_have_freeimageplus = xyes])
94

95
96
97
98
# Cfitsio library.
OLN_WITH_CFITSIO
AM_CONDITIONAL([CFITSIO], [test x$oln_have_cfitsio = xyes])

99

100
101
102
103
104
105
106
107
108
109
## --------------- ##
## Configuration.  ##
## --------------- ##

# Ask for config.h.
AM_CONFIG_HEADER([config.h])

# Ask for the Makefile creations.
AC_CONFIG_FILES([
  Makefile
110
111
    milena/Makefile
      milena/doc/Makefile
112
      milena/tools/Makefile
113
])
114
115
116
117
118
119


## ------- ##
## Tests.  ##
## ------- ##

Roland Levillain's avatar
Roland Levillain committed
120
121
# Ask for the creation of a milena/tests/data.hh, used to access to
# data (images) from tests.
122
123
AC_CONFIG_FILES([milena/tests/data.hh])

Roland Levillain's avatar
Roland Levillain committed
124
# Ask for the creation of tests' Makefiles.
125
# FIXME: Should it be achieved through oln.m4 macros, as we did in Olena 0.11?
126
AC_CONFIG_FILES([
127
  milena/tests/Makefile
Roland Levillain's avatar
Roland Levillain committed
128
    milena/tests/accu/Makefile
129
    milena/tests/algebra/Makefile
130
    milena/tests/arith/Makefile
131
    milena/tests/binarization/Makefile
Roland Levillain's avatar
Roland Levillain committed
132
    milena/tests/border/Makefile
133
134
135
136
    milena/tests/canvas/Makefile
      milena/tests/canvas/browsing/Makefile
      milena/tests/canvas/morpho/Makefile
    milena/tests/convert/Makefile
Roland Levillain's avatar
Roland Levillain committed
137
138
139
140
    milena/tests/core/Makefile
    milena/tests/debug/Makefile
    milena/tests/display/Makefile
    milena/tests/draw/Makefile
141
142
143
144
145
146
    milena/tests/estim/Makefile
    milena/tests/fun/Makefile
      milena/tests/fun/i2v/Makefile
      milena/tests/fun/p2b/Makefile
      milena/tests/fun/p2v/Makefile
      milena/tests/fun/v2v/Makefile
147
      milena/tests/fun/vv2v/Makefile
Roland Levillain's avatar
Roland Levillain committed
148
149
150
      milena/tests/fun/x2x/Makefile
    milena/tests/geom/Makefile
    milena/tests/histo/Makefile
151
    milena/tests/io/Makefile
Roland Levillain's avatar
Roland Levillain committed
152
153
      milena/tests/io/fits/Makefile
      milena/tests/io/pbm/Makefile
154
155
156
157
158
      milena/tests/io/pfm/Makefile
      milena/tests/io/pgm/Makefile
      milena/tests/io/pnm/Makefile
      milena/tests/io/ppm/Makefile
    milena/tests/labeling/Makefile
Roland Levillain's avatar
Roland Levillain committed
159
160
161
162
163
164
165
166
167
168
169
170
    milena/tests/level/Makefile
      milena/tests/level/approx/Makefile
      milena/tests/level/naive/Makefile
    milena/tests/linear/Makefile
      milena/tests/linear/local/Makefile
    milena/tests/literal/Makefile
    milena/tests/logical/Makefile
    milena/tests/math/Makefile
    milena/tests/metal/Makefile
      milena/tests/metal/make/Makefile
      milena/tests/metal/math/Makefile
    milena/tests/morpho/Makefile
171
172
    milena/tests/neighb/Makefile
    milena/tests/norm/Makefile
Roland Levillain's avatar
Roland Levillain committed
173
174
    milena/tests/pw/Makefile
    milena/tests/set/Makefile
175
    milena/tests/subsampling/Makefile
Roland Levillain's avatar
Roland Levillain committed
176
    milena/tests/tag/Makefile
177
    milena/tests/test/Makefile
Roland Levillain's avatar
Roland Levillain committed
178
179
180
181
182
183
184
185
186
187
    milena/tests/trace/Makefile
    milena/tests/trait/Makefile
      milena/tests/trait/image/Makefile
      milena/tests/trait/op/Makefile
      milena/tests/trait/value/Makefile
    milena/tests/util/Makefile
    milena/tests/value/Makefile
      milena/tests/value/builtin/Makefile
      milena/tests/value/concept/Makefile
    milena/tests/win/Makefile
188
])
189
190

AC_OUTPUT