Remove code related with autotools

This commit is contained in:
Luis Diaz Mas 2018-05-06 19:16:46 +02:00 committed by Luis Díaz Más
parent f1c4734e84
commit abf6e8ec27
20 changed files with 0 additions and 25517 deletions

177
Makefile
View File

@ -1,177 +0,0 @@
# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2017 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: Makefile.in
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 15-Jan-04, ahu: created
#
# Description:
# Simple top-level makefile that mainly forwards to makefiles in
# subdirectories.
#
# Restrictions:
# Requires GNU make.
#
########################################################################
# Makefile is a generated file. Do NOT change any settings in this file.
# Run ./configure with the appropriate options to regenerate the file
# and possibly others.
########################################################################
SHELL = /bin/sh
ENABLE_XMP = 1
.PHONY: all doc config samples xmpsdk \
mostlyclean clean distclean maintainer-clean \
install uninstall tests teste testv
all install: config/config.mk xmpsdk
cd src && $(MAKE) $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
uninstall: config/config.mk
cd src && $(MAKE) $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
doc: config/config.mk
cd doc && $(MAKE) $(MAKECMDGOALS)
# exiv2 application and programs required by test suite
exiv2:
cd src && $(MAKE) $0
# sample programs required by test suite
conntest exifprint remotetest:
cd samples && $(MAKE) $@
samples: config/config.mk
cd samples && $(MAKE) $(MAKECMDGOALS)
# test suite
tests:
cd test && $(MAKE) test
# test suite sub groups
teste testx testv:
cd test && $(MAKE) $@
# convenience for running individual tests
bugfixes-test.sh crw-test.sh curliotest.sh eps-preview-test.sh eps-test.sh exifdata-test.sh \
exiv2-test.sh httpiotest.sh icc-test.sh imagetest.sh iotest.sh iptctest.sh \
modify-test.sh path-test.sh preview-test.sh sshiotest.sh stringto-test.sh tiff-test.sh \
video-test.sh write-test.sh write-video-test.sh write2-test.sh xmpparser-test.sh \
webp-test.sh version-test.sh:
cd test && ./$@
# convenience targets for running selected test scripts
bugtest bugstest testbugs bugfixes:
cd test && ./bugfixes-test.sh
bugfixes-test icc-test preview-test webp-test stdin-test geotag-test http-test:
cd test && ./$@.sh
# convenience target for building individual sample programs
addmoddel exifcomment exifvalue httptest iptctest mmap-test stringto-test \
exifdata iotest key-test path-test taglist write2-test write-test \
convert-test exifdata-test exiv2json iptceasy largeiptc-test prevtest tiff-test \
easyaccess-test geotag iptcprint metacopy mt-test toexv werror-test \
xmpparser-test xmpsample xmpparse :
cd samples && $(MAKE) $(MAKECMDGOALS)
MAJOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MAJOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
MINOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MINOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
VERSION=exiv2-$(MAJOR).$(MINOR)
tarball:
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION).tar.gz
@rm -rf $(VERSION).tar.gz
svn export -q . /tmp/$(VERSION)
@cd /tmp/$(VERSION) ;\
make config ;\
cd - ; cd /tmp ;\
tar cf $(VERSION).tar $(VERSION)/ ;\
gzip $(VERSION).tar ;\
cd - ;\
mv /tmp/$(VERSION).tar.gz . ;\
ls -alt $(VERSION).tar.gz
configure:
make config
config:
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
xmpsdk: config/config.mk
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
if test "x$(ENABLE_XMP)" = "x2016" -o "x$(ENABLE_XMP)" = "x2014" -o "x$(ENABLE_XMP)" = "x2013"; then xmpsdk/buildXMPsdk.sh $(ENABLE_XMP) $(MAKECMDGOALS); fi;
mostlyclean clean: config/config.mk
cd src && $(MAKE) $(MAKECMDGOALS)
cd doc && $(MAKE) $(MAKECMDGOALS)
cd samples && $(MAKE) $(MAKECMDGOALS)
cd test && $(MAKE) $(MAKECMDGOALS)
cd xmpsdk/src && $(MAKE) $(MAKECMDGOALS)
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
rm -f include/exiv2/exv_conf.h
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# for packaging.
distclean: clean
rm -f config.log config.status libtool
rm -f *~ *.bak
if [ -e bin ]; then rm -rf bin ; fi
if [ -e xmpsdk/Adobe ]; then rm -rf xmpsdk/Adobe ; fi
if [ -e /usr/local/include/exiv2 ]; then rm -rf /usr/local/include/exiv2 ; fi
# This removes almost everything, including the configure script!
maintainer-clean: distclean
rm -f configure
-cd test && $(MAKE) $(MAKECMDGOALS)
config/config.mk:
$(error File config/config.mk does not exist. Did you run ./configure?)
rebuild:
make distclean
make config
./configure
make -j
sudo make install
make -j samples
# That's all Folks!
##

View File

@ -1,34 +0,0 @@
#!/bin/sh
# Copyright (c) 2008-2015, Gilles Caulier, <caulier dot gilles at gmail dot com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# We will work on command line using GNU Make
export MAKEFILES_TYPE='Unix Makefiles'
if [ ! -d "build.cmake" ]; then
mkdir build.cmake
fi
cd build.cmake
cmake -G "$MAKEFILES_TYPE" . \
-DCMAKE_BUILD_TYPE=debugfull \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=ON \
-DEXIV2_ENABLE_XMP=ON \
-DEXIV2_ENABLE_PNG=ON \
-DEXIV2_ENABLE_NLS=ON \
-DEXIV2_ENABLE_PRINTUCS2=ON \
-DEXIV2_ENABLE_LENSDATA=ON \
-DEXIV2_ENABLE_COMMERCIAL=OFF \
-DEXIV2_ENABLE_BUILD_SAMPLES=ON \
-DEXIV2_ENABLE_BUILD_PO=ON \
-DEXIV2_ENABLE_VIDEO=ON \
-DEXIV2_ENABLE_WEBREADY=ON \
-DEXIV2_ENABLE_CURL=ON \
-DEXIV2_ENABLE_SSH=ON \
-Wno-dev \
..

View File

@ -1,77 +0,0 @@
#!/bin/sh
# Copyright (c) 2008-2015, Gilles Caulier, <caulier dot gilles at gmail dot com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# Arguments : $1 : install path '/opt/local' (default).
# $2 : build type 'debugfull' to hack (default), 'release' for production.
# $3 : target type 'x86_64' for OSX Lion and later (default), 'i386' for Snow Leopard.
# $4 : extra CXX flags (empty by default)
#
INSTALL_PREFIX=$1
if [ "$INSTALL_PREFIX" = "" ]; then
# Standard Macports install
INSTALL_PREFIX=/opt/local
BUNDLE_INSTALL_DIR=/Applications/
else
# Specific install path as /opt/exiv2 to build bundle PKG for example
BUNDLE_INSTALL_DIR=${INSTALL_PREFIX}/Applications/
fi
BUILD_TYPE=$2
if [ "$BUILD_TYPE" = "" ]; then
BUILD_TYPE=debugfull
fi
TARGET_TYPE=$3
if [ "$TARGET_TYPE" = "" ]; then
TARGET_TYPE=x86_64
fi
EXTRA_CXX_FLAGS=$4
# Set devel env from MacOS-X through MacPorts
export QTDIR=${INSTALL_PREFIX}/lib
export QT_INCLUDE_DIR=${INSTALL_PREFIX}/include
export PATH=$QTDIR/bin:$PATH
export PKG_CONFIG_PATH=${INSTALL_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH
# We will work on command line using GNU make
export MAKEFILES_TYPE='Unix Makefiles'
echo "Installing to $INSTALL_PREFIX for target $TARGET_TYPE with build mode $BUILD_TYPE and extra CXX flags $EXTRA_CXX_FLAGS"
if [ ! -d "build.cmake" ]; then
mkdir build.cmake
fi
cd build.cmake
cmake -G "$MAKEFILES_TYPE" . \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_OSX_ARCHITECTURES=${TARGET_TYPE} \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}" \
-DCMAKE_COLOR_MAKEFILE=ON \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DCMAKE_INSTALL_NAME_DIR=${INSTALL_PREFIX}/lib \
-DCMAKE_SYSTEM_PREFIX_PATH="${INSTALL_PREFIX};/usr" \
-DCMAKE_MODULE_PATH="${INSTALL_PREFIX}/share/cmake/modules" \
-DBUILD_SHARED_LIBS=ON \
-DEXIV2_ENABLE_XMP=ON \
-DEXIV2_ENABLE_PNG=ON \
-DEXIV2_ENABLE_NLS=ON \
-DEXIV2_ENABLE_PRINTUCS2=ON \
-DEXIV2_ENABLE_LENSDATA=ON \
-DEXIV2_ENABLE_COMMERCIAL=OFF \
-DEXIV2_ENABLE_BUILD_SAMPLES=ON \
-DEXIV2_ENABLE_BUILD_PO=ON \
-DEXIV2_ENABLE_VIDEO=ON \
-DEXIV2_ENABLE_WEBREADY=ON \
-DEXIV2_ENABLE_CURL=ON \
-DEXIV2_ENABLE_SSH=ON \
-Wno-dev \
..

