1b8bc0d8aSopenharmony_ciAC_PREREQ(2.69)
2b8bc0d8aSopenharmony_ciAC_INIT([EXIF library],
3b8bc0d8aSopenharmony_ci        [0.6.24],
4b8bc0d8aSopenharmony_ci        [libexif-devel@lists.sourceforge.net],
5b8bc0d8aSopenharmony_ci        [libexif],
6b8bc0d8aSopenharmony_ci        [https://libexif.github.io/])
7b8bc0d8aSopenharmony_ciAC_CONFIG_SRCDIR([libexif/exif-data.h])
8b8bc0d8aSopenharmony_ciAC_CONFIG_HEADERS([config.h])
9b8bc0d8aSopenharmony_ciAC_CONFIG_MACRO_DIR([auto-m4])
10b8bc0d8aSopenharmony_ciAM_INIT_AUTOMAKE([
11b8bc0d8aSopenharmony_ci  -Wall
12b8bc0d8aSopenharmony_ci  gnu
13b8bc0d8aSopenharmony_ci  1.14.1
14b8bc0d8aSopenharmony_ci  dist-xz
15b8bc0d8aSopenharmony_ci  dist-bzip2
16b8bc0d8aSopenharmony_ci  dist-zip
17b8bc0d8aSopenharmony_ci  check-news
18b8bc0d8aSopenharmony_ci  subdir-objects
19b8bc0d8aSopenharmony_ci])
20b8bc0d8aSopenharmony_ciAM_MAINTAINER_MODE
21b8bc0d8aSopenharmony_ci
22b8bc0d8aSopenharmony_ci# Use the silent-rules feature when possible.
23b8bc0d8aSopenharmony_cim4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
24b8bc0d8aSopenharmony_ciAM_SILENT_RULES([yes])
25b8bc0d8aSopenharmony_ci
26b8bc0d8aSopenharmony_ciGP_CHECK_SHELL_ENVIRONMENT
27b8bc0d8aSopenharmony_ciGP_CONFIG_MSG([Build])
28b8bc0d8aSopenharmony_ciGP_CONFIG_MSG([Source code location], [${srcdir}])
29b8bc0d8aSopenharmony_ci
30b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
31b8bc0d8aSopenharmony_cidnl Advanced information about versioning:
32b8bc0d8aSopenharmony_cidnl   * "Writing shared libraries" by Mike Hearn
33b8bc0d8aSopenharmony_cidnl         http://plan99.net/~mike/writing-shared-libraries.html
34b8bc0d8aSopenharmony_cidnl   * libtool.info chapter "Versioning"
35b8bc0d8aSopenharmony_cidnl   * libtool.info chapter "Updating library version information"
36b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
37b8bc0d8aSopenharmony_cidnl Versioning:
38b8bc0d8aSopenharmony_cidnl  - CURRENT (Major):  Increment if the interface has changes. AGE is always
39b8bc0d8aSopenharmony_cidnl                      *changed* at the same time.
40b8bc0d8aSopenharmony_cidnl  - AGE (Micro):      Increment if any interfaces have been added; set to 0
41b8bc0d8aSopenharmony_cidnl		         if any interfaces have been removed. Removal has 
42b8bc0d8aSopenharmony_cidnl                      precedence over adding, so set to 0 if both happened.
43b8bc0d8aSopenharmony_cidnl                      It denotes upward compatibility.
44b8bc0d8aSopenharmony_cidnl  - REVISION (Minor): Increment any time the source changes; set to 
45b8bc0d8aSopenharmony_cidnl			 0 if you incremented CURRENT.
46b8bc0d8aSopenharmony_cidnl
47b8bc0d8aSopenharmony_cidnl  To summarize. Any interface *change* increment CURRENT. If that interface
48b8bc0d8aSopenharmony_cidnl  change does not break upward compatibility (ie it is an addition), 
49b8bc0d8aSopenharmony_cidnl  increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed, 
50b8bc0d8aSopenharmony_cidnl  REVISION is set to 0, otherwise REVISION is incremented.
51b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
52b8bc0d8aSopenharmony_cidnl C:A:R
53b8bc0d8aSopenharmony_cidnl 12:0:1   0.6.13
54b8bc0d8aSopenharmony_cidnl 13:1:0   added EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE (for 0.6.14)
55b8bc0d8aSopenharmony_cidnl 14:2:0   added XP_ WinXP tags (for 0.6.15)
56b8bc0d8aSopenharmony_cidnl 14:2:1   0.6.17
57b8bc0d8aSopenharmony_cidnl 15:3:0   added exif_loader_get_buf (for 0.6.18)
58b8bc0d8aSopenharmony_cidnl 15:3:1   0.6.19
59b8bc0d8aSopenharmony_cidnl 15:3:2   0.6.20
60b8bc0d8aSopenharmony_cidnl 15:3:3   0.6.21
61b8bc0d8aSopenharmony_cidnl 15:3:4   0.6.22
62b8bc0d8aSopenharmony_ciLIBEXIF_CURRENT=15
63b8bc0d8aSopenharmony_ciLIBEXIF_AGE=3
64b8bc0d8aSopenharmony_ciLIBEXIF_REVISION=4
65b8bc0d8aSopenharmony_ciAC_SUBST([LIBEXIF_AGE])
66b8bc0d8aSopenharmony_ciAC_SUBST([LIBEXIF_REVISION])
67b8bc0d8aSopenharmony_ciAC_SUBST([LIBEXIF_CURRENT])
68b8bc0d8aSopenharmony_ciAC_SUBST([LIBEXIF_CURRENT_MIN],[`expr $LIBEXIF_CURRENT - $LIBEXIF_AGE`])
69b8bc0d8aSopenharmony_ciLIBEXIF_VERSION_INFO="$LIBEXIF_CURRENT:$LIBEXIF_REVISION:$LIBEXIF_AGE"
70b8bc0d8aSopenharmony_ciAC_SUBST([LIBEXIF_VERSION_INFO])
71b8bc0d8aSopenharmony_ci
72b8bc0d8aSopenharmony_ciAC_C_INLINE
73b8bc0d8aSopenharmony_ciAM_PROG_AR
74b8bc0d8aSopenharmony_ciLT_INIT([win32-dll])
75b8bc0d8aSopenharmony_ciAM_CPPFLAGS="$CPPFLAGS"
76b8bc0d8aSopenharmony_ciGP_CONFIG_MSG([Compiler], [${CC}])
77b8bc0d8aSopenharmony_ci
78b8bc0d8aSopenharmony_ci
79b8bc0d8aSopenharmony_cidnl --------------------------------------------------------------------
80b8bc0d8aSopenharmony_cidnl check for "diff" and "diff -u"
81b8bc0d8aSopenharmony_cidnl --------------------------------------------------------------------
82b8bc0d8aSopenharmony_ci
83b8bc0d8aSopenharmony_ciAC_ARG_VAR([DIFF], [path to diff utility (default: no)])
84b8bc0d8aSopenharmony_ciAC_PATH_PROG([DIFF], [diff], [no])
85b8bc0d8aSopenharmony_ciAM_CONDITIONAL([HAVE_DIFF], [test "x$DIFF" != xno])
86b8bc0d8aSopenharmony_ci
87b8bc0d8aSopenharmony_ciDIFF_U="no"
88b8bc0d8aSopenharmony_ciAS_IF([test "x$DIFF" != xno], [dnl
89b8bc0d8aSopenharmony_ciAC_MSG_CHECKING([whether diff supports -u])
90b8bc0d8aSopenharmony_ciecho moo > conftest-a.c
91b8bc0d8aSopenharmony_ciecho moo > conftest-b.c
92b8bc0d8aSopenharmony_ciAS_IF([${DIFF} -u conftest-a.c conftest-b.c], [dnl
93b8bc0d8aSopenharmony_ci  AC_MSG_RESULT([yes])
94b8bc0d8aSopenharmony_ci  DIFF_U="$DIFF -u"
95b8bc0d8aSopenharmony_ci], [dnl
96b8bc0d8aSopenharmony_ci  AC_MSG_RESULT([no])
97b8bc0d8aSopenharmony_ci])
98b8bc0d8aSopenharmony_cirm -f conftest-a.c conftest-b.c
99b8bc0d8aSopenharmony_ci])
100b8bc0d8aSopenharmony_ciAC_SUBST([DIFF_U])
101b8bc0d8aSopenharmony_ciAM_CONDITIONAL([HAVE_DIFF_U], [test "x$DIFF_U" != xno])
102b8bc0d8aSopenharmony_ci
103b8bc0d8aSopenharmony_ci
104b8bc0d8aSopenharmony_cidnl --------------------------------------------------------------------
105b8bc0d8aSopenharmony_ci
106b8bc0d8aSopenharmony_ciAC_SYS_LARGEFILE
107b8bc0d8aSopenharmony_ci
108b8bc0d8aSopenharmony_cidnl Create a stdint.h-like file containing size-specific integer definitions
109b8bc0d8aSopenharmony_cidnl that will always be available
110b8bc0d8aSopenharmony_ciAX_NEED_STDINT_H([libexif/_stdint.h])
111b8bc0d8aSopenharmony_ci
112b8bc0d8aSopenharmony_ci
113b8bc0d8aSopenharmony_cidnl ------------------------------------------------------------------------
114b8bc0d8aSopenharmony_cidnl Whether we're supposed to ship binaries in the tarball
115b8bc0d8aSopenharmony_cidnl ------------------------------------------------------------------------
116b8bc0d8aSopenharmony_ci
117b8bc0d8aSopenharmony_ciship_binaries=false
118b8bc0d8aSopenharmony_ciAC_ARG_ENABLE([ship-binaries],
119b8bc0d8aSopenharmony_ci[AS_HELP_STRING([--enable-ship-binaries],
120b8bc0d8aSopenharmony_ci                [Whether to ship binaries in the tarball [default=no]])], [
121b8bc0d8aSopenharmony_ciAS_VAR_IF([enableval], [yes], [ship_binaries=true])
122b8bc0d8aSopenharmony_ci])
123b8bc0d8aSopenharmony_ciAM_CONDITIONAL([SHIP_BINARIES], [$ship_binaries])
124b8bc0d8aSopenharmony_ciGP_CONFIG_MSG([Ship binaries in tarball], [$ship_binaries])
125b8bc0d8aSopenharmony_ci
126b8bc0d8aSopenharmony_ci
127b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
128b8bc0d8aSopenharmony_cidnl Whether -lm is required for our math functions
129b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
130b8bc0d8aSopenharmony_ci
131b8bc0d8aSopenharmony_ci# we need sqrt and pow which may be in libm
132b8bc0d8aSopenharmony_ci# We cannot use AC_CHECK_FUNC because if CFLAGS contains
133b8bc0d8aSopenharmony_ci# -Wall -Werror here the check fails because
134b8bc0d8aSopenharmony_ci# char *sqrt() conflicts with double sqrt(double xx)
135b8bc0d8aSopenharmony_ci
136b8bc0d8aSopenharmony_ci# Start by assuming -lm is needed, because it's possible that the little
137b8bc0d8aSopenharmony_ci# test program below will be optimized to in-line floating point code that
138b8bc0d8aSopenharmony_ci# doesn't require -lm, whereas the library itself cannot be so optimized
139b8bc0d8aSopenharmony_ci# (this actually seems to be the case on x86 with gcc 4.2). Assuming the
140b8bc0d8aSopenharmony_ci# reverse means that -lm could be needed but wouldn't be detected below.
141b8bc0d8aSopenharmony_ci
142b8bc0d8aSopenharmony_ciLIBS_orig="$LIBS"
143b8bc0d8aSopenharmony_ciLIBS="$LIBS -lm"
144b8bc0d8aSopenharmony_ciAC_MSG_CHECKING([for math functions in libm])
145b8bc0d8aSopenharmony_ciAC_LINK_IFELSE([AC_LANG_PROGRAM([
146b8bc0d8aSopenharmony_ci	  #include <math.h>
147b8bc0d8aSopenharmony_ci	  ],[
148b8bc0d8aSopenharmony_ci	    double s = sqrt(0);
149b8bc0d8aSopenharmony_ci	    double p = pow(s,s);
150b8bc0d8aSopenharmony_ci	    (void) p;
151b8bc0d8aSopenharmony_ci	  ])],
152b8bc0d8aSopenharmony_ci	[AC_MSG_RESULT([yes])], [
153b8bc0d8aSopenharmony_ci	AC_MSG_RESULT([no])
154b8bc0d8aSopenharmony_ci	LIBS="$LIBS_orig"
155b8bc0d8aSopenharmony_ci	AC_MSG_CHECKING([for math functions without libm])
156b8bc0d8aSopenharmony_ci	AC_LINK_IFELSE([AC_LANG_PROGRAM([
157b8bc0d8aSopenharmony_ci		#include <math.h>
158b8bc0d8aSopenharmony_ci		],[
159b8bc0d8aSopenharmony_ci		  double s = sqrt(0);
160b8bc0d8aSopenharmony_ci		  double p = pow(s,s);
161b8bc0d8aSopenharmony_ci		  (void) p;
162b8bc0d8aSopenharmony_ci		])],
163b8bc0d8aSopenharmony_ci	[
164b8bc0d8aSopenharmony_ci		AC_MSG_RESULT([yes])
165b8bc0d8aSopenharmony_ci	],[
166b8bc0d8aSopenharmony_ci		AC_MSG_RESULT([no])
167b8bc0d8aSopenharmony_ci		AC_MSG_ERROR([*** Could not find sqrt() & pow() functions])
168b8bc0d8aSopenharmony_ci	])
169b8bc0d8aSopenharmony_ci])
170b8bc0d8aSopenharmony_ci
171b8bc0d8aSopenharmony_ci# Check whether libfailmalloc is available for tests
172b8bc0d8aSopenharmony_ciCHECK_FAILMALLOC
173b8bc0d8aSopenharmony_ci
174b8bc0d8aSopenharmony_ci# doc support
175b8bc0d8aSopenharmony_ciGP_CHECK_DOC_DIR
176b8bc0d8aSopenharmony_ciGP_CHECK_DOXYGEN
177b8bc0d8aSopenharmony_ci
178b8bc0d8aSopenharmony_ci# Whether to enable the internal docs build.
179b8bc0d8aSopenharmony_ci#
180b8bc0d8aSopenharmony_ci# This takes quite some time due to the generation of lots of call
181b8bc0d8aSopenharmony_ci# graphs, so it is disabled by default.
182b8bc0d8aSopenharmony_ciset_enable_internal_docs=no
183b8bc0d8aSopenharmony_ciAC_ARG_ENABLE([internal-docs], [dnl
184b8bc0d8aSopenharmony_ciAS_HELP_STRING([--enable-internal-docs],
185b8bc0d8aSopenharmony_ci               [Build internal code docs if doxygen available])], [
186b8bc0d8aSopenharmony_cidnl If either --enable-foo nor --disable-foo were given, execute this.
187b8bc0d8aSopenharmony_ciAS_CASE(["$enableval"],
188b8bc0d8aSopenharmony_ci        [no|off|false], [set_enable_internal_docs=no],
189b8bc0d8aSopenharmony_ci        [yes|on|true],  [set_enable_internal_docs=yes])
190b8bc0d8aSopenharmony_ci])
191b8bc0d8aSopenharmony_ciAC_MSG_CHECKING([whether to create internal code docs])
192b8bc0d8aSopenharmony_ciAC_MSG_RESULT([${set_enable_internal_docs}])
193b8bc0d8aSopenharmony_ciAM_CONDITIONAL([ENABLE_INTERNAL_DOCS],
194b8bc0d8aSopenharmony_ci               [test "x${set_enable_internal_docs}" = "xyes"])
195b8bc0d8aSopenharmony_ci
196b8bc0d8aSopenharmony_ci
197b8bc0d8aSopenharmony_ci# ---------------------------------------------------------------------------
198b8bc0d8aSopenharmony_ci# i18n support
199b8bc0d8aSopenharmony_ci# ---------------------------------------------------------------------------
200b8bc0d8aSopenharmony_ciALL_LINGUAS="be bs cs da de en_AU en_CA en_GB es fr it ja ms nl pl pt pt_BR ru sk sq sr sv tr uk vi zh_CN"
201b8bc0d8aSopenharmony_ciAM_PO_SUBDIRS
202b8bc0d8aSopenharmony_ciGP_GETTEXT_HACK([${PACKAGE}-${LIBEXIF_CURRENT_MIN}],
203b8bc0d8aSopenharmony_ci                [Lutz Mueller and others])
204b8bc0d8aSopenharmony_ciAM_GNU_GETTEXT_VERSION([0.18.3])
205b8bc0d8aSopenharmony_ciAM_GNU_GETTEXT([external])
206b8bc0d8aSopenharmony_ciAM_ICONV()
207b8bc0d8aSopenharmony_ciGP_GETTEXT_FLAGS()
208b8bc0d8aSopenharmony_ci
209b8bc0d8aSopenharmony_ci
210b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
211b8bc0d8aSopenharmony_cidnl Thread-safe functions
212b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
213b8bc0d8aSopenharmony_ciAC_MSG_CHECKING([for localtime_s])
214b8bc0d8aSopenharmony_ciAC_LINK_IFELSE([AC_LANG_PROGRAM([[
215b8bc0d8aSopenharmony_ci  #include <time.h>
216b8bc0d8aSopenharmony_ci]], [[
217b8bc0d8aSopenharmony_ci  localtime_s(NULL, NULL);
218b8bc0d8aSopenharmony_ci]])], [dnl
219b8bc0d8aSopenharmony_ci  have_localtime_s="yes"
220b8bc0d8aSopenharmony_ci  AC_DEFINE([HAVE_LOCALTIME_S], [1], [Define to 1 if you have localtime_s()])
221b8bc0d8aSopenharmony_ci], [dnl
222b8bc0d8aSopenharmony_ci  have_localtime_s="no"
223b8bc0d8aSopenharmony_ci])
224b8bc0d8aSopenharmony_ciAC_MSG_RESULT([$have_localtime_s])
225b8bc0d8aSopenharmony_ci
226b8bc0d8aSopenharmony_ciAC_CHECK_FUNCS([localtime_r])
227b8bc0d8aSopenharmony_ci
228b8bc0d8aSopenharmony_ci
229b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
230b8bc0d8aSopenharmony_cidnl Compiler/Linker Options and Warnings
231b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
232b8bc0d8aSopenharmony_ciAM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)"
233b8bc0d8aSopenharmony_ciAM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_builddir)"
234b8bc0d8aSopenharmony_ciAM_LDFLAGS="$LDFLAGS"
235b8bc0d8aSopenharmony_ciAS_VAR_IF([GCC], [yes], [dnl
236b8bc0d8aSopenharmony_ci    AM_CFLAGS="$AM_CFLAGS -ansi -pedantic-errors"
237b8bc0d8aSopenharmony_ci    AM_CXXFLAGS="$AM_CXXFLAGS -ansi -pedantic-errors"
238b8bc0d8aSopenharmony_ci    AM_CPPFLAGS="$AM_CPPFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
239b8bc0d8aSopenharmony_ci    AM_LDFLAGS="$AM_LDFLAGS -g -Wall"
240b8bc0d8aSopenharmony_ci])
241b8bc0d8aSopenharmony_ci
242b8bc0d8aSopenharmony_cidnl AC_SUBST([AM_CFLAGS])
243b8bc0d8aSopenharmony_cidnl AC_SUBST([AM_CXXFLAGS])
244b8bc0d8aSopenharmony_ciAC_SUBST([AM_CPPFLAGS])
245b8bc0d8aSopenharmony_ciAC_SUBST([AM_LDFLAGS])
246b8bc0d8aSopenharmony_ci
247b8bc0d8aSopenharmony_ci
248b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
249b8bc0d8aSopenharmony_cidnl Output files
250b8bc0d8aSopenharmony_cidnl ---------------------------------------------------------------------------
251b8bc0d8aSopenharmony_ciAC_CONFIG_FILES([
252b8bc0d8aSopenharmony_ci  po/Makefile.in
253b8bc0d8aSopenharmony_ci  Makefile
254b8bc0d8aSopenharmony_ci  libexif.spec
255b8bc0d8aSopenharmony_ci  libexif/Makefile
256b8bc0d8aSopenharmony_ci  test/Makefile
257b8bc0d8aSopenharmony_ci  test/nls/Makefile
258b8bc0d8aSopenharmony_ci  m4m/Makefile
259b8bc0d8aSopenharmony_ci  doc/Makefile
260b8bc0d8aSopenharmony_ci  doc/Doxyfile
261b8bc0d8aSopenharmony_ci  doc/Doxyfile-internals
262b8bc0d8aSopenharmony_ci  libexif.pc
263b8bc0d8aSopenharmony_ci  libexif-uninstalled.pc
264b8bc0d8aSopenharmony_ci  binary-dist/Makefile
265b8bc0d8aSopenharmony_ci  contrib/Makefile
266b8bc0d8aSopenharmony_ci  contrib/examples/Makefile
267b8bc0d8aSopenharmony_ci])
268b8bc0d8aSopenharmony_ciAC_OUTPUT
269b8bc0d8aSopenharmony_ci
270b8bc0d8aSopenharmony_ciGP_CONFIG_OUTPUT
271