Prepare for 0.6.17 release
[platform/upstream/libexif.git] / configure.ac
1 AC_PREREQ(2.59)
2 AC_INIT([EXIF library], [0.6.17], [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 dnl FIXME: AC_LIBTOOL_WIN32_DLL
67 AM_PROG_LIBTOOL
68 AM_CPPFLAGS="$CPPFLAGS"
69 GP_CONFIG_MSG([Compiler],[${CC}])
70
71
72 dnl Create a stdint.h-like file containing size-specific integer definitions
73 dnl that will always be available
74 AX_NEED_STDINT_H([libexif/_stdint.h])
75
76
77 dnl ------------------------------------------------------------------------
78 dnl Whether we're supposed to ship binaries in the tarball
79 dnl ------------------------------------------------------------------------
80
81 ship_binaries=false
82 AC_ARG_ENABLE([ship-binaries],
83 [AS_HELP_STRING([--enable-ship-binaries],
84 [Whether to ship binaries in the tarball [default=no]])],[
85         if test x$enableval = xyes; then
86                 ship_binaries=true
87         fi
88 ])
89 AM_CONDITIONAL([SHIP_BINARIES],[$ship_binaries])
90 GP_CONFIG_MSG([Ship binaries in tarball],[$ship_binaries])
91
92
93 dnl ---------------------------------------------------------------------------
94 dnl Whether -lm is required for our math functions
95 dnl ---------------------------------------------------------------------------
96
97 # we need sqrt and pow, but checking for sqrt should be sufficient
98 AC_ARG_VAR([MATHLIBS],[The libraries required for mathematical functions, e.g. -lm])
99 if test "x$MATHLIBS" = "x"; then
100         # We must not compile with -Wall -Werror here:
101         # char *sqrt() conflicts with double sin(const double xx) in any case.
102         CFLAGS_save="$CFLAGS"
103         CPPFLAGS_save="$CPPFLAGS"
104         CPPFLAGS=""
105         CFLAGS=""
106         AC_CHECK_FUNC([sqrt],[
107                 MATHLIBS=""
108         ],[
109                 AC_CHECK_LIB([m],[sqrt],[
110                         MATHLIBS="-lm"
111                 ],[
112                         AC_MSG_ERROR([
113 *** Could not find sqrt() function
114 ])
115                 ])
116         ])
117         CFLAGS="$CFLAGS_save"
118         CPPFLAGS="$CPPFLAGS_save"
119 fi
120 AC_SUBST([MATHLIBS])
121
122
123 # doc support
124 GP_CHECK_DOC_DIR
125 GP_CHECK_DOXYGEN
126
127 # Whether to enable the internal docs build.
128 #
129 # This takes quite some time due to the generation of lots of call
130 # graphs, so it is disabled by default.
131 set_enable_internal_docs=no
132 AC_ARG_ENABLE([internal-docs], [dnl
133 AS_HELP_STRING([--enable-internal-docs], 
134 [Build internal code docs if doxygen available])], [dnl
135 dnl If either --enable-foo nor --disable-foo were given, execute this.
136   if   test "x$enableval" = xno \
137     || test "x$enableval" = xoff \
138     || test "x$enableval" = xfalse; 
139   then
140     set_enable_internal_docs=no
141   elif test "x$enableval" = xyes \
142     || test "x$enableval" = xon \
143     || test "x$enableval" = xtrue
144   then
145     set_enable_internal_docs=yes
146   fi
147 ])
148 AC_MSG_CHECKING([whether to create internal code docs])
149 AC_MSG_RESULT([${set_enable_internal_docs}])
150 AM_CONDITIONAL([ENABLE_INTERNAL_DOCS], [test "x${set_enable_internal_docs}" = "xyes"])
151
152
153 # ---------------------------------------------------------------------------
154 # i18n support
155 # ---------------------------------------------------------------------------
156 ALL_LINGUAS="cs de en_CA es fr nl pl ru sk sv vi"
157 AM_PO_SUBDIRS
158 GP_GETTEXT_HACK([${PACKAGE}-${LIBEXIF_CURRENT_MIN}],
159                 [Lutz Mueller and others])
160 AM_GNU_GETTEXT_VERSION([0.14.1])
161 AM_GNU_GETTEXT([external])
162 AM_ICONV()
163 GP_GETTEXT_FLAGS()
164
165
166 dnl ---------------------------------------------------------------------------
167 dnl Compiler/Linker Options and Warnings
168 dnl ---------------------------------------------------------------------------
169 AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)"
170 AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_builddir)"
171 AM_LDFLAGS="$LDFLAGS"
172 if test "x$GCC" = "xyes"; then
173     AM_CFLAGS="$AM_CFLAGS -ansi -pedantic-error"
174     AM_CXXFLAGS="$AM_CXXFLAGS -ansi -pedantic-error"
175     AM_CPPFLAGS="$AM_CPPFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
176     AM_LDFLAGS="$AM_LDFLAGS -g -Wall"
177 fi
178
179
180
181 AC_SUBST(AM_CPPFLAGS)
182 AC_SUBST(AM_LDFLAGS)
183
184
185 dnl ---------------------------------------------------------------------------
186 dnl Output files
187 dnl ---------------------------------------------------------------------------
188 AC_CONFIG_FILES([  po/Makefile.in
189   Makefile
190   libexif.spec
191   libexif/Makefile
192   test/Makefile
193   test/nls/Makefile
194   m4m/Makefile
195   doc/Makefile
196   doc/Doxyfile
197   doc/Doxyfile-internals
198   libexif.pc
199   libexif-uninstalled.pc
200   binary/Makefile
201   contrib/Makefile
202 ])
203 AC_OUTPUT
204
205 GP_CONFIG_OUTPUT