View File

@ -1,67 +0,0 @@
#!/bin/bash
# Copyright (c) 2008-2016, Gilles Caulier, <caulier dot gilles at gmail dot com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# Arguments : $1 : MXE build root path to MXE bundle dir (dir must be suffixed by .win32 or .win64 depending of MXE target).
# $2 : build type : 'debugfull' to hack (default), 'release' for production, relwithdebinfo for packaging.
# $3 : Cmake extra configure options.
MXE_BUILDROOT=$1
if [[ $MXE_BUILDROOT == *.win32 ]]; then
echo "MXE target : 32 bits shared"
MXE_BUILD_TARGETS="i686-w64-mingw32.shared"
elif [[ $MXE_BUILDROOT == *.win64 ]]; then
echo "MXE target : 64 bits shared"
MXE_BUILD_TARGETS="x86_64-w64-mingw32.shared"
else
echo "Invalid MXE target!"
exit -1
fi
BUILD_TYPE=$2
if [ "$BUILD_TYPE" = "" ]; then
BUILD_TYPE=relwithdebinfo
fi
MXE_INSTALL_PREFIX=${MXE_BUILDROOT}/usr/${MXE_BUILD_TARGETS}/
MXE_TOOLCHAIN=${MXE_INSTALL_PREFIX}/share/cmake/mxe-conf.cmake
OPTIONS=$3
echo "Installing to $MXE_BUILDROOT for target $MXE_BUILD_TARGETS with build mode $BUILD_TYPE and configure options $OPTIONS"
# Pathes rules
ORIG_PATH="$PATH"
export PATH=$MXE_BUILDROOT/usr/bin:$MXE_INSTALL_PREFIX/qt5/bin:$PATH
if [ ! -d "build" ]; then
mkdir build
fi
cd build
${MXE_BUILD_TARGETS}-cmake -G "Unix Makefiles" . \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DCMAKE_COLOR_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX=${MXE_INSTALL_PREFIX} \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DCMAKE_TOOLCHAIN_FILE=${MXE_TOOLCHAIN} \
${OPTIONS} \
..
CMAKE_VAL_RET=$?
export PATH=$ORIG_PATH
exit $CMAKE_VAL_RET

View File

@ -1,177 +0,0 @@
# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2017 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: Makefile.in
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 15-Jan-04, ahu: created
#
# Description:
# Simple top-level makefile that mainly forwards to makefiles in
# subdirectories.
#
# Restrictions:
# Requires GNU make.
#
########################################################################
# Makefile is a generated file. Do NOT change any settings in this file.
# Run ./configure with the appropriate options to regenerate the file
# and possibly others.
########################################################################
SHELL = /bin/sh
ENABLE_XMP = @ENABLE_XMP@
.PHONY: all doc config samples xmpsdk \
mostlyclean clean distclean maintainer-clean \
install uninstall tests teste testv
all install: config/config.mk xmpsdk
cd src && $(MAKE) $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
uninstall: config/config.mk
cd src && $(MAKE) $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
doc: config/config.mk
cd doc && $(MAKE) $(MAKECMDGOALS)
# exiv2 application and programs required by test suite
exiv2:
cd src && $(MAKE) $0
# sample programs required by test suite
conntest exifprint remotetest:
cd samples && $(MAKE) $@
samples: config/config.mk
cd samples && $(MAKE) $(MAKECMDGOALS)
# test suite
tests:
cd test && $(MAKE) test
# test suite sub groups
teste testx testv:
cd test && $(MAKE) $@
# convenience for running individual tests
bugfixes-test.sh crw-test.sh curliotest.sh eps-preview-test.sh eps-test.sh exifdata-test.sh \
exiv2-test.sh httpiotest.sh icc-test.sh imagetest.sh iotest.sh iptctest.sh \
modify-test.sh path-test.sh preview-test.sh sshiotest.sh stringto-test.sh tiff-test.sh \
video-test.sh write-test.sh write-video-test.sh write2-test.sh xmpparser-test.sh \
webp-test.sh version-test.sh:
cd test && ./$@
# convenience targets for running selected test scripts
bugtest bugstest testbugs bugfixes:
cd test && ./bugfixes-test.sh
bugfixes-test icc-test preview-test webp-test stdin-test geotag-test http-test:
cd test && ./$@.sh
# convenience target for building individual sample programs
addmoddel exifcomment exifvalue httptest iptctest mmap-test stringto-test \
exifdata iotest key-test path-test taglist write2-test write-test \
convert-test exifdata-test exiv2json iptceasy largeiptc-test prevtest tiff-test \
easyaccess-test geotag iptcprint metacopy mt-test toexv werror-test \
xmpparser-test xmpsample xmpparse :
cd samples && $(MAKE) $(MAKECMDGOALS)
MAJOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MAJOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
MINOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MINOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
VERSION=exiv2-$(MAJOR).$(MINOR)
tarball:
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION).tar.gz
@rm -rf $(VERSION).tar.gz
svn export -q . /tmp/$(VERSION)
@cd /tmp/$(VERSION) ;\
make config ;\
cd - ; cd /tmp ;\
tar cf $(VERSION).tar $(VERSION)/ ;\
gzip $(VERSION).tar ;\
cd - ;\
mv /tmp/$(VERSION).tar.gz . ;\
ls -alt $(VERSION).tar.gz
configure:
make config
config:
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
xmpsdk: config/config.mk
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
if test "x$(ENABLE_XMP)" = "x2016" -o "x$(ENABLE_XMP)" = "x2014" -o "x$(ENABLE_XMP)" = "x2013"; then xmpsdk/buildXMPsdk.sh $(ENABLE_XMP) $(MAKECMDGOALS); fi;
mostlyclean clean: config/config.mk
cd src && $(MAKE) $(MAKECMDGOALS)
cd doc && $(MAKE) $(MAKECMDGOALS)
cd samples && $(MAKE) $(MAKECMDGOALS)
cd test && $(MAKE) $(MAKECMDGOALS)
cd xmpsdk/src && $(MAKE) $(MAKECMDGOALS)
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
cd po && $(MAKE) $(MAKECMDGOALS)
rm -f include/exiv2/exv_conf.h
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# for packaging.
distclean: clean
rm -f config.log config.status libtool
rm -f *~ *.bak
if [ -e bin ]; then rm -rf bin ; fi
if [ -e xmpsdk/Adobe ]; then rm -rf xmpsdk/Adobe ; fi
if [ -e /usr/local/include/exiv2 ]; then rm -rf /usr/local/include/exiv2 ; fi
# This removes almost everything, including the configure script!
maintainer-clean: distclean
rm -f configure
-cd test && $(MAKE) $(MAKECMDGOALS)
config/config.mk:
$(error File config/config.mk does not exist. Did you run ./configure?)
rebuild:
make distclean
make config
./configure
make -j
sudo make install
make -j samples
# That's all Folks!
##

View File

