po/da.po: Added Danish translation by Joe Hansen
[platform/upstream/libexif.git] / configure.ac
1 AC_PREREQ(2.59)
2 AC_INIT([EXIF library], [0.6.17.1], [libexif-devel@lists.sourceforge.net], [libexif])
3 AC_CONFIG_SRCDIR([libexif/exif-data.h])
4 AC_CONFIG_HEADERS([config.h])
5 AC_CONFIG_MACRO_DIR([auto-m4])
6 AM_INIT_AUTOMAKE([-Wall gnu 1.9 dist-bzip2 dist-zip check-news])
7
8 if test ! -d "$srcdir/m4m"; then
9 AC_MSG_ERROR([
10 You are missing the m4m/ directory in your top
11 $PACKAGE_TARNAME source directory.
12
13 You are probably using an ill-maintained CVS tree.
14 Running
15
16     cd $srcdir
17     cvs co m4m
18
19 and re-running autogen.sh might help.
20 ])
21 fi
22
23 GP_CHECK_SHELL_ENVIRONMENT
24 GP_CONFIG_MSG([Build])
25 GP_CONFIG_MSG([Source code location],[${srcdir}])
26
27 dnl ---------------------------------------------------------------------------
28 dnl Advanced information about versioning:
29 dnl   * "Writing shared libraries" by Mike Hearn
30 dnl         http://navi.cx/~mike/writing-shared-libraries.html
31 dnl   * libtool.info chapter "Versioning"
32 dnl   * libtool.info chapter "Updating library version information"
33 dnl ---------------------------------------------------------------------------
34 dnl Versioning:
35 dnl  - CURRENT (Major):  Increment if the interface has changes. AGE is always
36 dnl                      *changed* at the same time.
37 dnl  - AGE (Micro):      Increment if any interfaces have been added; set to 0
38 dnl                      if any interfaces have been removed. Removal has 
39 dnl                      precedence over adding, so set to 0 if both happened.
40 dnl                      It denotes upward compatibility.
41 dnl  - REVISION (Minor): Increment any time the source changes; set to 
42 dnl                      0 if you incremented CURRENT.
43 dnl
44 dnl  To summarize. Any interface *change* increment CURRENT. If that interface
45 dnl  change does not break upward compatibility (ie it is an addition), 
46 dnl  increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed, 
47 dnl  REVISION is set to 0, otherwise REVISION is incremented.
48 dnl ---------------------------------------------------------------------------
49 dnl C:A:R
50 dnl 12:0:1   0.6.13
51 dnl 13:1:0   added EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE (for 0.6.14)
52 dnl 14:2:0   added XP_ WinXP tags (for 0.6.15)
53 dnl 14:2:1   0.6.17
54 LIBEXIF_CURRENT=14
55 LIBEXIF_AGE=2
56 LIBEXIF_REVISION=1
57 AC_SUBST([LIBEXIF_AGE])
58 AC_SUBST([LIBEXIF_REVISION])
59 AC_SUBST([LIBEXIF_CURRENT])
60 AC_SUBST([LIBEXIF_CURRENT_MIN],[`expr $LIBEXIF_CURRENT - $LIBEXIF_AGE`])
61 LIBEXIF_VERSION_INFO="$LIBEXIF_CURRENT:$LIBEXIF_REVISION:$LIBEXIF_AGE"
62 AC_SUBST([LIBEXIF_VERSION_INFO])
63
64 AC_PROG_CC
65 AC_C_CONST
66 AC_C_INLINE
67 dnl FIXME: AC_LIBTOOL_WIN32_DLL
68 AM_PROG_LIBTOOL
69 AM_CPPFLAGS="$CPPFLAGS"
70 GP_CONFIG_MSG([Compiler],[${CC}])
71
72
73 dnl Create a stdint.h-like file containing size-specific integer definitions
74 dnl that will always be available
75 AX_NEED_STDINT_H([libexif/_stdint.h])
76
77
78 dnl ------------------------------------------------------------------------
79 dnl Whether we're supposed to ship binaries in the tarball
80 dnl ------------------------------------------------------------------------
81
82 ship_binaries=false
83 AC_ARG_ENABLE([ship-binaries],
84 [AS_HELP_STRING([--enable-ship-binaries],
85 [Whether to ship binaries in the tarball [default=no]])],[
86         if test x$enableval = xyes; then
87                 ship_binaries=true
88         fi
89 ])
90 AM_CONDITIONAL([SHIP_BINARIES],[$ship_binaries])
91 GP_CONFIG_MSG([Ship binaries in tarball],[$ship_binaries])
92
93
94 dnl ---------------------------------------------------------------------------
95 dnl Whether -lm is required for our math functions
96 dnl ---------------------------------------------------------------------------
97
98 # we need sqrt and pow which may be in libm
99 # We cannot use AC_CHECK_FUNC because if CFLAGS contains
100 # -Wall -Werror here the check fails because
101 # char *sqrt() conflicts with double sqrt(double xx)
102
103 # Start by assuming -lm is needed, because it's possible that the little
104 # test program below will be optimized to in-line floating point code that
105 # doesn't require -lm, whereas the library itself cannot be so optimized
106 # (this actually seems to be the case on x86 with gcc 4.2). Assuming the
107 # reverse means that -lm could be needed but wouldn't be detected below.
108
109 LIBS_orig="$LIBS"
110 LIBS="$LIBS -lm"
111 AC_MSG_CHECKING([for math functions in libm])
112 AC_LINK_IFELSE([
113         #include <math.h>
114         int main() {
115           double s = sqrt(0);
116           double p = pow(s,s);
117           return (int)p;
118         }
119 ], [AC_MSG_RESULT(yes)], [
120         AC_MSG_RESULT(no)
121         LIBS="$LIBS_orig"
122         AC_MSG_CHECKING([for math functions without libm])
123         AC_LINK_IFELSE([
124                 #include <math.h>
125                 int main() {
126                   double s = sqrt(0);
127                   double p = pow(s,s);
128                   return (int)p;
129                 }
130         ], [
131                 AC_MSG_RESULT(yes)
132         ],[
133                 AC_MSG_RESULT(no)
134                 AC_MSG_ERROR([*** Could not find sqrt() & pow() functions])
135         ])
136 ])
137
138 # doc support
139 GP_CHECK_DOC_DIR
140 GP_CHECK_DOXYGEN
141
142 # Whether to enable the internal docs build.
143 #
144 # This takes quite some time due to the generation of lots of call
145 # graphs, so it is disabled by default.
146 set_enable_internal_docs=no
147 AC_ARG_ENABLE([internal-docs], [dnl
148 AS_HELP_STRING([--enable-internal-docs], 
149 [Build internal code docs if doxygen available])], [dnl
150 dnl If either --enable-foo nor --disable-foo were given, execute this.
151   if   test "x$enableval" = xno \
152     || test "x$enableval" = xoff \
153     || test "x$enableval" = xfalse; 
154   then
155     set_enable_internal_docs=no
156   elif test "x$enableval" = xyes \
157     || test "x$enableval" = xon \
158     || test "x$enableval" = xtrue
159   then
160     set_enable_internal_docs=yes
161   fi
162 ])
163 AC_MSG_CHECKING([whether to create internal code docs])
164 AC_MSG_RESULT([${set_enable_internal_docs}])
165 AM_CONDITIONAL([ENABLE_INTERNAL_DOCS], [test "x${set_enable_internal_docs}" = "xyes"])
166
167
168 # ---------------------------------------------------------------------------
169 # i18n support
170 # ---------------------------------------------------------------------------
171 ALL_LINGUAS="cs da de en_CA es fr nl pl ru sk sv vi"
172 AM_PO_SUBDIRS
173 GP_GETTEXT_HACK([${PACKAGE}-${LIBEXIF_CURRENT_MIN}],
174                 [Lutz Mueller and others])
175 AM_GNU_GETTEXT_VERSION([0.14.1])
176 AM_GNU_GETTEXT([external])
177 AM_ICONV()
178 GP_GETTEXT_FLAGS()
179
180
181 dnl ---------------------------------------------------------------------------
182 dnl Thread-safe functions
183 dnl ---------------------------------------------------------------------------
184 AC_CHECK_FUNCS(localtime_r)
185
186 dnl ---------------------------------------------------------------------------
187 dnl Compiler/Linker Options and Warnings
188 dnl ---------------------------------------------------------------------------
189 AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)"
190 AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_builddir)"
191 AM_LDFLAGS="$LDFLAGS"
192 if test "x$GCC" = "xyes"; then
193     AM_CFLAGS="$AM_CFLAGS -ansi -pedantic-error"
194     AM_CXXFLAGS="$AM_CXXFLAGS -ansi -pedantic-error"
195     AM_CPPFLAGS="$AM_CPPFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
196     AM_LDFLAGS="$AM_LDFLAGS -g -Wall"
197 fi
198
199
200
201 AC_SUBST(AM_CPPFLAGS)
202 AC_SUBST(AM_LDFLAGS)
203
204
205 dnl ---------------------------------------------------------------------------
206 dnl Output files
207 dnl ---------------------------------------------------------------------------
208 AC_CONFIG_FILES([  po/Makefile.in
209   Makefile
210   libexif.spec
211   libexif/Makefile
212   test/Makefile
213   test/nls/Makefile
214   m4m/Makefile
215   doc/Makefile
216   doc/Doxyfile
217   doc/Doxyfile-internals
218   libexif.pc
219   libexif-uninstalled.pc
220   binary/Makefile
221   contrib/Makefile
222   contrib/examples/Makefile
223 ])
224 AC_OUTPUT
225
226 GP_CONFIG_OUTPUT