| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | #! /bin/bash
 | 
					
						
							| 
									
										
										
										
											2015-02-06 15:00:37 +00:00
										 |  |  | ## @file | 
					
						
							|  |  |  | ## | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | ## $Id$ | 
					
						
							| 
									
										
										
										
											2015-02-06 15:00:37 +00:00
										 |  |  | ## | 
					
						
							|  |  |  | ## $Date: 2004/08/31 15:57:19 $ | 
					
						
							|  |  |  | ## $Author: marc $ | 
					
						
							|  |  |  | ## | 
					
						
							|  |  |  | ## @copy © Marc Wäckerlin | 
					
						
							|  |  |  | ## @license LGPL, see file <a href="license.html">COPYING</a> | 
					
						
							|  |  |  | ## | 
					
						
							|  |  |  | ## $Log: bootstrap.sh,v $ | 
					
						
							|  |  |  | ## Revision 1.3  2004/08/31 15:57:19  marc | 
					
						
							|  |  |  | ## added file header | 
					
						
							|  |  |  | ## | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | MY_NAME=${0##*/} | 
					
						
							|  |  |  | PROJECT_PATH=$(pwd) | 
					
						
							|  |  |  | DEFAULT_PROJECT_NAME=${PROJECT_PATH##*/} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | configure=0 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | build=0 | 
					
						
							|  |  |  | overwrite=0 | 
					
						
							|  |  |  | rebuild=0 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | rebuildfiles=() | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | while test $# -gt 0; do | 
					
						
							|  |  |  |     case "$1" in | 
					
						
							|  |  |  |         (--configure|-c) configure=1;; | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |         (--build|-b)  configure=1; build=1;; | 
					
						
							|  |  |  |         (--overwrite|-o) overwrite=1;; | 
					
						
							|  |  |  |         (--rebuild|-r) rebuild=1;; | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |         (--rebuild-file|-f) shift; rebuildfiles+=("$1");; | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |         (--version|-v) | 
					
						
							|  |  |  |             echo "$Id$"; | 
					
						
							|  |  |  |             exit;; | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |         (--help|-h) less <<EOF | 
					
						
							|  |  |  | SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |   ${MY_NAME} [--help|-h] [OPTIOS] | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | OPTIONS | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |   --configure, -c            call ./configure after initialization | 
					
						
							|  |  |  |   --build, -c                build, also call ./configure && make | 
					
						
							|  |  |  |   --overwrite, -o            overwrite all basic files (bootstrap.sh, m4-macros) | 
					
						
							|  |  |  |   --rebuild, -r              force rebuild of generated files, even if modified | 
					
						
							|  |  |  |   --rebuild-file, -f <file>  rebild specific file (can be added multiple times) | 
					
						
							|  |  |  |   --help, -h                 show this help | 
					
						
							|  |  |  |   --version, -v              show version and date of this file | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |   Initializes your build environment, as far as neccessary. Reads your | 
					
						
							|  |  |  |   used features from configure.ac, if that file exists, or creates a | 
					
						
							|  |  |  |   configure.ac. Automatically copies or creates all required template | 
					
						
							|  |  |  |   files. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   From your new and empty project's subversion path, call $0 to | 
					
						
							|  |  |  |   initialize your build environment. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS | 
					
						
							|  |  |  |   and replace it with your name (or the authors of your project, one | 
					
						
							|  |  |  |   name each line, main developper and copyright holder on the first | 
					
						
							|  |  |  |   line). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   The first call to ${MY_NAME} should be something like | 
					
						
							|  |  |  |   ../bootstrap-build-environment/${MY_NAME} and not | 
					
						
							|  |  |  |   ./${MY_NAME}. Actually, you called $0. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   In the way you called ${MY_NAME}, it has detected | 
					
						
							|  |  |  |   ${DEFAULT_PROJECT_NAME} as the project name for your project in | 
					
						
							|  |  |  |   ${PROJECT_PATH}. In the first run, you should call ${MY_NAME} from a | 
					
						
							|  |  |  |   checked out the bootstrap-build-environment from | 
					
						
							|  |  |  |   https://dev.marc.waeckerlin.org/, and the path from where you call | 
					
						
							|  |  |  |   ${MY_NAME} (which is actually ${PROJECT_PATH}) should be the path to | 
					
						
							|  |  |  |   your newly created project. Please note that your project must be a | 
					
						
							|  |  |  |   checked out subversion repository, since this build environment | 
					
						
							|  |  |  |   relies on subversion. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Example for an initial run, where your new projet is stored in | 
					
						
							|  |  |  |   subversion on svn:/path/to/your/new-project: | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     cd ~/svn | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |     svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\ | 
					
						
							|  |  |  |            bootstrap-build-environment | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     svn co svn:/path/to/your/new-project/trunk new-project | 
					
						
							|  |  |  |     cd new-project | 
					
						
							|  |  |  |     ../bootstrap-build-environment/bootstrap.sh | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RUNNING | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |   If you run ${MY_NAME}, it first generates the necessary files (see | 
					
						
							|  |  |  |   below), then first runs make distclean if a makefile exists. After | 
					
						
							|  |  |  |   this it calles aclocal, libtoolize, automake, autoconf and | 
					
						
							|  |  |  |   optionally ./configure. | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | GENERATED FILES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   This script copies the following files into your project environment: | 
					
						
							|  |  |  |     * ${MY_NAME} | 
					
						
							|  |  |  |     * ax_init_standard_project.m4 - auxiliary macro definition file | 
					
						
							|  |  |  |     * ax_cxx_compile_stdcxx_11.m4 - auxiliary macro definition file | 
					
						
							|  |  |  |     * ax_check_qt.m4 - auxiliary macro definition file | 
					
						
							|  |  |  |     * AUTHORS - replace your name in AUTHORS before first run | 
					
						
							|  |  |  |     * configure.ac - global configuration file template | 
					
						
							|  |  |  |     * makefile.am - global makefile template | 
					
						
							|  |  |  |     * src/makefile.am - if you enabled AX_USE_CXX | 
					
						
							|  |  |  |     * src/version.hxx - if you enabled AX_USE_CXX | 
					
						
							|  |  |  |     * src/version.cxx - if you enabled AX_USE_CXX | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     * scripts/makefile.in - if you enabled AX_USE_SCRIPTS | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     * doc/makefile.am - if you enabled AX_USE_DOXYGEN | 
					
						
							|  |  |  |     * doc/doxyfile.in - if you enabled AX_USE_DOXYGEN | 
					
						
							|  |  |  |     * test/makefile.am - if you enabled AX_USE_CPPUNIT | 
					
						
							|  |  |  |     * examples/makefile.am - if you enabled AX_BUILD_EXAMPLES | 
					
						
							|  |  |  |     * debian/changelog.in - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/control.in - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/docs - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}.install - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}.dirs - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |     * debian/${DEFAULT_PROJECT_NAME}-dev.install - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}-dev.dirs - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     * debian/rules - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * debian/compat - if you enabled AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  |     * src/${DEFAULT_PROJECT_NAME}.pc.in - if you enabled AX_USE_LIBTOOL | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | REBUILDING FILES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |   To rebuild all these files, just run "${MY_NAME} -r". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   To copy only the files provided by this package, that means those | 
					
						
							|  |  |  |   files you must never change, that means to update the build system | 
					
						
							|  |  |  |   to the latest release, run "${MY_NAME} -o" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   You can also rebuild a list of singleany list of specific file files | 
					
						
							|  |  |  |   by adding option "${MY_NAME} -f <file>" to rebuild file | 
					
						
							|  |  |  |   "<file>". You can add option "-f" more than once. | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | FILES TO EDIT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |   After creation of the files, you can edit them according to your | 
					
						
							|  |  |  |   needs. Please don't forget to redo your edits after rebuilding a | 
					
						
							|  |  |  |   file. Most files don't even need to be edited, they work out of the | 
					
						
							|  |  |  |   box. | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   The following files normally require editing: | 
					
						
							|  |  |  |     * AUTHORS | 
					
						
							|  |  |  |     * README | 
					
						
							|  |  |  |     * configure.ac | 
					
						
							|  |  |  |     * src/makefile.am | 
					
						
							|  |  |  |     * test/makefile.am | 
					
						
							|  |  |  |     * examples/makefile.am | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FILE DEPENDENCIES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |   You should rebuild (see above) the files, whenever you change the | 
					
						
							|  |  |  |   configuration a dependent, i.e.: | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     * test/makefile.am depends on AX_USE_LIBTOOL | 
					
						
							|  |  |  |     * doc/doxyfile.in depends on AX_BUILD_EXAMPLES | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |     * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT, | 
					
						
							|  |  |  |       AX_CXX_QT, AX_CXX_CHECK_QT, AX_USE_LIBTOOL | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     * debian/${DEFAULT_PROJECT_NAME}.install depends on AX_USE_LIBTOOL | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}.dirs depends on AX_USE_LIBTOOL | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}-dev.install depends on AX_USE_LIBTOOL | 
					
						
							|  |  |  |     * debian/${DEFAULT_PROJECT_NAME}-dev.dirs depends on AX_USE_LIBTOOL | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FILES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |   * AUTHORS:      First line is the main author and used in Debian and RPM | 
					
						
							|  |  |  |                   packaging, so there must be a GPG key that matches | 
					
						
							|  |  |  |                   to this line. | 
					
						
							|  |  |  |   * README:       First line is a short description of your project, then an | 
					
						
							|  |  |  |                   empty line must follow. All remaining lines are a | 
					
						
							|  |  |  |                   long description of your project. this information | 
					
						
							|  |  |  |                   is copied, e.g. in Debian or RPM packages. In C++ | 
					
						
							|  |  |  |                   <ou can access the readme by calling | 
					
						
							|  |  |  |                   ${DEFAULT_PROJECT_NAME}::description(). | 
					
						
							|  |  |  |   * ChangeLog:    Your changelog is automatically maintained from | 
					
						
							|  |  |  |                   subversion history, using svn2cl. You don't need to | 
					
						
							|  |  |  |                   care about. | 
					
						
							|  |  |  |   * configure.ac: This file becomes very short and simple. You provide | 
					
						
							|  |  |  |                   the project name, the major and minor version. The | 
					
						
							|  |  |  |                   least version number is automatically taken from | 
					
						
							|  |  |  |                   subversion's revision, so every checkin | 
					
						
							|  |  |  |                   automatically increments the least version | 
					
						
							|  |  |  |                   number. The following macros are supported: | 
					
						
							|  |  |  |       * Enable C++: AX_USE_CXX | 
					
						
							|  |  |  |       * Enable LibTool library creation: AX_USE_LIBTOOL | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |       * Enable Scripts: AX_USE_SCRIPTS | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |       * Enable Doxygen documentation generation: AX_USE_DOXYGEN | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |       * Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |       * Not yet implemented: AX_USE_RPM_PACKAGING | 
					
						
							|  |  |  |       * Enable C++ testing using CppUnit: AX_USE_CPPUNIT | 
					
						
							|  |  |  |       * Enable C++ examples, i.e. for libraries: AX_BUILD_EXAMPLES | 
					
						
							|  |  |  |       * Check for C++11 support: AX_CXX_COMPILE_STDCXX_11 (see ax_cxx_compile_stdcxx_11.m4) | 
					
						
							|  |  |  |       * Require a QT module: AX_REQUIRE_QT (see ax_check_qt.m4) | 
					
						
							|  |  |  |       * Optionally use a QT module: AX_CHECK_QT (see ax_check_qt.m4) | 
					
						
							|  |  |  |       * Require a module: AX_PKG_REQUIRE (see ax_init_standard_project.m4) | 
					
						
							|  |  |  |       * Check for an optional module: AX_PKG_CHECK (see ax_init_standard_project.m4) | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | EXAMPLES: src/makefile.am in a QT project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   In this example, you wrote the following files: | 
					
						
							|  |  |  |     * ${DEFAULT_PROJECT_NAME}.hxx - Qt Header file, passed to moc | 
					
						
							|  |  |  |     * ${DEFAULT_PROJECT_NAME}.cxx - C++ file containing main() | 
					
						
							|  |  |  |     * ${DEFAULT_PROJECT_NAME}.ui - UI file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |   All rules are implicitely added, all you need to do is to add the | 
					
						
							|  |  |  |   following definitions, most lines are generic: | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | bin_PROGRAMS = ${DEFAULT_PROJECT_NAME} | 
					
						
							|  |  |  | ${DEFAULT_PROJECT_NAME}_MOCFILES = moc_${DEFAULT_PROJECT_NAME}.cxx | 
					
						
							|  |  |  | ${DEFAULT_PROJECT_NAME}_UIFILES = ui_${DEFAULT_PROJECT_NAME}.hxx | 
					
						
							|  |  |  | ${DEFAULT_PROJECT_NAME}_SOURCES = version.cxx version.hxx ${DEFAULT_PROJECT_NAME}.cxx ${DEFAULT_PROJECT_NAME}_MOCFILES ${DEFAULT_PROJECT_NAME}_UIFILES | 
					
						
							|  |  |  | BUILT_SOURCES = \${${DEFAULT_PROJECT_NAME}_MOCFILES} \${${DEFAULT_PROJECT_NAME}_UIFILES} | 
					
						
							|  |  |  | EXTRA_DIST = \${${DEFAULT_PROJECT_NAME}_MOCFILES:moc_%.cxx=%.hxx} \${${DEFAULT_PROJECT_NAME}_UIFILES:ui_%.hxx=%.ui} | 
					
						
							|  |  |  | MAINTAINERCLEANFILES = makefile.in | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |             exit;; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |         (*) break;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  |     shift; | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | HEADER='## @id '"\$Id\$"' | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | # This file has been added by '${MY_NAME}' on '$(LANG= date +"%a, %d %B %Y %H:%M:%S %z")' | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | # Feel free to change it or even remove and rebuild it, up to your needs | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | ##       1         2         3         4         5         6         7         8 | 
					
						
							|  |  |  | ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | notice() { | 
					
						
							|  |  |  |     echo -e "\e[1;33m$*\e[0m" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | run() { | 
					
						
							|  |  |  |     check=1 | 
					
						
							|  |  |  |     while test $# -gt 0; do | 
					
						
							|  |  |  |         case "$1" in | 
					
						
							|  |  |  |             (--no-check) check=0;; | 
					
						
							|  |  |  |             (*) break;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |         shift; | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |     echo -en "\e[1m-> running:\e[0m $* ..." | 
					
						
							|  |  |  |     result=$($* 2>&1) | 
					
						
							|  |  |  |     res=$? | 
					
						
							|  |  |  |     if test $res -ne 0; then | 
					
						
							|  |  |  |         if test $check -eq 1; then | 
					
						
							|  |  |  |             echo -e " \e[31merror\e[0m" | 
					
						
							|  |  |  |             echo -e "\e[1m*** Failed with return code: $res\e[0m" | 
					
						
							|  |  |  |             if test -n "$result"; then | 
					
						
							|  |  |  |                 echo "$result" | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |             exit 1 | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             echo -e " \e[33mignored\e[0m" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         echo -e " \e[32msuccess\e[0m" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testtag() { | 
					
						
							|  |  |  |     egrep -q '^ *'"$1" configure.ac | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | contains() { | 
					
						
							|  |  |  |     local e | 
					
						
							|  |  |  |     for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done | 
					
						
							|  |  |  |     return 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | checkdir() { | 
					
						
							|  |  |  |     if ! test -d "$1"; then # create path | 
					
						
							|  |  |  |         run mkdir -p "$1" | 
					
						
							|  |  |  |         run svn add "$1" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | checkfile() { | 
					
						
							|  |  |  |     exists=0 | 
					
						
							|  |  |  |     if test -f "$1"; then | 
					
						
							|  |  |  |         exists=1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     test $exists -eq 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | to() { | 
					
						
							|  |  |  |     while test $# -gt 0; do | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |         mode="u=rw,g=rw,o=r" | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |         case "$1" in | 
					
						
							|  |  |  |             (--condition) shift # test for a tag, abort if not set | 
					
						
							|  |  |  |                 if ! testtag "$1" configure.ac; then | 
					
						
							|  |  |  |                     return | 
					
						
							|  |  |  |                 fi;; | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |             (--mode) shift # test for a tag, abort if not set | 
					
						
							|  |  |  |                 mode="$1";; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |             (*) break;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |         shift; | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |     if checkfile "$1" && test $rebuild -eq 0 \
 | 
					
						
							|  |  |  |         && ! contains "$1" "${rebuildfiles[@]}"; then | 
					
						
							|  |  |  |         # file already exists and must not be rebuilt | 
					
						
							|  |  |  |         return 1 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     fi | 
					
						
							|  |  |  |     checkdir "$(dirname ${1})" | 
					
						
							|  |  |  |     echo -en "\e[1m-> generating:\e[0m $1 ..." | 
					
						
							|  |  |  |     result=$(cat > "$1" 2>&1) | 
					
						
							|  |  |  |     res=$? | 
					
						
							|  |  |  |     if test $res -ne 0; then | 
					
						
							|  |  |  |         echo -e " \e[31merror\e[0m" | 
					
						
							|  |  |  |         echo -e "\e[1m*** Failed with return code: $res\e[0m" | 
					
						
							|  |  |  |         if test -n "$result"; then | 
					
						
							|  |  |  |             echo "$result" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         exit 1 | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         echo -e " \e[32msuccess\e[0m" | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |     chmod $mode $1 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     if test $exists -eq 0; then | 
					
						
							|  |  |  |         run svn add "$1" | 
					
						
							|  |  |  |         run svn propset svn:keywords "Id" "$1" | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |     return 0 | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | copy() { | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |     if  checkfile "$1" && test $overwrite -eq 0 \
 | 
					
						
							|  |  |  |         && ! contains "$1" "${rebuildfiles[@]}"; then | 
					
						
							|  |  |  |         # file already exists and must not be rebuilt | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |         return | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     run cp "${0%/*}/$1" "$1" | 
					
						
							|  |  |  |     if test $exists -eq 0; then | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |         run svn add "$1" | 
					
						
							|  |  |  |         run svn propset svn:keywords "Id" "$1" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | doxyreplace() { | 
					
						
							|  |  |  |     echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..." | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     if sed -i 's|\(^'"$1"' *=\) *.*|\1'" $2"'|g' doc/doxyfile.in; then | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |         echo -e " \e[32msuccess\e[0m" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         echo -e " \e[31merror\e[0m" | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |         echo -e "\e[1m**** command: $0 $*\e[0m" | 
					
						
							|  |  |  |         exit 1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | doxyadd() { | 
					
						
							|  |  |  |     echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..." | 
					
						
							|  |  |  |     if sed -i '/^'"$1"' *=/a'"$1"' += '"$2" doc/doxyfile.in; then | 
					
						
							|  |  |  |         echo -e " \e[32msuccess\e[0m" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         echo -e " \e[31merror\e[0m" | 
					
						
							|  |  |  |         echo -e "\e[1m**** command: $0 $*\e[0m" | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |         exit 1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Initialize the environment: | 
					
						
							|  |  |  | copy ${MY_NAME} | 
					
						
							|  |  |  | copy ax_init_standard_project.m4 | 
					
						
							|  |  |  | copy ax_cxx_compile_stdcxx_11.m4 | 
					
						
							|  |  |  | copy ax_check_qt.m4 | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | AUTHOR=$(gpg -K  | sed -n 's,uid *,,p' | sort | head -1) | 
					
						
							|  |  |  | if test -z "${AUTHOR}"; then | 
					
						
							|  |  |  |     AUTHOR="FIRSTNAME LASTNAME (URL) <EMAIL>" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | echo "$AUTHOR" | to AUTHORS && notice "please edit AUTHORS" | 
					
						
							|  |  |  | to configure.ac <<EOF && \
 | 
					
						
							|  |  |  |     ( notice "please edit configure.ac, then rerun $0"; exit 0 ) | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | ${HEADER}m4_define(x_package_name, ${DEFAULT_PROJECT_NAME}) # project's name | 
					
						
							|  |  |  | m4_define(x_major, 0) # project's major version | 
					
						
							|  |  |  | m4_define(x_minor, 0) # project's minor version | 
					
						
							|  |  |  | m4_include(ax_init_standard_project.m4) | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | AC_INIT(x_package_name, x_version, x_package_name) | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | AM_INIT_AUTOMAKE([1.9 tar-pax]) | 
					
						
							|  |  |  | AX_INIT_STANDARD_PROJECT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # requirements, uncomment, what you need: | 
					
						
							|  |  |  | #AX_USE_CXX | 
					
						
							|  |  |  | #AX_USE_LIBTOOL | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | #AX_USE_SCRIPTS | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | #AX_USE_DOXYGEN | 
					
						
							|  |  |  | #AX_USE_DEBIAN_PACKAGING | 
					
						
							|  |  |  | #AX_USE_RPM_PACKAGING | 
					
						
							|  |  |  | #AX_USE_CPPUNIT | 
					
						
							|  |  |  | #AX_BUILD_EXAMPLES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # qt features, uncomment, what you need: | 
					
						
							|  |  |  | #AX_CHECK_QT([QT], [QtCore QtGui QtNetwork], [QtWidgets]) | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | #AX_QT_NO_KEYWORDS | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # create output | 
					
						
							|  |  |  | AC_OUTPUT | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | PACKAGE_NAME=$(sed -n 's/.*m4_define *( *x_package_name *, *\([^ ]*\) *).*/\1/p' configure.ac) | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  | echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_CXX src/makefile.am | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | to --condition AX_USE_CXX src/version.hxx <<EOF | 
					
						
							|  |  |  | /*! @file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     @id \$Id\$ | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | */ | 
					
						
							|  |  |  | //       1         2         3         4         5         6         7         8 | 
					
						
							|  |  |  | // 45678901234567890123456789012345678901234567890123456789012345678901234567890 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <string> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace NAMESPACE { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get package string which consists of package name and package version | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string package_string(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get package name | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string package_name(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get package version | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string version(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get code build date | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string build_date(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get author, i.e. copyright holder | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string author(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get short package description (1st line of README) | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string description(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get long package description (starting at 3rd line in README) | 
					
						
							|  |  |  |   std::string readme(); | 
					
						
							|  |  |  |   /// get package logo file name | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string logo(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// get package icon file name | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   std::string icon(); | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// used for <code>what filename</code> | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   extern const std::string WHAT; | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |   /// used for <code>ident filename</code> | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   extern const std::string IDENT; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | to --condition AX_USE_CXX src/version.cxx <<EOF | 
					
						
							|  |  |  | /*! @file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     @id $Id\$ | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | */ | 
					
						
							|  |  |  | //       1         2         3         4         5         6         7         8 | 
					
						
							|  |  |  | // 45678901234567890123456789012345678901234567890123456789012345678901234567890 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <string> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace NAMESPACE { | 
					
						
							|  |  |  |   std::string package_string() { | 
					
						
							|  |  |  |     return PACKAGE_STRING; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   std::string package_name() { | 
					
						
							|  |  |  |     return PACKAGE_NAME; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   std::string version() { | 
					
						
							|  |  |  |     return PACKAGE_VERSION; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   std::string build_date() { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     return BUILD_DATE; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   } | 
					
						
							|  |  |  |   std::string author() { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     return AUTHOR; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   } | 
					
						
							|  |  |  |   std::string description() { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     return DESCRIPTION; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   std::string readme() { | 
					
						
							|  |  |  |     return README; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   } | 
					
						
							|  |  |  |   std::string logo() { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     return PROJECT_LOGO; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   } | 
					
						
							|  |  |  |   std::string icon() { | 
					
						
							| 
									
										
										
										
											2015-05-05 15:06:08 +00:00
										 |  |  |     return PROJECT_ICON; | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |   } | 
					
						
							|  |  |  |   const std::string WHAT("#(@) " PACKAGE_STRING); | 
					
						
							|  |  |  |   const std::string IDENT("\$Id: " PACKAGE_STRING); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  | echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_SCRIPTS scripts/makefile.am | 
					
						
							|  |  |  | echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | to --condition AX_USE_CPPUNIT test/makefile.am <<EOF | 
					
						
							|  |  |  | ${HEADER}AM_CPPFLAGS = -I${top_srcdir}/src -I${top_builddir}/src | 
					
						
							|  |  |  | AM_LDFLAGS = -L${top_builddir}/src/.libs | 
					
						
							|  |  |  | LDADD = -l${PACKAGE_NAME} | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | MAINTAINERCLEANFILES = makefile.in | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | to --condition AX_BUILD_EXAMPLES examples/makefile.am <<EOF | 
					
						
							|  |  |  | ${HEADER}AM_CPPFLAGS = -I${top_srcdir}/src -I${top_builddir}/src | 
					
						
							|  |  |  | AM_LDFLAGS = -L${top_builddir}/src/.libs | 
					
						
							|  |  |  | LDADD = -l${PACKAGE_NAME} | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | MAINTAINERCLEANFILES = makefile.in | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | if testtag AX_USE_DOXYGEN && \
 | 
					
						
							|  |  |  |     ( ! checkfile doc/doxyfile.in || \
 | 
					
						
							|  |  |  |       contains doc/doxyfile.in "${rebuildfiles[@]}" ); then | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     run doxygen -g doc/doxyfile.in | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  |     if test $exists -eq 0; then | 
					
						
							|  |  |  |         run svn add doc/doxyfile.in | 
					
						
							|  |  |  |         run svn propset svn:keywords "Id" doc/doxyfile.in | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace PROJECT_NAME "@PACKAGE_NAME@" | 
					
						
							|  |  |  |     doxyreplace PROJECT_NUMBER "@PACKAGE_VERSION@" | 
					
						
							|  |  |  |     doxyreplace PROJECT_BRIEF "@DESCRIPTION@" | 
					
						
							|  |  |  |     doxyreplace PROJECT_LOGO "@PROJECT_LOGO@" | 
					
						
							|  |  |  |     doxyreplace INLINE_INHERITED_MEMB YES | 
					
						
							|  |  |  |     doxyreplace MULTILINE_CPP_IS_BRIEF YES | 
					
						
							|  |  |  |     doxyreplace TAB_SIZE 2 | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     doxyreplace ALIASES '"id=\\par File-ID\\n"' | 
					
						
							|  |  |  |     doxyadd ALIASES '"copy=\\par Copyright\\n"' | 
					
						
							|  |  |  |     doxyadd ALIASES '"license=\\par License\\n"' | 
					
						
							|  |  |  |     doxyadd ALIASES '"classmutex=\\par Reentrant:\\nAccess is locked with class static mutex @c "' | 
					
						
							|  |  |  |     doxyadd ALIASES '"instancemutex=\\par Reentrant:\\nAccess is locked with per instance mutex @c "' | 
					
						
							|  |  |  |     doxyadd ALIASES '"mutex=\\par Reentrant:\\nAccess is locked with mutex @c "' | 
					
						
							|  |  |  |     doxyreplace ENABLE_PREPROCESSING YES | 
					
						
							|  |  |  |     doxyreplace MACRO_EXPANSION YES | 
					
						
							|  |  |  |     doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"' | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace BUILTIN_STL_SUPPORT YES | 
					
						
							|  |  |  |     doxyreplace DISTRIBUTE_GROUP_DOC YES | 
					
						
							|  |  |  |     doxyreplace EXTRACT_ALL YES | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     doxyreplace EXTRACT_PACKAGE YES | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace EXTRACT_PRIVATE YES | 
					
						
							|  |  |  |     doxyreplace EXTRACT_STATIC YES | 
					
						
							|  |  |  |     doxyreplace EXTRACT_LOCAL_CLASSES YES | 
					
						
							|  |  |  |     doxyreplace EXTRACT_LOCAL_METHODS YES | 
					
						
							|  |  |  |     doxyreplace EXTRACT_ANON_NSPACES YES | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     doxyreplace SHOW_GROUPED_MEMB_INC YES | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace SORT_MEMBERS_CTORS_1ST YES | 
					
						
							|  |  |  |     doxyreplace WARN_IF_UNDOCUMENTED NO | 
					
						
							|  |  |  |     doxyreplace WARN_LOGFILE doxygen.errors | 
					
						
							|  |  |  |     doxyreplace INPUT "@top_srcdir@/src" | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     if testtag AX_USE_SCRIPTS; then | 
					
						
							|  |  |  |         doxyadd INPUT "@top_srcdir@/scripts" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if testtag AX_USE_CPPUNIT; then | 
					
						
							|  |  |  |         doxyadd INPUT "@top_srcdir@/test" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     doxyreplace FILE_PATTERNS '*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js' | 
					
						
							|  |  |  |     doxyadd FILE_PATTERNS *.wt | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace RECURSIVE YES | 
					
						
							|  |  |  |     doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_*" | 
					
						
							|  |  |  |     if testtag AX_BUILD_EXAMPLES; then | 
					
						
							|  |  |  |         doxyreplace EXAMPLE_PATH @top_srcdir@/examples | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     doxyreplace EXAMPLE_RECURSIVE YES | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     doxyreplace FILTER_PATTERNS '*.wt=doxygen-webtester.sed' | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace SOURCE_BROWSER YES | 
					
						
							|  |  |  |     doxyreplace INLINE_SOURCES YES | 
					
						
							| 
									
										
										
										
											2015-05-06 23:09:49 +00:00
										 |  |  |     doxyreplace GENERATE_TESTLIST YES | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  |     doxyreplace GENERATE_TREEVIEW NO | 
					
						
							|  |  |  |     doxyreplace SEARCHENGINE YES | 
					
						
							|  |  |  |     doxyreplace GENERATE_HTML YES | 
					
						
							|  |  |  |     doxyreplace GENERATE_LATEX NO | 
					
						
							|  |  |  |     doxyreplace LATEX_BATCHMODE YES | 
					
						
							|  |  |  |     doxyreplace LATEX_HIDE_INDICES YES | 
					
						
							|  |  |  |     doxyreplace COMPACT_RTF YES | 
					
						
							|  |  |  |     doxyreplace RTF_HYPERLINKS YES | 
					
						
							|  |  |  |     doxyreplace GENERATE_TAGFILE "@PACKAGE_NAME@.doxytag" | 
					
						
							|  |  |  |     doxyreplace HIDE_UNDOC_RELATIONS NO | 
					
						
							|  |  |  |     doxyreplace HAVE_DOT YES | 
					
						
							|  |  |  |     doxyreplace CLASS_GRAPH YES | 
					
						
							|  |  |  |     doxyreplace TEMPLATE_RELATIONS YES | 
					
						
							|  |  |  |     doxyreplace DOT_IMAGE_FORMAT svg | 
					
						
							|  |  |  |     doxyreplace INTERACTIVE_SVG YES | 
					
						
							|  |  |  |     doxyreplace DOT_TRANSPARENT YES | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | if testtag AX_USE_DEBIAN_PACKAGING; then | 
					
						
							|  |  |  |     checkdir debian | 
					
						
							|  |  |  |     to debian/changelog.in <<EOF | 
					
						
							|  |  |  | @PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   * Please see ChangeLog of @PACKAGE@ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  -- @AUTHOR@  @BUILD_DATE@ | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     to debian/control.in <<EOF | 
					
						
							|  |  |  | Source: @PACKAGE_NAME@ | 
					
						
							|  |  |  | Priority: extra | 
					
						
							|  |  |  | Maintainer: @AUTHOR@ | 
					
						
							|  |  |  | Build-Depends: debhelper, pkg-config, autotools-dev, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CXX_CHECK_QT; then echo -n ", qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools"; fi) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Package: @PACKAGE_NAME@ | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  | $(if testtag AX_USE_LIBTOOL; then echo "Section: libs"; fi)Architecture: any | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | Depends: \${shlibs:Depends}, \${misc:Depends} | 
					
						
							|  |  |  | Description: @DESCRIPTION@ | 
					
						
							|  |  |  | @README_DEB@ | 
					
						
							|  |  |  | $(      if testtag AX_USE_LIBTOOL; then | 
					
						
							|  |  |  |             cat <<EOF2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Package: @PACKAGE_NAME@-dev | 
					
						
							|  |  |  | Section: libdevel | 
					
						
							|  |  |  | Architecture: any | 
					
						
							|  |  |  | Depends: @PACKAGE_NAME@ (= \${binary:Version}) | 
					
						
							|  |  |  | Description: @DESCRIPTION@ - Development Package | 
					
						
							|  |  |  | @README_DEB@ | 
					
						
							|  |  |  | EOF2 | 
					
						
							|  |  |  |           fi) | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     to debian/docs <<EOF | 
					
						
							|  |  |  | NEWS | 
					
						
							|  |  |  | README | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     to --condition AX_USE_LIBTOOL debian/${PACKAGE_NAME}.install <<EOF | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | usr/lib/lib*.so.* | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  |     to --condition AX_USE_LIBTOOL debian/${PACKAGE_NAME}-dev.install <<EOF | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | usr/include/* | 
					
						
							|  |  |  | usr/lib/lib*.a | 
					
						
							|  |  |  | usr/lib/lib*.so | 
					
						
							|  |  |  | usr/lib/pkgconfig/* | 
					
						
							|  |  |  | usr/lib/*.la | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | usr/share/doc/${PACKAGE_NAME}/html | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-05 20:31:56 +00:00
										 |  |  |     to --mode "u=rwx,g=rwx,o=rx" debian/rules <<EOF | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | ${HEADER}%: | 
					
						
							|  |  |  | 	dh \$@ | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     echo 7 | to debian/compat | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | SUBDIRS="" | 
					
						
							|  |  |  | for d in src test scripts doc examples; do | 
					
						
							|  |  |  |     test -d $d && SUBDIRS="${SUBDIRS} $d" | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | to makefile.am<<EOF | 
					
						
							|  |  |  | ${HEADER}SUBDIRS =${SUBDIRS} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAINTAINERCLEANFILES = makefile.in | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | to --condition AX_USE_LIBTOOL src/${PACKAGE_NAME}.pc.in <<EOF | 
					
						
							|  |  |  | ${HEADER}prefix=@prefix@ | 
					
						
							|  |  |  | exec_prefix=@exec_prefix@ | 
					
						
							|  |  |  | libdir=\${exec_prefix}/lib | 
					
						
							|  |  |  | includedir=\${prefix}/include | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Name: @PACKAGE_NAME@ | 
					
						
							|  |  |  | Description: @DESCRIPTION@ | 
					
						
							|  |  |  | Version: @VERSION@ | 
					
						
							|  |  |  | Libs: -L\${libdir} -l@PACKAGE_NAME@ @LDFLAGS@ | 
					
						
							|  |  |  | Cflags: -I\${includedir} @CPPFLAGS@ | 
					
						
							| 
									
										
										
										
											2015-05-09 12:27:03 +00:00
										 |  |  | Requires: @PKG_REQUIREMENTS@ | 
					
						
							| 
									
										
										
										
											2015-05-05 08:30:58 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #### Cleanup If Makefile Exists #### | 
					
						
							|  |  |  | if test -f makefile; then | 
					
						
							|  |  |  |     run --no-check make distclean | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #### Bootstrap Before Configure #### | 
					
						
							|  |  |  | run aclocal | 
					
						
							|  |  |  | run libtoolize --force | 
					
						
							|  |  |  | run automake -a | 
					
						
							|  |  |  | run autoconf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #### Run Configure If User Requires #### | 
					
						
							|  |  |  | if test "$configure" -eq 1; then | 
					
						
							|  |  |  |     ./configure $* | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2015-05-06 14:51:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #### Run Make If User Requires #### | 
					
						
							|  |  |  | if test "$build" -eq 1; then | 
					
						
							|  |  |  |     make | 
					
						
							|  |  |  | fi |