@ -1,178 +0,0 @@
Configuration and Build Strategy 01-Sep-2000, ahu
--------------------------------
This is *not* an installation manual. See README and INSTALL for that.
This document describes the main guidelines used for the configuration
and build system of this software package and summarizes the steps for
the involved processes.
1. Overview and Rationale
----------------------
The `autoconf' package is used to gather system configuration data
(see `info autoconf'). System configuration data is kept in `config.mk'
and `config.h'. These files are included from Makefiles and source
files, respectively.
System configuration is done from the top level of the directory tree.
Usually, `./configure' is enough to create all system configuration
files and Makefiles. In turn, `make distclean' issued from the top
level directory will remove all files created by the configuration and
build processes (while `make distclean' issued in a subdirectory will
only remove files created by the build process but no configuration
files).
Makefiles should follow GNU Makefile conventions (see `info make').
Most targets in the top level Makefile simply call `make' in each
subdirectory and recursively perform a given task. This ensures that
Makefiles in the subdirectories are sufficently independent. It must
be possible to use all standard targets in all subdirectories to
independently work in a subdirectory with consistent targets.
Using an existing, proven and well documented configuration system
saves us the effort of re-inventing the wheel. It allows us to draw
from a wealth of experience in this area. Building on carefully chosen
existing standards and conventions should not only save us from some
common pitfalls but also help people familiarize with our development
environment quickly.
2. Configuration
-------------
Preparing a software package for distribution (see section 2.1) is
very much a one time job. Maintenance of an already prepared package
is less challenging (see section 2.2) and only needs to be performed
from time to time.
The strength of using the `autoconf' process is that configuring and
building a package, once it is prepared, is very simple (see section
2.3). In most cases, a `./configure; make' in the top level directory
should be enough to configure and build the entire package.
2.1 The steps to prepare a software package for distribution
--------------------------------------------------------
1. Run `autoscan' in top level directory
Input: source files
Output: `configure.scan'
2. Manually examine and fix `configure.scan'
3. Rename `configure.scan' to `configure.in'
4. Manually create `acconfig.h' for additional AC_DEFINE'd symbols
5. Run `autoheader'
Input: `configure.in' `acconfig.h'
Output: `config.h.in'
6. Run `autoconf'
Input: `configure.in' `acconfig.h'
Output: `configure'
7. Manually create `Makefile.in' template
Here is a complete diagram showing this process (from `info autoconf'):
source files --> [autoscan*] --> [configure.scan] --> configure.in
configure.in --. .------> autoconf* -----> configure
+---+
[aclocal.m4] --+ `---.
[acsite.m4] ---' |
+--> [autoheader*] -> [config.h.in]
[acconfig.h] ----. |
+-----'
[config.h.top] --+
[config.h.bot] --'
Makefile.in -------------------------------> Makefile.in
2.2 Maintenance of a prepared package
---------------------------------
Only the most frequently used maintenance processes are described
here.
2.2.1 `Makefile' changes
------------------
`Makefile's are generated from the respective `Makefile.in' template
by the `configure' script. Therefore, if a change to a `Makefile' is
needed, it must be done in the `Makefile.in' template and the
`configure' script must be run to re-generate the `Makefile'.
2.2.2 `configure.in' and `acconfig.h' updates
---------------------------------------
Such updates may be required to add a new feature or test to the
package. Also, from time to time, e.g., after substantial source code
changes or an upgrade of the `autoconf' package, it may be useful to
re-run `autoscan' and compare the resulting `configure.scan' with the
existing `configure.in' and check for new macros and tests suggested
in `configure.scan'. Usually, you can then easily update `configure.in'
manually.
After applying the changes, `configure' and `config.h.in' need to be
re-built using `autoconf' and `autoheader', respectively (see section
2.1, steps 5. and 6.).
2.3 The steps to configuring and building a software package
--------------------------------------------------------
1. Run `./configure' in top level directory
Input: `Makefile.in' `config.h.in'
Output: `Makefile' `config.mk' `config.h'
2. Run `make' in the top level directory
Input: `Makefile' `config.mk' `config.h' source code
Output: Executables, Libraries, etc.
The diagram showing this process (from `info autoconf') looks
like this:
.-------------> config.cache
configure* ------------+-------------> config.log
|
[config.h.in] -. v .-> [config.h] -.
+--> config.status* -+ +--> make*
Makefile.in ---' `-> Makefile ---'
3. Makefile Conventions
--------------------
Makefiles should follow GNU Makefile conventions (see `info make').
3.1 Standard Makefile Targets
-------------------------
`all'
Compile the entire program. Should be the default target.
`check'
Perform self-tests (if any).
`install'
Compile the program and copy executables, libraries, etc., to the
file names where they should reside for actual use.
`uninstall'
Delete all the installed files created by `install'.
`clean'
Delete all files that are normally created by building the program.
`mostlyclean'
Delete all files that are normally created by building the program,
except executables, libraries, etc.
`distclean'
In the top level directory, delete all files that are created by
configuring or building the program.
In a subdirectory, same as `clean'.
`maintainer-clean'
Delete almost everything from the current directory that can be
reconstructed with this Makefile.
If in doubt about the standard targets and for more details, see GNU
Makefile conventions in `info make'.

10200
config/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

1505
config/config.guess vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,162 +0,0 @@
#pragma once
#ifndef __CONFIG__H__
#define __CONFIG__H__
/* Define to 1 if you want to use libssh */
#undef USE_SSH
/* Define to 1 if you want to use libcurl in httpIo */
#undef USE_CURL
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
#ifndef EXV_COMMERCIAL_VERSION
/* Define to 1 to enable translation of Nikon lens names. */
#undef HAVE_LENSDATA
/* Define to 1 if translation of program messages to the user's
native language is requested. */
#undef ENABLE_NLS
#endif /* !EXV_COMMERCIAL_VERSION */
/* Define to 1 to include video code in the library */
#undef ENABLE_VIDEO
/* Define to 1 to include webready code in the library */
#undef ENABLE_WEBREADY
/* Define to 1 if you have the `iconv' function. */
#undef HAVE_ICONV
/* Define to `const' or to empty, depending on the second argument of `iconv'. */
#undef ICONV_CONST
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
/* Define to 1 if you have the <regex.h> header file. */
#undef HAVE_REGEX_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
/* Define to 1 if stdbool.h conforms to C99. */
#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the `timegm' function. */
#undef HAVE_TIMEGM
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the `zlib' library. */
#undef HAVE_LIBZ
/* Define to 1 if you have the Adobe XMP Toolkit. */
#undef HAVE_XMP_TOOLKIT
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Define if C++ visibility support is enabled */
#undef WANT_VISIBILITY_SUPPORT
/* Define if we have / are building a shared library (DLL) */
#undef HAVE_DLL
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the name of this package. */
#undef PACKAGE
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
#endif

View File

@ -1,61 +0,0 @@
# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: config.make
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 26-Feb-05, ahu: created
#
# Description:
# Simple makefile to automate config tasks
#
# Restrictions:
# Requires GNU make.
#
# Default make target
all: config
.PHONY: all config mostlyclean clean distclean maintainer-clean
config:
autoconf -o ../configure
mostlyclean clean:
rm -f configure.scan autoscan.log
rm -rf autom4te.cache/
rm -f *~ *.bak *#
distclean: clean
rm -f config.h ../src/exv_conf.h config.mk exiv2.pc
# This removes almost everything, including the configure script!
maintainer-clean: distclean

View File

@ -1,239 +0,0 @@
# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: config.mk.in
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 10-Dec-03, ahu: created
#
# Description:
# Exiv2 system configuration file.
#
# **********************************************************************
# Exiv2 version for use with libtool (-version-info argument)
EXIV2_LTVERSION = @EXIV2_LTVERSION@
# Compile for use with a commercial license
COMMERCIAL_VERSION = @COMMERCIAL_VERSION@
# **********************************************************************
# Libtool
LIBTOOL = $(top_srcdir)/libtool
LIBTOOL_DEPS = $(top_srcdir)/@LIBTOOL_DEPS@
# **********************************************************************
# C++ Compiler and precompiler
CXX = @CXX@
GXX = @GXX@
PREFIX = @PREFIX@
# Common compiler flags (warnings, symbols [-ggdb], optimization [-O2], etc)
CXXFLAGS = @CXXFLAGS@
ifeq ($(GXX),yes)
CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W
endif
# Command to run only the preprocessor
CXXCPP = @CXXCPP@
# Preprocessor flags
CPPFLAGS = -I../src -I../include/ -I../include/exiv2 @CPPFLAGS@ -DEXV_LOCALEDIR=\"$(localedir)\"
ifeq ($(COMMERCIAL_VERSION),yes)
CPPFLAGS += -DEXV_COMMERCIAL_VERSION=1
endif
# Linker flags and libraries
LDFLAGS = @LDFLAGS@
LIBS = @LTLIBINTL@ @LTLIBICONV@ @LIBS@
# Suffix of executables
EXEEXT := @EXEEXT@
# **********************************************************************
# C Compiler
CC = @CC@
GCC = @GCC@
CFLAGS = @CFLAGS@
ifeq ($(GCC),yes)
CFLAGS += -Wall
endif
# **********************************************************************
# XMP support
ENABLE_XMP = @ENABLE_XMP@
CPPFLAGS_MORE=-Wundef -pedantic
ifeq ($(ENABLE_XMP),1)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/include
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/src
XMPSDK_LIBS = -l$(XMPSDK_LIBRARY)
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2016)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607/public/include \
-DEXV_ADOBE_XMPSDK=2016
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201607
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2014)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412/public/include \
-DEXV_ADOBE_XMPSDK=2014
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201412
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
ifeq ($(ENABLE_XMP),2013)
XMPSDK_LIBRARY = xmpsdk
XMPSDK_DIR = $(top_srcdir)/xmpsdk
XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306 \
-I$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306/public/include \
-DEXV_ADOBE_XMPSDK=2013
XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/Adobe/XMP-Toolkit-SDK-CC201306
XMPSDK_LIBS = -lXMPCore
CPPFLAGS_MORE = X
endif
# Enable additional warnings. XMP Toolkit doesn't compile with these.
ifeq ($(GXX),yes)
ifneq ($(CPPFLAGS_MORE),X)
CXXFLAGS += $(CPPFLAGS_MORE)
endif
endif
# Libcurl need for httpIO if it's selected
CURL_CPPFLAGS = @CURL_CPPFLAGS@
CURL_LDFLAGS = @CURL_LDFLAGS@
CURL_LIBS = @CURL_LIBS@
# Libssh need for SshIO if it's selected
USE_SSH = @USE_SSH@
SSH_CPPFLAGS = @SSH_CPPFLAGS@
SSH_LDFLAGS = @SSH_LDFLAGS@
SSH_LIBS = @SSH_LIBS@
# Expat library needed to compile the XMP Toolkit
EXPAT_LDFLAGS = @EXPAT_LDFLAGS@
EXPAT_CPPFLAGS = @EXPAT_CPPFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
# **********************************************************************
# Video support
ENABLE_VIDEO = @ENABLE_VIDEO@
# **********************************************************************
# Libraries, include files, functions
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_STDINT = @HAVE_STDINT@
HAVE_TIMEGM = @HAVE_TIMEGM@
# **********************************************************************
# Advanced auto-dependency generation
# http://make.paulandlesley.org/autodep.html
DEP_TRACKING = @DEP_TRACKING@
ifdef DEP_TRACKING
# Directory for dependency files
DEPDIR = .deps
# Command to run the compiler or preprocessor to produce
# dependencies. If you're not using gcc, you may need to change
# this to something suitable for your compiler or simply unset
# the variable. See the link above for suggestions.
MAKEDEPEND = $(CXX) -MM $(CPPFLAGS) -o $*.d $<
# Dependency files post-process commands
POSTDEPEND = if test ! -d $(DEPDIR); then mkdir $(DEPDIR); fi; \
if test -e $*.d; then cp $*.d $(DEPDIR)/$*.d; \
sed -e 's/^\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $(DEPDIR)/$*.d; \
$(RM) $*.d; fi
# Compiler flags to generate dependency files at the same time
# as object files (for gcc)
ifeq ($(GXX),yes)
CXXFLAGS += -MMD
CFLAGS += -MMD
MAKEDEPEND =
endif
endif
# **********************************************************************
# Compilation shortcuts
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
COMPILE.c = $(CC) $(CFLAGS) -c
# LINK.cc does not need $(LIBS), libtool's dark magic takes care of that
# when linking a binary with a libtool library.
LINK.cc = $(CXX) $(LDFLAGS)
# **********************************************************************
# Installation programs
INSTALL_EXE = @INSTALL@
INSTALL_PROGRAM = $(INSTALL_EXE)
INSTALL_DATA = $(INSTALL_EXE) -m 644
INSTALL_DIRS = $(top_srcdir)/config/mkinstalldirs
# **********************************************************************
# Other programs
RM = rm -f
# **********************************************************************
# Directories
prefix = @prefix@
exec_prefix = @exec_prefix@
# Source directory
srcdir = @srcdir@
# Installation directories
bindir = @bindir@
datarootdir = @datarootdir@
datadir = @datadir@
localedir = $(datadir)/locale
incdir = @includedir@/exiv2
libdir = @libdir@
mandir = @mandir@
man1dir = $(mandir)/man1
# That's all Folks!
##

View File

@ -1,666 +0,0 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2007 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's _LT_CC_BASENAME.
for cc_temp in $CC""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | cygwin* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
rdos*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
wl='-Wl,'
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = no; then
hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
;;
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
;;
*)
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
else
ld_shlibs=no
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
# only about the one the linker finds when passed -lNAME. This is the last
# element of library_names_spec in libtool.m4, or possibly two of them if the
# linker has special search rules.
library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
library_names_spec='$libname.a'
;;
aix4* | aix5*)
library_names_spec='$libname$shrext'
;;
amigaos*)
library_names_spec='$libname.a'
;;
beos*)
library_names_spec='$libname$shrext'
;;
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
cygwin* | mingw* | pw32*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
library_names_spec='$libname$shrext'
;;
dgux*)
library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
library_names_spec='$libname$shrext$versuffix' ;;
*)
library_names_spec='$libname$shrext' ;;
esac
;;
gnu*)
library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
library_names_spec='$libname$shrext'
;;
interix[3-9]*)
library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux* | k*bsd*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
library_names_spec='$libname$shrext'
;;
netbsd*)
library_names_spec='$libname$shrext'
;;
newsos6)
library_names_spec='$libname$shrext'
;;
nto-qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
library_names_spec='$libname$shrext'
;;
rdos*)
;;
solaris*)
library_names_spec='$libname$shrext'
;;
sunos4*)
library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.3*)
library_names_spec='$libname$shrext'
;;
sysv4*MP*)
library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
uts4*)
library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Format of library name prefix.
libname_spec="$escaped_libname_spec"
# Library names that the linker finds when passed -lNAME.
library_names_spec="$escaped_library_names_spec"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
EOF

1739
config/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,523 +0,0 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(exiv2, 0.26, ahuggel@gmx.net)
# See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
EXIV2_LTVERSION=26:0:0
PACKAGE=$PACKAGE_NAME
VERSION=$PACKAGE_VERSION
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(EXIV2_LTVERSION)
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_CONFIG_SRCDIR([src/exif.cpp])
AC_CONFIG_HEADER([./config/config.h])
AC_CONFIG_AUX_DIR([./config])
# ---------------------------------------------------------------------------
# Checks for programs.
# ---------------------------------------------------------------------------
# Don't use -g to compile C++ code
ac_cv_prog_cxx_g=no
AC_PROG_CXX
AC_PROG_CXXCPP
# Don't use -g to compile C code
ac_cv_prog_cc_g=no
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_CANONICAL_HOST
# ---------------------------------------------------------------------------
# i18n support
# ---------------------------------------------------------------------------
AM_GNU_GETTEXT([external])
# ---------------------------------------------------------------------------
# Libtool support
# ---------------------------------------------------------------------------
LT_INIT
AC_SUBST([LIBTOOL_DEPS])
# ---------------------------------------------------------------------------
# Checks for libraries.
# ---------------------------------------------------------------------------
AC_CHECK_LIBM()
LIBS="$LIBS $LIBM"
CHECK_ZLIB()
AC_SUBST(HAVE_LIBZ,$HAVE_LIBZ)
AM_ICONV
# ---------------------------------------------------------------------------
# Checks for header files.
# ---------------------------------------------------------------------------
AC_HEADER_STDC
AC_CHECK_HEADERS([libintl.h locale.h malloc.h stdint.h stdlib.h string.h unistd.h sys/mman.h utime.h regex.h regex])
# ---------------------------------------------------------------------------
# Checks for typedefs, structures, and compiler characteristics.
# ---------------------------------------------------------------------------
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_STRUCT_TM
#AC_TYPE_UINT8_T
#AC_TYPE_UINT16_T
#AC_TYPE_UINT32_T
#AC_TYPE_INT16_T
#AC_TYPE_INT32_T
AC_SUBST(GXX,$GXX)
AC_SUBST(GCC,$GCC)
# ---------------------------------------------------------------------------
# Checks for library functions.
# ---------------------------------------------------------------------------
#AC_FUNC_MKTIME - fails when using old autoconf with gcc-4.3, see eg. Debian Bug#425544, and we don't use the result anyway
AC_FUNC_MMAP
AC_FUNC_STRERROR_R
AC_CHECK_FUNCS([gmtime_r lstat memset mmap munmap strchr strerror strtol])
AC_CHECK_FUNCS([timegm], HAVE_TIMEGM=1)
AC_SUBST(HAVE_TIMEGM,$HAVE_TIMEGM)
# ---------------------------------------------------------------------------
# Miscellaneous
# ---------------------------------------------------------------------------
AC_MSG_CHECKING([whether to enable dependency tracking])
AC_ARG_ENABLE(dependency-tracking,
[ --disable-dependency-tracking speeds up one-time build],
USE_TRACKING=$enableval, USE_TRACKING=yes)
AC_MSG_RESULT($USE_TRACKING)
DEP_TRACKING=
if test "$USE_TRACKING" = "yes"; then
DEP_TRACKING=1
fi
AC_SUBST(DEP_TRACKING,$DEP_TRACKING)
AC_MSG_CHECKING([whether to enable symbol visibility support])
visibility=yes
# visibility support in cygwin/ming generates 1000's of warning, set off by default
case "$host_os" in
*mingw* | *cygwin*) visibility=no ;;
esac
AC_ARG_ENABLE(visibility,
[ --disable-visibility do not use symbol visibility support ],
VISIBILITY_SUPPORT=$enableval, VISIBILITY_SUPPORT=$visibility)
AC_MSG_RESULT($VISIBILITY_SUPPORT)
if test "$VISIBILITY_SUPPORT" = "yes"; then
# Sun Studio C++ compiler (which apparently ignores -fvisibility-inlines-hidden)
AX_CXX_CHECK_FLAG(-xldscope=hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no])
if test "$VISIBILITY_SUPPORT" = "yes"; then
CXXFLAGS="${CXXFLAGS} -xldscope=hidden"
else
# GNU g++
AX_CXX_CHECK_FLAG(-fvisibility-inlines-hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no])
if test "$VISIBILITY_SUPPORT" = "yes"; then
CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden"
fi
fi
if test "$VISIBILITY_SUPPORT" = "yes"; then
AC_DEFINE(WANT_VISIBILITY_SUPPORT)
fi
if test "$enable_shared" = "yes"; then
AC_DEFINE(HAVE_DLL)
fi
fi
AC_MSG_CHECKING([whether to use the lens database for Nikon lens names])
AC_ARG_ENABLE(lensdata,
[ --disable-lensdata do not use the lens database for Nikon lens names ],
USE_LENSDATA=$enableval, USE_LENSDATA=yes)
AC_MSG_RESULT($USE_LENSDATA)
if test "$USE_LENSDATA" = "yes"; then
AC_DEFINE(HAVE_LENSDATA,1)
fi
AC_MSG_CHECKING([whether to compile a commercial version of the Exiv2 library])
AC_ARG_ENABLE(commercial,
[ --enable-commercial compile with the EXV_COMMERCIAL_VERSION symbol set ],
COMMERCIAL_VERSION=$enableval, COMMERCIAL_VERSION=no)
AC_MSG_RESULT($COMMERCIAL_VERSION)
AC_SUBST(COMMERCIAL_VERSION,$COMMERCIAL_VERSION)
AC_MSG_CHECKING([whether to enable XMP support (requires expat)])
AC_ARG_ENABLE(xmp,
[ --disable-xmp do not compile XMP support and the XMP Toolkit ],
USE_XMP_TOOLKIT=$enableval, USE_XMP_TOOLKIT=yes)
AC_MSG_RESULT($USE_XMP_TOOLKIT)
AC_MSG_CHECKING([whether to compile with video support])
AC_ARG_ENABLE(video,
[ --enable-video compile with video support ],
USE_VIDEO=$enableval, USE_VIDEO=no)
AC_MSG_RESULT($USE_VIDEO)
ENABLE_VIDEO=
if test "$USE_VIDEO" = "yes"; then
ENABLE_VIDEO=1
AC_DEFINE(ENABLE_VIDEO)
fi
AC_SUBST(ENABLE_VIDEO,$ENABLE_VIDEO)
AC_MSG_CHECKING([whether to compile with webready support])
AC_ARG_ENABLE(webready,
[ --enable-webready compile Exiv2 library with webready support ],
ENABLE_WEBREADY=$enableval, ENABLE_WEBREADY=no)
AC_MSG_RESULT($ENABLE_WEBREADY)
if test "$enable_webready" = "yes"; then
AC_DEFINE(ENABLE_WEBREADY)
fi
echo "CPPFLAGS = $CPPFLAGS"
if test "$enable_webready" = "yes"; then
# libcurl option might change flags, so we save them initially
_cppflags="${CPPFLAGS}"
_ldflags="${LDFLAGS}"
AC_ARG_WITH(curl,
[ --with-curl[[=DIR]] use libcurl in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
CURL_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
LDFLAGS="${LDFLAGS} -L$withval/lib"
fi
])
USE_CURL=
if test "$with_curl" != "no"; then
# Check for libcurl library
found_curl=yes
CURL_CPPFLAGS=
CURL_LDFLAGS=
CURL_LIBS=
AC_CHECK_HEADERS(curl/curl.h,
AC_CHECK_LIB(curl, curl_easy_init,[
USE_CURL=yes
AC_DEFINE([USE_CURL], [1], [Use libcurl library])
CURL_LIBS="-lcurl"
if test "x${CURL_DIR}" != "x"; then
CURL_CPPFLAGS="-I${CURL_DIR}/include"
CURL_LDFLAGS="-L${CURL_DIR}/lib"
fi],[found_curl=no]),[found_curl=no])
if test "$found_curl" = "no"; then
AC_MSG_ERROR(either specify a valid curl installation with --with-curl=DIR or use --without-curl)
fi
AC_SUBST(CURL_CPPFLAGS)
AC_SUBST(CURL_LDFLAGS)
AC_SUBST(CURL_LIBS)
fi
CPPFLAGS=${_cppflags}
LDFLAGS=${_ldflags}
# libssh option might change flags, so we save them initially
_cppflags="${CPPFLAGS}"
_ldflags="${LDFLAGS}"
AC_ARG_WITH(ssh,
[ --with-ssh[[=DIR]] use libssh in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
SSH_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
LDFLAGS="${LDFLAGS} -L$withval/lib"
fi
])
USE_SSH=
if test "$with_ssh" != "no"; then
# Check for libssh library
found_ssh=yes
SSH_CPPFLAGS=
SSH_LDFLAGS=
SSH_LIBS=
AC_CHECK_HEADERS(libssh/libssh.h,
AC_CHECK_LIB(ssh, ssh_new,[
USE_SSH=1
AC_DEFINE([USE_SSH], [1], [Use libssh library])
SSH_LIBS="-lssh"
if test "x${SSH_DIR}" != "x"; then
SSH_CPPFLAGS="-I${SSH_DIR}/include"
SSH_LDFLAGS="-L${SSH_DIR}/lib"
fi],[found_ssh=no]),[found_ssh=no])
if test "$found_ssh" = "no"; then
AC_MSG_ERROR(either specify a valid libssh installation with --with-ssh=DIR or use --without-ssh)
fi
AC_SUBST(SSH_CPPFLAGS)
AC_SUBST(SSH_LDFLAGS)
AC_SUBST(SSH_LIBS)
fi
AC_SUBST(USE_SSH,$USE_SSH)
CPPFLAGS=${_cppflags}
LDFLAGS=${_ldflags}
fi
# expat option might change flags, so we save them initially
_cppflags="${CPPFLAGS}"
_ldflags="${LDFLAGS}"
AC_ARG_WITH(expat,
[ --with-expat[[=DIR]] use libexpat in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
EXPAT_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval/include"
LDFLAGS="${LDFLAGS} -L$withval/lib"
fi
])
ENABLE_XMP=
if test "$USE_XMP_TOOLKIT" = "yes"; then
# Check for expat library
found_expat=yes
EXPAT_CPPFLAGS=
EXPAT_LDFLAGS=
EXPAT_LIBS=
PTHREAD_LIBS=
if test "$with_expat" != "no"; then
AC_CHECK_HEADERS(expat.h,
AC_CHECK_LIB(expat, XML_ParserCreate,[
AC_DEFINE([HAVE_EXPAT], [], [Have Expat XML parser library])
EXPAT_LIBS="-lexpat"
if test "x${EXPAT_DIR}" != "x"; then
EXPAT_CPPFLAGS="-I${EXPAT_DIR}/include"
EXPAT_LDFLAGS="-L${EXPAT_DIR}/lib"
fi],[found_expat=no]),[found_expat=no])
PTHREAD="-lpthread"
fi
if test "$with_expat" = "no" -o "$found_expat" = "no"; then
AC_MSG_ERROR(either specify a valid expat installation with --with-expat=DIR or disable XMP support with --disable-xmp)
fi
AC_DEFINE(HAVE_XMP_TOOLKIT,1)
ENABLE_XMP=1
AC_SUBST(EXPAT_CPPFLAGS)
AC_SUBST(EXPAT_LDFLAGS)
AC_SUBST(EXPAT_LIBS)
AC_CHECK_LIB(pthread, pthread_create, [PTHREAD_LIBS+=-lpthread])
AC_SUBST(PTHREAD_LIBS)
fi
AC_SUBST(ENABLE_XMP)
CPPFLAGS=${_cppflags}
LDFLAGS=${_ldflags}
# Udi's hack to add libiconv to the Libs section in exiv2.pc
if test "$enable_shared" = "no"; then
EXV_LIB_STATIC=$LTLIBICONV
else
EXV_LIB_STATIC=
fi
AC_SUBST(EXV_LIB_STATIC)
# Add flag for DLL on Windows
#
# This must happen after all other configure checks, because
# the "-no-undefined" flag is only for libtool and must not be
# passed to GCC by accident.
# version.cpp requires link to psapi/Windows and dl/Unix builds
case "$host_os" in
*mingw* | *cygwin*)
LDFLAGS="$LDFLAGS -no-undefined -lpsapi -lwldap32 -lws2_32" ;;
*linux-gnu*)
LDFLAGS="$LDFLAGS -ldl -lpthread" ;;
*)
LDFLAGS="$LDFLAGS -lpthread" ;;
esac
# 1099
for u in gettext msginit msgmerge msgfmt msgconv msgfilter ; do
if test "$USE_NLS" = "yes" ; then
which "$u" 2>/dev/null > /dev/null
if test "$?" != "0" ; then
echo "*** utility ${u} is not on the PATH Disabling NLS support ***"
USE_NLS=no
fi
fi
done
AC_DEFUN([AX_GCC_VERSION], [
GCC_VERSION=""
AX_CHECK_COMPILE_FLAG([-dumpversion],
[ax_gcc_version_option=yes],
[ax_gcc_version_option=no])
AS_IF([test "x$GCC" = "xyes"],[
AS_IF([test "x$ax_gcc_version_option" != "xno"],[
AC_CACHE_CHECK([gcc version],[ax_cv_gcc_version],[
ax_cv_gcc_version="`$CC -dumpversion`"
AS_IF([test "x$ax_cv_gcc_version" = "x"],[
ax_cv_gcc_version=""
])
])
GCC_VERSION=$ax_cv_gcc_version
])
])
AC_SUBST([GCC_VERSION])
])
AC_ARG_WITH(std,
[ --with-std use --with-std for c++11. options: --with-std=11|14|c++11|c++14 default/--without-std is c++98],
STD=$withval,
STD=default)
if test "$STD" = "11"; then
CPPFLAGS="${CPPFLAGS} -std=c++11"
elif test "$STD" = "yes"; then
CPPFLAGS="${CPPFLAGS} -std=c++11"
elif test "$STD" = "14"; then
CPPFLAGS="${CPPFLAGS} -std=c++14"
elif test "$STD" = "default" -o "$STD" = "no" ; then
# 1188 v0.26 uses c++98
case "$host_os" in
*cygwin*)
CPPFLAGS="$CPPFLAGS -std=gnu++98" # cygwin requires gnu++98 to support snprintf
;;
*ming*)
CPPFLAGS="$CPPFLAGS" # mingw doesn't link pthreads if you specify -std !!
;;
*)
CPPFLAGS="$CPPFLAGS -std=c++98"
if [[ ! -z "$GCC_VERSION" ]]; then
if [[ "$GCC_VERSION" -ge 6 ]]; then CPPFLAGS="$CPPFLAGS -std=gnu++98" ; fi # // not GCC 6
fi
;;
esac
else
CPPFLAGS="${CPPFLAGS} -std=$STD"
fi
AC_ARG_WITH(adobe,
[ --with-adobe[[=OPT]] use --with-adobe for Adobe XMPsdk. OPT: 2016|2014|2013 default/--without-adobe is xmpsdk/src],
ADOBE=$withval,
ADOBE=xmpsdk/src)
if test "$ADOBE" == "yes"; then ADOBE=2016; fi
if test "$ADOBE" = "2016" -o "$ADOBE" = "2014" -o "$ADOBE" = "2013" ; then
ADOBE_SDK=XMP-Toolkit-SDK-CC201607
if test "$ADOBE" == "2014" ; then ADOBE_SDK=XMP-Toolkit-SDK-CC201412; fi
if test "$ADOBE" == "2013" ; then ADOBE_SDK=XMP-Toolkit-SDK-CC201306; fi
ENABLE_XMP=$ADOBE
XMPSDK_CPPFLAGS="-Ixmpsdk/Adobe/$ADOBE_SDK/public/include"
XMPSDK_LDFLAGS="-Lxmpsdk/Adobe/$ADOBE_SDK -lXMPCore"
case "$host_os" in
*arwin*)
EXV_DARWIN_FLAGS="-stdlib=libstdc++ -Wno-deprecated"
CPPFLAGS="${CPPFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden ${EXV_DARWIN_FLAGS} "
LDFLAGS="${LDFLAGS} ${EXV_DARWIN_FLAGS}"
AC_SUBST(EXV_DARWIN_FLAGS)
;;
esac
fi
# ---------------------------------------------------------------------------
# Create output files.
# ---------------------------------------------------------------------------
AC_CONFIG_FILES([./Makefile:./config/Makefile.in])
AC_CONFIG_FILES([./config/config.mk])
AC_CONFIG_FILES([./config/exiv2.pc])
AC_CONFIG_FILES([./po/Makefile.in])
AC_CONFIG_FILES([./src/doxygen.hpp])
AC_OUTPUT
# ---------------------------------------------------------------------------
# Configuration summary.
# ---------------------------------------------------------------------------
echo ""
echo "------------------------------------------------------------------"
echo "-- Exiv2 $VERSION feature configuration summary"
echo "--"
case "$enable_shared" in
yes) echo "-- Build a shared library......... YES" ;;
*) echo "-- Build a shared library......... NO" ;;
esac
case "$VISIBILITY_SUPPORT" in
yes) echo "-- Use symbol visibility support.. YES" ;;
*) echo "-- Use symbol visibility support.. NO" ;;
esac
case "x$HAVE_LIBZ" in
x1) echo "-- PNG image support.............. YES" ;;
*) echo "-- PNG image support.............. NO"
echo ""
echo "zlib is required for PNG support. Make sure the zlib header files"
echo "are installed and use --with-zlib=DIR if it is in a non-standard"
echo "location. You can get zlib from http://www.zlib.net/"
echo "" ;;
esac
case "$USE_NLS" in
yes) echo "-- Native language support........ YES" ;;
*) echo "-- Native language support........ NO"
echo ""
echo "gettext is required for native language support. Make sure the"
echo "gettext header files and utilities are installed. "
echo "You can get gettext from http://www.gnu.org/software/gettext/"
echo "" ;;
esac
case "$USE_LENSDATA" in
yes) echo "-- Nikon lens database............ YES" ;;
*) echo "-- Nikon lens database............ NO" ;;
esac
case "$USE_XMP_TOOLKIT" in
yes) echo "-- XMP metadata support........... YES" ;;
*) echo "-- XMP metadata support........... NO"
echo ""
echo "Expat is required for XMP support. Make sure the Expat header"
echo "files are installed and use --with-expat=DIR if it is in a"
echo "non-standard location. You can get Expat from"
echo "http://expat.sourceforge.net/"
echo "" ;;
esac
case "x$ENABLE_VIDEO" in
x1) echo "-- Video support.................. YES" ;;
*) echo "-- Video support.................. NO"
esac
if test "$enable_webready" = "yes"; then
echo "-- Webready support............... YES"
else
echo "-- Webready support............... NO"
fi
if test "$enable_webready" = "yes"; then
case "$USE_CURL" in
yes) echo "-- Using Lib Curl................. YES" ;;
*) echo "-- Using Lib Curl................. NO"
echo ""
echo "Libcurl is required for HttpIo in basicIo.cpp. Make sure the Curl header"
echo "files are installed and use --with-curl=DIR if it is in a"
echo "non-standard location. You can get Curl from"
echo "http://curl.haxx.se/libcurl/"
echo "" ;;
esac
case "x$USE_SSH" in
x1) echo "-- Using Lib SSH.................. YES" ;;
*) echo "-- Using Lib SSH.................. NO"
echo ""
echo "Libssh is required for SshIo in basicIo.cpp. Make sure the libssh header"
echo "files are installed and use --with-ssh=DIR if it is in a"
echo "non-standard location. You can get libssh from"
echo "http://www.libssh.org/get-it/"
echo "" ;;
esac
fi
echo "CPPFLAGS =" "$CPPFLAGS $SSH_CPPFLAGS $CURL_CPPFLAGS $XMPSDK_CPPFLAGS"
echo "LDFLAGS =" "$LDFLAGS $SSH_LDFLAGS $CURL_LDFLAGS $XMPSDK_LDFLAGS"
echo "LIBS =" "$LIBS $SSH_LIBS $CURL_LIBS $XMPSDK_LIBS"
echo "CXX =" "$CXX"
echo "------------------------------------------------------------------"
echo ""
# That's all Folks!
##

View File

@ -1,519 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

File diff suppressed because it is too large Load Diff

View File

@ -1,150 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
scriptversion=2004-02-15.20
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
Create each directory DIR (with mode MODE, if specified), including all
leading file name components.
Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage"
exit 0
;;
-m) # -m PERM arg
shift
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
dirmode=$1
shift
;;
--version)
echo "$0 $scriptversion"
exit 0
;;
--) # stop option processing
shift
break
;;
-*) # unknown option
echo "$usage" 1>&2
exit 1
;;
*) # first non-opt arg
break
;;
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
# mkdir -p a/c at the same time, both will detect that a is missing,
# one will create a, then the other will try to create a and die with
# a "File exists" error. This is a problem when calling mkinstalldirs
# from a parallel make. We use --version in the probe to restrict
# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in
'')
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
fi
;;
*)
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
test ! -d ./--version; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
else
# Clean up after NextStep and OpenStep mkdir.
for d in ./-m ./-p ./--version "./$dirmode";
do
test -d $d && rmdir $d
done
fi
;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,86 +0,0 @@
# ***************************************************** -*- Makefile -*-
#
# Copyright (C) 2004-2017 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: Makefile
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 10-Dec-03, ahu: created
#
# Description:
# Simple Makefile to build the doxygen documentation
#
# Restrictions:
# Requires GNU make.
#
# Default make target
all: doc
# Include system configuration
top_srcdir = ..
include $(top_srcdir)/config/config.mk
# **********************************************************************
# ======================================================================
# **********************************************************************
# Initialisations
SHELL = /bin/sh
.SUFFIXES:
# **********************************************************************
# Targets
.PHONY: all doc doxygen tags mostlyclean clean distclean maintainer-clean
doc: doxygen tags
doxygen:
doxygen $(top_srcdir)/config/Doxyfile
tags:
mkdir -p $(top_srcdir)/doc/html
cd $(top_srcdir)/doc/templates && $(MAKE) all
cp -f $(top_srcdir)/doc/templates/*.html $(top_srcdir)/doc/html/
@echo "*****************************"
@echo "*** if you got lots of errors, try modifying" $(realpath $(top_srcdir)/config/Doxyfile) "***"
@echo "*****************************"
mostlyclean clean:
$(RM) *~ *.bak *#
distclean: clean
cd $(top_srcdir)/doc/templates && $(MAKE) $(MAKECMDGOALS)
# This command is intended for maintainers to use; it deletes files
# that may need special tools to rebuild.
maintainer-clean: distclean
rm -rf $(top_srcdir)/doc/html/*

View File

@ -1,206 +0,0 @@
# ************************************************************* -*- Makefile -*-
#
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: Makefile
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 08-Oct-07, ahu: created
#
# Description:
# Makefile to build sample programs.
# Requires installed exiv2 library
#
# Restrictions:
# Requires GNU make.
#
# Default make target
all: samples
# ******************************************************************************
# Source files
# Add source files of sample programs to this list
BINSRC = addmoddel.cpp \
convert-test.cpp \
easyaccess-test.cpp \
exifcomment.cpp \
exifdata-test.cpp \
exifdata.cpp \
exifprint.cpp \
exifvalue.cpp \
httptest.cpp \
iotest.cpp \
iptceasy.cpp \
iptcprint.cpp \
iptctest.cpp \
key-test.cpp \
largeiptc-test.cpp \
mmap-test.cpp \
prevtest.cpp \
remotetest.cpp \
stringto-test.cpp \
taglist.cpp \
tiff-test.cpp \
werror-test.cpp \
write-test.cpp \
write2-test.cpp \
xmpparse.cpp \
xmpparser-test.cpp \
xmpprint.cpp \
xmpsample.cpp
# Samples that need special treatment during compilation or linking
OTHERSRC = exiv2json.cpp \
geotag.cpp \
metacopy.cpp \
path-test.cpp \
toexv.cpp
top_srcdir = ..
include $(top_srcdir)/config/config.mk
# ******************************************************************************
# Initialisations
SHELL = /bin/sh
PKGCONFIG=pkg-config
BAR='****************************************'
.SUFFIXES:
.SUFFIXES: .c .cpp .o .so
.PRECIOUS: %.cpp
CPPFLAGS := `pkg-config exiv2 --cflags`
LDFLAGS := `pkg-config exiv2 --libs`
BINOBJ = $(BINSRC:.cpp=.o)
BINARY = $(BINSRC:.cpp=)
OTHEROBJ = $(OTHERSRC:.cpp=.o) Jzon.o
OTHERBIN = $(OTHERSRC:.cpp=)
EXECUTABLE = $(BINSRC:%.cpp=../bin/%$(EXEEXT)) $(OTHERSRC:%.cpp=../bin/%$(EXEEXT))
ifdef DEP_TRACKING
DEP = $(BINSRC:%.cpp=$(DEPDIR)/%.d) $(OTHERSRC:%.cpp=$(DEPDIR)/%.d) $(DEPDIR)/Jzon.d
endif
PREFIX = /usr/local/lib
LINK.cc += -rpath $(PREFIX) -L$(PREFIX)
COMPILE.cc += -I$(top_srcdir)/include -I$(top_srcdir)/include/exiv2
# ******************************************************************************
# Rules
samples: $(BINARY) $(OTHERBIN)
$(BINOBJ): %.o: %.cpp
@if [ -z `which $(PKGCONFIG)` ]; then echo $(BAR) $'\\n***' utility $(PKGCONFIG) not available $'***\n'$(BAR) ; exit 42 ; fi
$(COMPILE.cc) -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(BINARY): %: %.o
mkdir -pv ../bin 2>&1 > /dev/null
$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $@.o
%.o: %.cpp
$(COMPILE.cc) -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
%.ii: %.cpp
set -e; \
$(CXXCPP) -E $(CPPFLAGS) $< | sed '/^[ ]*$$/d' > $@
# ******************************************************************************
# Targets
.PHONY: all relink binclean mostlyclean clean distclean maintainer-clean
ifdef DEP_TRACKING
# Include targets from dependency files
-include $(DEP)
endif
relink: binclean samples
# link expat directly to geotag
geotag: %: %.cpp
$(COMPILE.cc) -I../src -o $@.o $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(LIBTOOL) --mode=link $(LINK.cc) -lexpat $@.o -o ../bin/$@
# link applications which require src/utils.cpp support
metacopy path-test toexv: %: %.cpp ../src/utils.o
$(COMPILE.cc) -I../src -o $@.o $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(LIBTOOL) --mode=link $(LINK.cc) $@.o ../src/utils.o -o ../bin/$@
# exiv2json sample requires Jzon
exiv2json: %: %.cpp Jzon.o
$(COMPILE.cc) -o $@.o $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(LIBTOOL) --mode=link $(LINK.cc) Jzon.o $@.o -o ../bin/$@
# mt-test requires C++11
mt-test: %: %.cpp
$(COMPILE.cc) -std=c++11 -o $@.o $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(LIBTOOL) --mode=link $(LINK.cc) $@.o -o ../bin/$@
# Remove binaries, e.g., to relink them
binclean:
$(RM) $(EXECUTABLE)
mostlyclean:
$(RM) core
$(RM) $(BINSRC:.cpp=.ii) $(OTHERSRC:.cpp=.ii) Jzon.ii
$(RM) $(BINOBJ) $(OTHEROBJ)
clean: binclean mostlyclean
# Run `make distclean' from the top source directory to also remove
# files created by configuring the program.
distclean: clean
ifdef DEP_TRACKING
$(RM) $(DEP)
-rmdir $(DEPDIR)
endif
$(RM) *~ *.bak *#
# This command is intended for maintainers to use; it deletes files
# that may need special tools to rebuild.
maintainer-clean: distclean

View File

@ -1,338 +0,0 @@
# ************************************************************* -*- Makefile -*-
#
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
#
# This Makefile is part of the Exiv2 distribution.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# 3. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# File: Makefile
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
# History: 10-Dec-03, ahu: created
#
# Description:
# Do NOT change this file! All system specific settings and configs
# go into config.mk.
#
# This makefile contains (supposedly) generic build rules to build the
# library and applications. It includes all system specific settings
# from config.mk. The idea is that configuring and porting the
# software to a new platform should only require changes in config.mk.
#
# Restrictions:
# Requires GNU make.
#
# Default make target
all: bin
# Include system configuration
top_srcdir = ..
include $(top_srcdir)/config/config.mk
# ******************************************************************************
# Source files
# exiv2 command-line program C++ header files
CCHDR = exiv2.hpp \
config.h \
exv_conf.h \
xmp_exiv2.hpp \
version.hpp
# library C++ source files
CCSRC = basicio.cpp \
bigtiffimage.cpp \
bmpimage.cpp \
canonmn_int.cpp \
casiomn_int.cpp \
convert.cpp \
cr2image_int.cpp \
cr2image.cpp \
crwimage_int.cpp \
crwimage.cpp \
datasets.cpp \
easyaccess.cpp \
epsimage.cpp \
error.cpp \
exif.cpp \
fujimn_int.cpp \
futils.cpp \
gifimage.cpp \
http.cpp \
image.cpp \
ini.cpp \
iptc.cpp \
jp2image.cpp \
jpgimage.cpp \
makernote_int.cpp \
metadatum.cpp \
minoltamn_int.cpp \
mrwimage.cpp \
nikonmn_int.cpp \
olympusmn_int.cpp \
orfimage_int.cpp \
orfimage.cpp \
pgfimage.cpp \
preview.cpp \
panasonicmn_int.cpp \
pentaxmn_int.cpp \
properties.cpp \
psdimage.cpp \
rafimage.cpp \
rw2image_int.cpp \
rw2image.cpp \
samsungmn_int.cpp \
sigmamn_int.cpp \
sonymn_int.cpp \
tags.cpp \
tgaimage.cpp \
tiffcomposite_int.cpp \
tiffimage_int.cpp \
tiffimage.cpp \
tiffvisitor_int.cpp \
types.cpp \
value.cpp \
version.cpp \
webpimage.cpp \
xmp.cpp \
xmpsidecar.cpp
ifdef HAVE_LIBZ
CCSRC += pngimage.cpp \
pngchunk_int.cpp
endif
ifdef USE_SSH
CCSRC += ssh.cpp
endif
ifdef ENABLE_VIDEO
CCSRC += asfvideo.cpp \
matroskavideo.cpp \
quicktimevideo.cpp \
riffvideo.cpp \
utilsvideo.cpp
endif
# C source files
ifndef HAVE_TIMEGM
CSRC = localtime.c
endif
# Source files for the Exiv2 application
EXIV2MAIN = exiv2.cpp
EXIV2SRC = actions.cpp \
utils.cpp
EXIVCSRC = getopt_win32.c
# ******************************************************************************
# Library
LIBRARY = libexiv2.la
# ******************************************************************************
# Initialisations
SHELL = /bin/bash
.SUFFIXES:
.SUFFIXES: .c .cpp .o .so
.PRECIOUS: %.cpp
CPPFLAGS += $(SSH_CPPFLAGS) $(CURL_CPPFLAGS) $(XMPSDK_CPPFLAGS)
LDFLAGS += $(SSH_LDFLAGS) $(CURL_LDFLAGS) $(EXPAT_LDFLAGS) $(XMPSDK_LDFLAGS)
LIBS += $(SSH_LIBS) $(CURL_LIBS) $(EXPAT_LIBS) $(XMPSDK_LIBS)
# Generic variables
CCHDR := $(CCHDR) $(CCSRC:.cpp=.hpp)
CCOBJ = $(CCSRC:.cpp=.o)
CCLOBJ = $(CCSRC:.cpp=.lo)
COBJ = $(CSRC:.c=.o)
CLOBJ = $(CSRC:.c=.lo)
SRC = $(CCSRC) $(CSRC)
HDR = $(CCHDR) rwlock.hpp
OBJ = $(CCOBJ) $(COBJ)
LOBJ = $(CCLOBJ) $(CLOBJ)
EXIV2OBJ = $(EXIV2MAIN:.cpp=.o) $(EXIV2SRC:.cpp=.o)
EXIVCOBJ = $(EXIVCSRC:.c=.o)
EXIV2EXE = $(EXIV2MAIN:.cpp=$(EXEEXT))
ifdef DEP_TRACKING
DEP = $(CCSRC:%.cpp=$(DEPDIR)/%.d) \
$(CSRC:%.c=$(DEPDIR)/%.d) \
$(BINSRC:%.cpp=$(DEPDIR)/%.d) \
$(EXIV2MAIN:%.cpp=$(DEPDIR)/%.d) \
$(EXIV2SRC:%.cpp=$(DEPDIR)/%.d) \
$(EXIVCSRC:%.c=$(DEPDIR)/%.d)
endif
# ******************************************************************************
# Rules
$(CCOBJ): %.o: %.cpp
@$(LIBTOOL) --mode=compile $(COMPILE.cc) -DEXV_BUILDING_LIB=1 -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(COBJ): %.o: %.c
@$(LIBTOOL) --mode=compile $(COMPILE.c) -DEXV_BUILDING_LIB=1 -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
$(EXIV2OBJ): %.o: %.cpp
$(COMPILE.cc) -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
%.o: %.c
$(COMPILE.c) -o $@ $<
@$(MAKEDEPEND)
@$(POSTDEPEND)
%.ii: %.cpp
set -e; \
$(CXXCPP) $(CPPFLAGS) -DEXV_BUILDING_LIB=1 $< | LC_ALL=C sed '/^[ ]*$$/d' > $@
# ******************************************************************************
# Targets
.PHONY: all bin check ctags doc \
clean mostlyclean distclean maintainer-clean \
install install-header install-lib \
uninstall uninstall-header uninstall-lib
ifdef DEP_TRACKING
# Include targets from dependency files
-include $(DEP)
endif
# Be sure to rewrite exv_conf.h before compiling anything
$(SRC): ../include/exiv2/exv_conf.h
../include/exiv2/exv_conf.h: $(top_srcdir)/config/config.h
LC_ALL=C sed 's/#define \([A-Z]\)/#define EXV_\1/; s/#undef \([A-Z]\)/#undef EXV_\1/' < $< > $@
$(LIBTOOL): $(LIBTOOL_DEPS)
$(SHELL) $(top_srcdir)/config.status --recheck
bin: lib $(EXIV2EXE)
lib: $(OBJ)
$(LIBTOOL) --mode=link $(LINK.cc) -o $(LIBRARY) $(LOBJ) -rpath $(libdir) -version-info $(EXIV2_LTVERSION) $(LIBS)
@touch lib
$(BINARY): %: %.o lib
@$(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(LIBRARY) $@.o -rpath $(libdir)
$(EXIV2EXE): lib $(EXIV2OBJ) $(EXIVCOBJ)
mkdir -pv ../bin 2>&1 > /dev/null
@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIVCOBJ) -rpath $(libdir)
install-header:
$(INSTALL_DIRS) $(DESTDIR)$(incdir)
@list='$(HDR)'; for p in $$list; do \
if test -f ../include/exiv2/$$p; then \
echo "$(INSTALL_DATA) ../include/exiv2/$$p $(DESTDIR)$(incdir)/$$p"; \
$(INSTALL_DATA) ../include/exiv2/$$p $(DESTDIR)$(incdir)/$$p; \
else :; fi; \
done ; \
install-lib: lib install-header
$(INSTALL_DIRS) $(DESTDIR)$(libdir)
@$(LIBTOOL) --mode=install $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(libdir)/$(LIBRARY)
$(INSTALL_DIRS) $(DESTDIR)$(bindir)
$(INSTALL_DIRS) $(DESTDIR)$(libdir)/pkgconfig
$(INSTALL_DATA) $(top_srcdir)/config/exiv2.pc $(DESTDIR)$(libdir)/pkgconfig/exiv2.pc
install: $(EXIV2EXE) install-lib
$(INSTALL_DIRS) $(DESTDIR)$(bindir)
@$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ../bin/$(EXIV2EXE) $(DESTDIR)$(bindir)/$(EXIV2EXE)
$(INSTALL_DIRS) $(DESTDIR)$(mandir)
$(INSTALL_DIRS) $(DESTDIR)$(man1dir)
$(INSTALL_DATA) exiv2.1 $(DESTDIR)$(man1dir)/exiv2.1
$(INSTALL_DATA) $(top_srcdir)/samples/exiv2samples.1 $(DESTDIR)$(man1dir)/exiv2samples.1
uninstall-header:
@list='$(HDR)'; for p in $$list; do \
echo "$(RM) $(DESTDIR)$(incdir)/$$p"; \
$(RM) $(DESTDIR)$(incdir)/$$p; \
done
-rmdir $(DESTDIR)$(incdir)
uninstall-lib: uninstall-header
$(RM) $(DESTDIR)$(libdir)/pkgconfig/exiv2.pc
-rmdir $(DESTDIR)$(libdir)/pkgconfig
@$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY)
-rmdir $(DESTDIR)$(libdir)
uninstall: uninstall-lib
$(RM) $(DESTDIR)$(man1dir)/exiv2.1 $(DESTDIR)$(man1dir)/exiv2samples.1
-rmdir $(DESTDIR)$(man1dir)
-rmdir $(DESTDIR)$(mandir)
@$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(bindir)/$(EXIV2EXE)
-rmdir $(DESTDIR)$(bindir)
ctags:
ebrowse $(HDR) $(SRC)
# ctags-exuberant --extra=+q -e *
# ctags-exuberant --extra=+q *
check:
@echo "No checks available for this library - or $ make tests"
mostlyclean:
$(RM) core
$(RM) $(CCSRC:.cpp=.ii)
$(RM) lib
$(RM) -rf $(CCSRC:%.cpp=.libs/%.d) $(CSRC:%.c=.libs/%.d) .libs/*.dSYM
@$(LIBTOOL) --mode=clean $(RM) $(LOBJ) $(sort $(EXIV2OBJ) $(EXIV2COBJ))
clean: mostlyclean
@$(LIBTOOL) --mode=clean $(RM) $(LIBRARY)
@$(LIBTOOL) --mode=clean $(RM) $(EXECUTABLE) $(EXIV2EXE)
# Run `make distclean' from the top source directory to also remove
# files created by configuring the program.
distclean: clean
$(RM) doxygen.hpp
ifdef DEP_TRACKING
$(RM) $(DEP)
-rmdir $(DEPDIR)
endif
$(RM) tags TAGS
$(RM) *~ *.bak *#
# This command is intended for maintainers to use; it deletes files
# that may need special tools to rebuild.
maintainer-clean: uninstall distclean
-$(RM) -r .deps
-$(RM) -r .libs
# That's all Folks!
##