You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
235 lines
7.4 KiB
235 lines
7.4 KiB
AC_PREREQ(2.59) |
|
AC_INIT([EXIF library], [0.6.21], [libexif-devel@lists.sourceforge.net], [libexif]) |
|
AC_CONFIG_SRCDIR([libexif/exif-data.h]) |
|
AC_CONFIG_HEADERS([config.h]) |
|
AC_CONFIG_MACRO_DIR([auto-m4]) |
|
AM_INIT_AUTOMAKE([-Wall gnu 1.9 dist-bzip2 dist-zip check-news]) |
|
AM_MAINTAINER_MODE |
|
|
|
# Use the silent-rules feature when possible. |
|
m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])]) |
|
AM_SILENT_RULES([no]) |
|
|
|
if test ! -d "$srcdir/m4m"; then |
|
AC_MSG_ERROR([ |
|
You are missing the m4m/ directory in your top |
|
$PACKAGE_TARNAME source directory. |
|
|
|
You are probably using an ill-maintained CVS tree. |
|
Running |
|
|
|
cd $srcdir |
|
cvs co m4m |
|
|
|
and re-running autogen.sh might help. |
|
]) |
|
fi |
|
|
|
GP_CHECK_SHELL_ENVIRONMENT |
|
GP_CONFIG_MSG([Build]) |
|
GP_CONFIG_MSG([Source code location],[${srcdir}]) |
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl Advanced information about versioning: |
|
dnl * "Writing shared libraries" by Mike Hearn |
|
dnl http://plan99.net/~mike/writing-shared-libraries.html |
|
dnl * libtool.info chapter "Versioning" |
|
dnl * libtool.info chapter "Updating library version information" |
|
dnl --------------------------------------------------------------------------- |
|
dnl Versioning: |
|
dnl - CURRENT (Major): Increment if the interface has changes. AGE is always |
|
dnl *changed* at the same time. |
|
dnl - AGE (Micro): Increment if any interfaces have been added; set to 0 |
|
dnl if any interfaces have been removed. Removal has |
|
dnl precedence over adding, so set to 0 if both happened. |
|
dnl It denotes upward compatibility. |
|
dnl - REVISION (Minor): Increment any time the source changes; set to |
|
dnl 0 if you incremented CURRENT. |
|
dnl |
|
dnl To summarize. Any interface *change* increment CURRENT. If that interface |
|
dnl change does not break upward compatibility (ie it is an addition), |
|
dnl increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed, |
|
dnl REVISION is set to 0, otherwise REVISION is incremented. |
|
dnl --------------------------------------------------------------------------- |
|
dnl C:A:R |
|
dnl 12:0:1 0.6.13 |
|
dnl 13:1:0 added EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE (for 0.6.14) |
|
dnl 14:2:0 added XP_ WinXP tags (for 0.6.15) |
|
dnl 14:2:1 0.6.17 |
|
dnl 15:3:0 added exif_loader_get_buf (for 0.6.18) |
|
dnl 15:3:1 0.6.19 |
|
dnl 15:3:2 0.6.20 |
|
dnl 15:3:3 0.6.21 |
|
LIBEXIF_CURRENT=15 |
|
LIBEXIF_AGE=3 |
|
LIBEXIF_REVISION=3 |
|
AC_SUBST([LIBEXIF_AGE]) |
|
AC_SUBST([LIBEXIF_REVISION]) |
|
AC_SUBST([LIBEXIF_CURRENT]) |
|
AC_SUBST([LIBEXIF_CURRENT_MIN],[`expr $LIBEXIF_CURRENT - $LIBEXIF_AGE`]) |
|
LIBEXIF_VERSION_INFO="$LIBEXIF_CURRENT:$LIBEXIF_REVISION:$LIBEXIF_AGE" |
|
AC_SUBST([LIBEXIF_VERSION_INFO]) |
|
|
|
AC_PROG_CC |
|
AC_C_CONST |
|
AC_C_INLINE |
|
dnl FIXME: AC_LIBTOOL_WIN32_DLL |
|
AM_PROG_LIBTOOL |
|
AM_CPPFLAGS="$CPPFLAGS" |
|
GP_CONFIG_MSG([Compiler],[${CC}]) |
|
|
|
|
|
dnl Create a stdint.h-like file containing size-specific integer definitions |
|
dnl that will always be available |
|
AX_NEED_STDINT_H([libexif/_stdint.h]) |
|
|
|
|
|
dnl ------------------------------------------------------------------------ |
|
dnl Whether we're supposed to ship binaries in the tarball |
|
dnl ------------------------------------------------------------------------ |
|
|
|
ship_binaries=false |
|
AC_ARG_ENABLE([ship-binaries], |
|
[AS_HELP_STRING([--enable-ship-binaries], |
|
[Whether to ship binaries in the tarball [default=no]])],[ |
|
if test x$enableval = xyes; then |
|
ship_binaries=true |
|
fi |
|
]) |
|
AM_CONDITIONAL([SHIP_BINARIES],[$ship_binaries]) |
|
GP_CONFIG_MSG([Ship binaries in tarball],[$ship_binaries]) |
|
|
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl Whether -lm is required for our math functions |
|
dnl --------------------------------------------------------------------------- |
|
|
|
# we need sqrt and pow which may be in libm |
|
# We cannot use AC_CHECK_FUNC because if CFLAGS contains |
|
# -Wall -Werror here the check fails because |
|
# char *sqrt() conflicts with double sqrt(double xx) |
|
|
|
# Start by assuming -lm is needed, because it's possible that the little |
|
# test program below will be optimized to in-line floating point code that |
|
# doesn't require -lm, whereas the library itself cannot be so optimized |
|
# (this actually seems to be the case on x86 with gcc 4.2). Assuming the |
|
# reverse means that -lm could be needed but wouldn't be detected below. |
|
|
|
LIBS_orig="$LIBS" |
|
LIBS="$LIBS -lm" |
|
AC_MSG_CHECKING([for math functions in libm]) |
|
AC_LINK_IFELSE([ |
|
#include <math.h> |
|
int main() { |
|
double s = sqrt(0); |
|
double p = pow(s,s); |
|
return (int)p; |
|
} |
|
], [AC_MSG_RESULT(yes)], [ |
|
AC_MSG_RESULT(no) |
|
LIBS="$LIBS_orig" |
|
AC_MSG_CHECKING([for math functions without libm]) |
|
AC_LINK_IFELSE([ |
|
#include <math.h> |
|
int main() { |
|
double s = sqrt(0); |
|
double p = pow(s,s); |
|
return (int)p; |
|
} |
|
], [ |
|
AC_MSG_RESULT(yes) |
|
],[ |
|
AC_MSG_RESULT(no) |
|
AC_MSG_ERROR([*** Could not find sqrt() & pow() functions]) |
|
]) |
|
]) |
|
|
|
# doc support |
|
GP_CHECK_DOC_DIR |
|
GP_CHECK_DOXYGEN |
|
|
|
# Whether to enable the internal docs build. |
|
# |
|
# This takes quite some time due to the generation of lots of call |
|
# graphs, so it is disabled by default. |
|
set_enable_internal_docs=no |
|
AC_ARG_ENABLE([internal-docs], [dnl |
|
AS_HELP_STRING([--enable-internal-docs], |
|
[Build internal code docs if doxygen available])], [dnl |
|
dnl If either --enable-foo nor --disable-foo were given, execute this. |
|
if test "x$enableval" = xno \ |
|
|| test "x$enableval" = xoff \ |
|
|| test "x$enableval" = xfalse; |
|
then |
|
set_enable_internal_docs=no |
|
elif test "x$enableval" = xyes \ |
|
|| test "x$enableval" = xon \ |
|
|| test "x$enableval" = xtrue |
|
then |
|
set_enable_internal_docs=yes |
|
fi |
|
]) |
|
AC_MSG_CHECKING([whether to create internal code docs]) |
|
AC_MSG_RESULT([${set_enable_internal_docs}]) |
|
AM_CONDITIONAL([ENABLE_INTERNAL_DOCS], [test "x${set_enable_internal_docs}" = "xyes"]) |
|
|
|
|
|
# --------------------------------------------------------------------------- |
|
# i18n support |
|
# --------------------------------------------------------------------------- |
|
ALL_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" |
|
AM_PO_SUBDIRS |
|
GP_GETTEXT_HACK([${PACKAGE}-${LIBEXIF_CURRENT_MIN}], |
|
[Lutz Mueller and others]) |
|
AM_GNU_GETTEXT_VERSION([0.14.1]) |
|
AM_GNU_GETTEXT([external]) |
|
AM_ICONV() |
|
GP_GETTEXT_FLAGS() |
|
|
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl Thread-safe functions |
|
dnl --------------------------------------------------------------------------- |
|
AC_CHECK_FUNCS(localtime_r) |
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl Compiler/Linker Options and Warnings |
|
dnl --------------------------------------------------------------------------- |
|
AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)" |
|
AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_builddir)" |
|
AM_LDFLAGS="$LDFLAGS" |
|
if test "x$GCC" = "xyes"; then |
|
AM_CFLAGS="$AM_CFLAGS -ansi -pedantic-error" |
|
AM_CXXFLAGS="$AM_CXXFLAGS -ansi -pedantic-error" |
|
AM_CPPFLAGS="$AM_CPPFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes" |
|
AM_LDFLAGS="$AM_LDFLAGS -g -Wall" |
|
fi |
|
|
|
|
|
|
|
AC_SUBST(AM_CPPFLAGS) |
|
AC_SUBST(AM_LDFLAGS) |
|
|
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl Output files |
|
dnl --------------------------------------------------------------------------- |
|
AC_CONFIG_FILES([ po/Makefile.in |
|
Makefile |
|
libexif.spec |
|
libexif/Makefile |
|
test/Makefile |
|
test/nls/Makefile |
|
m4m/Makefile |
|
doc/Makefile |
|
doc/Doxyfile |
|
doc/Doxyfile-internals |
|
libexif.pc |
|
libexif-uninstalled.pc |
|
binary/Makefile |
|
contrib/Makefile |
|
contrib/examples/Makefile |
|
]) |
|
AC_OUTPUT |
|
|
|
GP_CONFIG_OUTPUT
|
|
|