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