[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:36:57 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=7048360

The following commit has been merged in the master branch:
commit 704836054442f50487ff0581b2c5f5edd6c471b3
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Sun Feb 13 04:32:50 2005 +0000

    Added config.h to installed headers, install to /usr/local/include/exiv2 by default. Fixes bug #410
---
 README.make  | 218 ++++++++---------------------------------------------------
 config.mk.in |   6 +-
 src/Makefile |   3 +
 3 files changed, 33 insertions(+), 194 deletions(-)

diff --git a/README.make b/README.make
index cc96f66..820ffe3 100644
--- a/README.make
+++ b/README.make
@@ -10,9 +10,9 @@ build the library and utility:
 
      $ ./configure
 
-     Check the generated config.mk and config.h files, particularly
-     if you want to build a shared library with a compiler other than 
-     gcc (g++). See caveat, below.
+     Check the generated config.mk and config.h files, particularly if
+     you want to build a shared library with a compiler other than g++. 
+     See caveat, below.
 
      $ make
 
@@ -29,199 +29,35 @@ build the library and utility:
 Caveat
 ------
 
-     The configuration script does not support checks to test how to 
-     build a shared library. If you are not using gcc (g++), you will
-     need to check the generated config.mk file and manually set the 
-     correct compilation flags. The related variables in config.mk are
-     CXXFLAGS_SHARED, LDFLAGS_SHARED and SHAREDLIB_SUFFIX.
-
-     The build environment does not support building Exiv2 as a DLL 
-     on MinGW. When building on MinGW, you need to unset SHARED_LIBS
-     and set STATIC_LIBS in config.mk (after running ./configure):
-       # Define which libraries (shared and/or static) to build
-       SHARED_LIBS = 
-       STATIC_LIBS = 1
-
-     You should *not* need to modify any Makefile directly.
-
-     If your compiler uses a repository for object files of templates,
-     try setting CXX_REPOSITORY. 
-
-----------------------------------------------------------------------
-
-Summary of Concepts Used
-------------------------
-
-The following sections are *not* an installation manual. They 
-summarise the guidelines used for the configuration and build system 
-of this package. The information contained in the following sections
-may be outdated and concepts described may not be implemented
-
-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 should 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.ac'
-    4. Manually create `acconfig.h' for additional AC_DEFINE'd symbols
-    5. Run `autoheader'
-       Input:  `configure.ac' `acconfig.h'
-       Output: `config.h.in'
-    6. Run `autoconf'
-       Input:  `configure.ac' `acconfig.h'
-       Output: `configure'
-    7. Manually create `Makefile.in' template
+The configuration script does not support checks to test how to build
+a shared library. If you are not using g++ on a GNU/Linux system, you
+will need to check the generated config.mk file and manually set the
+correct compilation flags. The related variables in config.mk are
+CXXFLAGS_SHARED, LDFLAGS_SHARED and SHAREDLIB_SUFFIX.
 
-    Here is a complete diagram showing this process (from `info autoconf'):
-
-       source files --> [autoscan*] --> [configure.scan] --> configure.ac
+MinGW and Mac OS X builds
 
-       configure.ac --.   .------> autoconf* -----> configure
-                      +---+
-       [aclocal.m4] --+   `---.
-       [acsite.m4] ---'       |
-                              +--> [autoheader*] -> [config.h.in]
-       [acconfig.h] ----.     |
-                        +-----'
-       [config.h.top] --+
-       [config.h.bot] --'
-
-       Makefile.in -------------------------------> Makefile.in
+The current build environment does not support building Exiv2 as a DLL
+on MinGW or shared library on Mac OS X. When building on one of these
+platforms, you need to unset SHARED_LIBS and set STATIC_LIBS in
+config.mk (after running ./configure):
 
-2.2 Maintenance of a prepared package
-    ---------------------------------
-
-Only the most frequently used maintenance processes are described
-here.
+  # Define which libraries (shared and/or static) to build
+  SHARED_LIBS = 
+  STATIC_LIBS = 1
 
-2.2.1 `Makefile' changes
-      ------------------
+You should *not* need to modify any Makefile directly.
 
-`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.ac' 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.
+If your compiler uses a repository for object files of templates, try
+setting CXX_REPOSITORY.
 
-    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 ---'
+Developing with Exiv2
+---------------------
 
+To compile a module that includes an Exiv2 header file from the
+default location, pass -DHAVE_CONFIG_H and -I/usr/local/include/exiv2
+to the compiler.  Linking with the library requires -lexiv2 and
+-L/usr/local/lib, for example (for a statically linked app):
 
-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'.
+g++ -DHAVE_CONFIG_H -I/usr/local/include/exiv2 -c yourapp.cpp -o yourapp.o
+g++ yourapp.o -lexiv2 -L/usr/local/lib -o yourapp
diff --git a/config.mk.in b/config.mk.in
index 12449d6..76d86c4 100644
--- a/config.mk.in
+++ b/config.mk.in
@@ -102,8 +102,8 @@ ARFLAGS = rcuv
 # **********************************************************************
 # Installation programs
 INSTALL_EXE = @INSTALL@
-INSTALL_PROGRAM = $(INSTALL_EXE) -c
-INSTALL_DATA = $(INSTALL_EXE) -c -m 644
+INSTALL_PROGRAM = $(INSTALL_EXE)
+INSTALL_DATA = $(INSTALL_EXE) -m 644
 INSTALL_DIRS = $(top_srcdir)/mkinstalldirs
 
 # **********************************************************************
@@ -120,5 +120,5 @@ srcdir = @srcdir@
 
 # Installation directories
 bindir = @bindir@
-incdir = @includedir@
+incdir = @includedir@/exiv2
 libdir = @libdir@
diff --git a/src/Makefile b/src/Makefile
index 508c7e4..156cf4f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -254,6 +254,7 @@ install-header:
 	        $(INSTALL_DATA) $$p $(incdir)/$$p; \
 	    else :; fi; \
 	done
+	$(INSTALL_DATA) $(top_srcdir)/config.h $(incdir)/config.h
 
 install-archive: archive
 	$(INSTALL_DIRS) $(libdir)
@@ -276,6 +277,8 @@ uninstall-header:
 	    echo "rm -f $(incdir)/$$p"; \
 	    rm -f $(incdir)/$$p; \
 	done
+	$(RM) $(incdir)/config.h
+	-rmdir $(incdir)
 
 uninstall-archive:
 	$(RM) $(libdir)/$(ARCHIVE)

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list