From 5e9c2965e872bc0b11b67e5776a69da57ca4660c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Fri, 13 Mar 2015 16:30:56 +0000 Subject: [PATCH] improved bootstrapping --- ax_check_qt.m4 | 5 +- ax_init_standard_project.m4 | 49 ++++++-- bootstrap.sh | 221 +++++++++++++++++++++++++++++++++-- debian/copyright | 26 ----- debian/dirs | 0 debian/libpcscxx.doc-base.EX | 20 ---- debian/shlibs.local.ex | 1 - debian/watch.ex | 23 ---- 8 files changed, 254 insertions(+), 91 deletions(-) delete mode 100644 debian/copyright delete mode 100644 debian/dirs delete mode 100644 debian/libpcscxx.doc-base.EX delete mode 100644 debian/shlibs.local.ex delete mode 100644 debian/watch.ex diff --git a/ax_check_qt.m4 b/ax_check_qt.m4 index a3ed44c..4567828 100644 --- a/ax_check_qt.m4 +++ b/ax_check_qt.m4 @@ -89,6 +89,9 @@ AC_DEFUN([AX_CXX_CHECK_QT], [ ${UIC} -o [$][@] $< moc_%.cxx: %.hxx - ${MOC} -o [$][@] $<' + ${MOC} -o [$][@] $< + +qrc_%.cxx: %.qrc + ${RCC} -o [$][@] $<' AC_SUBST(AX_ADDITIONAL_QT_RULES_HACK) ]) diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 37fa859..a01617b 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -39,9 +39,9 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice. AC_DEFUN([AX_ADD_MAKEFILE_TARGET_DEP], [ sh_add_makefile_target_dep() { - sed -i ':a;/^'${1}':.*\\$/{N;s/\\\n//;ta};s/^'${1}':.*$/& '${2}'/' "${top_srcdir}/${3}" - if ! egrep -q "${1}:.* ${2}" "${top_srcdir}/${3}"; then - echo "${1}: ${2}" >> "${top_srcdir}/${3}" + sed -i ':a;/^'${1}':.*\\$/{N;s/\\\n//;ta};s/^'${1}':.*$/& '${2}'/' "${srcdir}/${3}" + if ! egrep -q "${1}:.* ${2}" "${srcdir}/${3}"; then + echo "${1}: ${2}" >> "${srcdir}/${3}" fi } sh_add_makefile_target_dep "$1" "$2" "$3" @@ -67,6 +67,14 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ AC_SUBST(BUILD_NUMBER) BUILD_DATE=$(date -R) AC_SUBST(BUILD_DATE) + if test -f "${PROJECT_NAME}-logo.png"; then + PROJECT_LOGO="${PROJECT_NAME}-logo.png" + fi + AC_SUBST(PROJECT_LOGO) + if test -f "${PROJECT_NAME}-icon.png"; then + PROJECT_ICON="${PROJECT_NAME}-icon.png" + fi + AC_SUBST(PROJECT_ICON) AC_CONFIG_FILES([makefile]) AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-standard-project-targets], [makefile.in]) AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-standard-project-targets], [makefile.in]) @@ -152,7 +160,7 @@ AC_DEFUN([AX_USE_LIBTOOL], [ LIB_MINOR=x_least LIB_LEAST=x_minor LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}" - AM_LDFLAGS = -version-info ${LIB_VERSION} + AM_LDFLAGS="-version-info ${LIB_VERSION}" AC_SUBST(AM_LDFLAGS) AC_SUBST(LIB_VERSION) AC_PROG_LIBTOOL @@ -196,6 +204,18 @@ AC_DEFUN([AX_USE_DOXYGEN], [ AC_CHECK_PROG(have_doxygen, doxygen, yes, no) AC_CHECK_PROG(have_dot, dot, yes, no) AC_CHECK_PROG(have_mscgen, mscgen, yes, no) + AC_ARG_ENABLE(html, + [AS_HELP_STRING([--disable-html], + [disable generation of doxygen html documentation])], + [have_html="$enableval"], [have_html="no"]) + AM_CONDITIONAL(HTML_DOC, test "$have_html" = "yes") + AC_ARG_ENABLE(pdf, + [AS_HELP_STRING([--enable-pdf], + [enable generation of doxygen pdf documentation])], + [have_pdf="$enableval"], [have_pdf="no"]) + AM_CONDITIONAL(PDF_DOC, test "$have_pdf" = "yes") + PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf + AC_SUBST(PDF_DOC) if test "$have_doxygen" = "no"; then AC_MSG_WARN([Missing program doxygen! - you cannot rebuild the documentation @@ -215,15 +235,28 @@ AC_DEFUN([AX_USE_DOXYGEN], [ AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in]) AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in]) AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) + AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf], [doc/makefile.in]) test -f doc/makefile.in && cat >> doc/makefile.in < "$1" +testtag() { + egrep -q '^ *'"$1" configure.ac +} + +checkdir() { + if ! test -d "$1"; then # create path + run mkdir -p "$1" + run svn add "$1" + fi +} + +to() { + while test $# -gt 0; do + case "$1" in + (--condition) shift # test for a tag, abort if not set + if ! testtag "$1" configure.ac; then + return + fi;; + (*) break;; + esac + shift; + done + if test -f "$1"; then # file already exists + return + fi + checkdir "$(dirname ${1})" + echo -n "-> generating $1 ..." + result=$(cat > "$1" 2>&1) + res=$? + if test $res -ne 0; then + echo " error" + echo "*** Failed with return code: $res" + if test -n "$result"; then + echo "$result" + fi + exit 1 + else + echo " success" + fi run svn add "$1" run svn propset svn:keywords "Id" "$1" } +copy() { + if ! test -f "$1"; then + run cp "${0%/*}/$1" "$1" + run svn add "$1" + run svn propset svn:keywords "Id" "$1" + fi +} + +doxyreplace() { + echo -n "-> doxyfile: configure $1 ..." + if sed -i 's§\(^'"$1"' *=\) *§\1'" $2"'§g' doc/doxyfile.in; then + echo " success" + else + echo " ignored" + 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 if ! test -f configure.ac; then - echo "->generating configure.ac" to configure.ac < generating makefile.am" SUBDIRS="" for d in src test doc examples; do test -d $d && SUBDIRS="${SUBDIRS} $d" done echo "${HEADER}SUBDIRS =${SUBDIRS}" | to makefile.am fi -if ( test -d doc || grep -q AX_USE_DOXYGEN configure.ac ) \ - && ! test -f doc/makefile.am; then - echo "-> generating doc/makefile.am" - test -d doc || ( mkdir doc && svn add doc ) - echo "${HEADER}" | to doc/makefile.am -fi +to --condition AX_USE_LIBTOOL src/${PACKAGE_NAME}.pc.in < on -Wed, 07 Apr 2010 10:23:02 +0200. - -It was downloaded from https://dev.marc.waeckerlin.org/projects/proxyface - -Upstream Author(s): - - Marc Wäckerlin - -Copyright: - - Marc Wäckerlin - -License: - - LGPL version 3 - -The Debian packaging is: - - Copyright (C) 2010 Marc Wäckerlin - -and is licensed under the GPL version 3, -see `/usr/share/common-licenses/GPL-3'. - -# Please also look if there are files or directories which have a -# different copyright/license attached and list them here. diff --git a/debian/dirs b/debian/dirs deleted file mode 100644 index e69de29..0000000 diff --git a/debian/libpcscxx.doc-base.EX b/debian/libpcscxx.doc-base.EX deleted file mode 100644 index 5333865..0000000 --- a/debian/libpcscxx.doc-base.EX +++ /dev/null @@ -1,20 +0,0 @@ -Document: proxyface -Title: Debian proxyface Manual -Author: -Abstract: This manual describes what proxyface is - and how it can be used to - manage online manuals on Debian systems. -Section: unknown - -Format: debiandoc-sgml -Files: /usr/share/doc/proxyface/proxyface.sgml.gz - -Format: postscript -Files: /usr/share/doc/proxyface/proxyface.ps.gz - -Format: text -Files: /usr/share/doc/proxyface/proxyface.text.gz - -Format: HTML -Index: /usr/share/doc/proxyface/html/index.html -Files: /usr/share/doc/proxyface/html/*.html diff --git a/debian/shlibs.local.ex b/debian/shlibs.local.ex deleted file mode 100644 index 2566e8d..0000000 --- a/debian/shlibs.local.ex +++ /dev/null @@ -1 +0,0 @@ -libproxyface 1.0.34 proxyface (>> 1.0.34-0), proxyface (<< 1.0.34-99) diff --git a/debian/watch.ex b/debian/watch.ex deleted file mode 100644 index 9e3713b..0000000 --- a/debian/watch.ex +++ /dev/null @@ -1,23 +0,0 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# See uscan(1) for format - -# Compulsory line, this is a version 3 file -version=3 - -# Uncomment to examine a Webpage -# -#http://www.example.com/downloads.php proxyface-(.*)\.tar\.gz - -# Uncomment to examine a Webserver directory -#http://www.example.com/pub/proxyface-(.*)\.tar\.gz - -# Uncommment to examine a FTP server -#ftp://ftp.example.com/pub/proxyface-(.*)\.tar\.gz debian uupdate - -# Uncomment to find new files on sourceforge, for devscripts >= 2.9 -# http://sf.net/proxyface/proxyface-(.*)\.tar\.gz - -# Uncomment to find new files on GooglePages -# http://example.googlepages.com/foo.html proxyface-(.*)\.tar\.gz