completely new, megacool build system step 1

master
Marc Wäckerlin 10 years ago
parent 5700897788
commit ab144a4010
  1. 0
      ax_check_qt.m4
  2. 0
      ax_cxx_compile_stdcxx_11.m4
  3. 239
      ax_init_standard_project.m4
  4. 101
      bootstrap.sh
  5. 172
      configure.ac
  6. 2
      debian/changelog.in
  7. 6
      doc/doxyfile.in
  8. 49
      doc/makefile.am
  9. 0
      examples/cardos-demo.cxx
  10. 0
      examples/create-files-demo.cxx
  11. 0
      examples/cryptoki-demo.cxx
  12. 0
      examples/cryptoki-sign-demo.cxx
  13. 0
      examples/makefile.am
  14. 0
      examples/moc_cardgui-model.cxx
  15. 0
      examples/openssl-engine-demo.cxx
  16. 0
      examples/openssl-ssl-demo.cxx
  17. 0
      examples/openssl-tcp-demo.cxx
  18. 0
      examples/pcsc-demo.cxx
  19. 0
      examples/suisse-id-demo.cxx
  20. 0
      examples/suisse-id-demo.hxx
  21. 66
      makefile.am
  22. 8
      src/makefile.am

@ -0,0 +1,239 @@
## @id $Id$
## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
m4_define(x_least, m4_esyscmd_s(
LEAST="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
for path in . .. ../..; do
if svn info $path 2>&1 > /dev/null; then
LEAST=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
(cd $path && svn2cl)
break;
fi
done
echo -n $LEAST
))
m4_define(x_bugreport, m4_esyscmd_s(
head -1 AUTHORS | \
sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp'
))
m4_include(ax_check_qt.m4)
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
AC_DEFUN([AX_DEFINE_DIR], [
prefix_NONE=
exec_prefix_NONE=
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
dnl refers to ${prefix}. Thus we have to use `eval' twice.
eval ax_define_dir="\"[$]$2\""
eval ax_define_dir="\"$ax_define_dir\""
AC_SUBST($1, "$ax_define_dir")
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
test "$prefix_NONE" && prefix=NONE
test "$exec_prefix_NONE" && exec_prefix=NONE
])
AC_DEFUN([AX_ADD_MAKEFILE_TARGET_DEP], [
sh_add_makefile_target_dep() {
sed -i ':a;/^'${1}':.*\\$/{N;s/\\\n//;ta};s/^'${1}':.*$/& '${2}'/' "${3}"
if ! egrep -q "${1}:.* ${2}" "${3}"; then
echo "${1}: ${2}" >> "${3}"
fi
}
sh_add_makefile_target_dep "$1" "$2" "$3"
if test "$1" != ".PHONY"; then
sh_add_makefile_target_dep ".PHONY" "$2" "$3"
fi
])
AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
AC_SUBST(HOME)
README=$(tail -n +3 README)
DESCRIPTION=$(head -1 README)
AUTHOR=$(head -1 AUTHORS)
AC_SUBST(AUTHOR)
_AM_SUBST_NOTMAKE([AUTHOR])
AC_SUBST(DESCRIPTION)
_AM_SUBST_NOTMAKE([DESCRIPTION])
AC_SUBST(README)
_AM_SUBST_NOTMAKE([README])
DISTRO=$(lsb_release -sc)
AC_SUBST(DISTRO)
BUILD_NUMBER=${BUILD_NUMBER:-1}
AC_SUBST(BUILD_NUMBER)
BUILD_DATE=$(date -R)
AC_SUBST(BUILD_DATE)
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])
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-standard-project-targets], [makefile.in])
test -f makefile.in && cat >> makefile.in <<EOF
#### Begin: Appended by $0
EXTRA_DIST = bootstrap.sh
doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGE_NAME@.spec
clean-standard-project-targets:
-rm -rf \${PACKAGE_NAME}-\${PACKAGE_VERSION}
-rm \${PACKAGE_TARNAME}-\${PACKAGE_VERSION}.tar.gz
distclean-standard-project-targets:
-rm -r autom4te.cache
-rm aclocal.m4 config.guess config.sub configure depcomp compile install-sh ltmain.sh makefile missing mkinstalldirs
maintainer-clean-standard-project-targets:
-rm makefile.in
#### End: $0
EOF
])
AC_DEFUN([AX_USE_CXX], [
m4_include(ax_cxx_compile_stdcxx_11.m4)
AC_LANG(C++)
AX_CXX_COMPILE_STDCXX_11(noext, optional)
AC_PROG_CXX
AC_PROG_CPP
AC_CONFIG_FILES([src/makefile])
AM_CPPFLAGS="-DPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
# Get rid of that stupid -O2 -g opions!
CXXFLAGS="${CXXFLAGS:-}"
# pass compile flags to make distcheck
AM_DISTCHECK_CONFIGURE_FLAGS="CXXFLAGS='${CXXFLAGS}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
AC_SUBST(AM_DISTCHECK_CONFIGURE_FLAGS)
AC_ARG_ENABLE(pedantic,
[AS_HELP_STRING([--enable-pedantic],
[enable all warnings and checks, abort on warnings])],
[have_pedantic="$enableval"; test "$enableval" = "yes" && \
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror -Wshadow -Wcast-qual -Wno-ctor-dtor-privacy"])
dnl problem in libs: -Wshadow -Wcast-qual
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
AM_CONDITIONAL(PEDANTIC, test "$enableval" = "yes")
if test "$have_pedantic" == "yes"; then
AC_MSG_NOTICE([Pedantic compile mode enabled!
- all warnings for GNU g++ are enabled
- all warnings result in an error
- doxygen warnings are treated as error too]); fi
MINGW32=no
MAC=no
case $host_os in
*mingw32*) MINGW32=yes;;
*darwin* | *rhapsody* | *macosx*) MAC=yes;;
esac
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
AC_SUBST(AM_CXXFLAGS)
AC_SUBST(AM_CPPFLAGS)
])
AC_DEFUN([AX_USE_CPPUNIT], [
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
# infos and warnings
if test "$have_cppunit" = "no"; then
AC_MSG_WARN([Missing cppunit development library!
- you cannot check the library using "make check"
- everything else works perfectly]); fi
AC_CONFIG_FILES([test/makefile])
])
AC_DEFUN([AX_BUILD_EXAMPLES], [
AC_CONFIG_FILES([examples/makefile])
])
AC_DEFUN([AX_USE_LIBTOOL], [
# libtool versioning
LIB_MAJOR=m4_eval(x_major+x_minor)
LIB_MINOR=x_least
LIB_LEAST=x_minor
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
AM_LDFLAGS = -version-info ${LIB_VERSION}
AC_SUBST(AM_LDFLAGS)
AC_SUBST(LIB_VERSION)
AC_PROG_LIBTOOL
AC_CONFIG_FILES([src/${PACKAGE_NAME}.pc])
])
AC_DEFUN([AX_USE_DEBIAN_PACKAGING], [
README_DEB=$(tail -n +3 README | sed -e 's/^$/./g' -e 's/^/ /g')
AC_SUBST(README_DEB)
_AM_SUBST_NOTMAKE([README_DEB])
AC_CONFIG_FILES([debian/changelog debian/control])
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-debian-targets], [makefile.in])
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-debian-targets], [makefile.in])
test -f makefile.in && cat >> makefile.in <<EOF
#### Begin: Appended by $0
EXTRA_DIST += debian
clean-debian-targets:
-rm -rf \${PACKAGE_NAME}_\${PACKAGE_VERSION}~\${DISTRO}.\${BUILD_NUMBER}.{dsc,tar.gz} \${PACKAGE_NAME}_\${PACKAGE_VERSION}~\${DISTRO}.\${BUILD_NUMBER}*.changes \$\$(sed -n 's,Package: \(.*\),\1_${PACKAGE_VERSION}~${DISTRO}.${BUILD_NUMBER}*.deb,p;' debian/control)
deb: distdir
cd \${PACKAGE_NAME}-\${PACKAGE_VERSION} && ( export CFLAGS="\${CFLAGS}"; export CPPFLAGS="\${CPPFLAGS}"; export CXXFLAGS="\${CXXFLAGS}"; export LDFLAGS="\${LDFLAGS}"; export DEB_CFLAGS_APPEND="\${CFLAGS}"; export DEB_CPPFLAGS_APPEND="\${CPPFLAGS}"; export DEB_CXXFLAGS_APPEND="\${CXXFLAGS}"; export DEB_LDFLAGS_APPEND="\${LDFLAGS}"; dpkg-buildpackage )
distclean-debian-targets:
-rm debian/changelog debian/control
#### End: $0
EOF
])
AC_DEFUN([AX_USE_RPM_PACKAGING], [
# m4_include(ax_rpm_rules.m4)
AC_CONFIG_FILES([${PACKAGE_NAME}.spec])
#AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-debian-targets], [makefile.in])
AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [rpm], [makefile.in])
test -f makefile.in && cat >> makefile.in <<EOF
#### Begin: Appended by $0
rpm: dist
rpmbuild -ba --define "_topdir \$(pwd)" --define "_sourcedir \$(pwd)" \${PACKAGE_NAME}.spec
#### End: $0
EOF
])
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)
if test "$have_doxygen" = "no"; then
AC_MSG_WARN([Missing program doxygen!
- you cannot rebuild the documentation
- there are precompiled derived files in the distribution]); fi
if test "$have_dot" = "no"; then
AC_MSG_WARN([Missing program dot!
- when you rebild documentation, there are no generated images
- there are precompiled derived files in the distribution]); fi
if test "$have_mscgen" = "no"; then
AC_MSG_WARN([Missing program mscgen!
- when you rebild documentation, there are no message state charts
- there are precompiled derived files in the distribution]); fi
AC_CONFIG_FILES([doc/makefile doc/doxyfile])
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-documentation], [doc/makefile.in])
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-documentation], [doc/makefile.in])
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-documentation], [doc/makefile.in])
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])
test -f doc/makefile.in && cat >> doc/makefile.in <<EOF
#### Begin: Appended by $0
doc: doxyfile
doxygen doxyfile
@PEDANTIC_TRUE@ test \! -s doxygen.errors
clean-documentation:
-rm doxygen.errors @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
distclean-documentation:
-rm -r html
-rm @PACKAGE_NAME@.doxytag
maintainer-clean-documentation:
-rm makefile.in
install-data-documentation:
test -d \$(DESTDIR)\${docdir} || mkdir -p \$(DESTDIR)\${docdir}
chmod -R u+w \$(DESTDIR)\${docdir}
cp -r html \$(DESTDIR)\${docdir}/
uninstall-documentation:
-chmod -R u+w \$(DESTDIR)\${docdir}
-rm -rf \$(DESTDIR)\${docdir}/*
#### End: $0
EOF
])

@ -1,5 +1,4 @@
#! /bin/sh #! /bin/bash
## @file ## @file
## ##
## $Id$ ## $Id$
@ -15,5 +14,99 @@
## added file header ## added file header
## ##
test -f makefile && make distclean MY_NAME=${0##*/}
aclocal && libtoolize --force && automake -a && autoconf PROJECT_PATH=${0%*/*}
DEFAULT_PROJECT_NAME=${PROJECT_PATH##*/}
HEADER='## @id $Id$
#
# This file has been added by '${MY_NAME}' on '$(date -R)'
# Feel free to change it or even remove and rebuild it, up to your needs
#
## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
'
function run {
check=1
while test $# -gt 0; do
case "$1" in
(--no-check) check=0;;
(*) break;;
esac
shift;
done
echo -n "-> running: $* ..."
result=$($* 2>&1)
res=$?
if test $res -ne 0; then
if test $check -eq 1; then
echo " error"
echo "*** Failed with return code: $res"
if test -n "$result"; then
echo "$result"
fi
exit 1
else
echo " ignored"
fi
else
echo " success"
fi
}
function to {
cat > "$1"
run svn add "$1"
run svn propset svn:keywords "Id" "$1"
}
# Initialize the environment:
if ! test -f configure.ac; then
echo "->generating configure.ac"
to configure.ac <<EOF
${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)
AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name)
AM_INIT_AUTOMAKE([1.9 tar-pax])
AX_INIT_STANDARD_PROJECT
# requirements, uncomment, what you need:
#AX_USE_CXX
#AX_USE_LIBTOOL
#AX_USE_DOXYGEN
#AX_USE_DEBIAN_PACKAGING
#AX_USE_RPM_PACKAGING
#AX_USE_CPPUNIT
#AX_BUILD_EXAMPLES
# create output
AC_OUTPUT
EOF
echo "please edit configure.ac, then rerun $0"
fi
if ! test -f makefile.am; then
echo "-> 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
if test -f makefile; then
run --no-check make distclean
fi
run aclocal
run libtoolize --force
run automake -a
run autoconf

@ -1,93 +1,29 @@
# $Id$ # $Id$
AC_CONFIG_MACRO_DIR([m4])
# prevent HAVE_QTxxx does not appear in AM_CONDITIONAL
# in old ubuntu / debian distros
m4_include(m4/ax_check_qt.m4)
m4_include(m4/ax_cxx_compile_stdcxx_11.m4)
m4_define(x_package_name, libpcscxx) m4_define(x_package_name, libpcscxx)
m4_define(x_major, 3) m4_define(x_major, 3)
m4_define(x_minor, 1) m4_define(x_minor, 1)
m4_include(ax_init_standard_project.m4)
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
AC_DEFUN([AX_DEFINE_DIR], [
prefix_NONE=
exec_prefix_NONE=
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
dnl refers to ${prefix}. Thus we have to use `eval' twice.
eval ax_define_dir="\"[$]$2\""
eval ax_define_dir="\"$ax_define_dir\""
AC_SUBST($1, "$ax_define_dir")
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
test "$prefix_NONE" && prefix=NONE
test "$exec_prefix_NONE" && exec_prefix=NONE
])
m4_define(x_least, m4_esyscmd_s(
LEAST="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
for path in . .. ../..; do
if svn info $path 2>&1 > /dev/null; then
LEAST=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
(cd $path && svn2cl)
break;
fi
done
echo -n $LEAST
))
m4_define(x_bugreport, m4_esyscmd_s(
head -1 AUTHORS | \
sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp'
))
AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name) AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name)
AM_INIT_AUTOMAKE([1.9 tar-pax]) AM_INIT_AUTOMAKE([1.9 tar-pax])
AX_INIT_STANDARD_PROJECT
SRC_DIR=src
TST_DIR=
DOC_DIR=doc
# files to create
AC_CONFIG_FILES([makefile ${PACKAGE_NAME}.spec
src/makefile
doc/doxyfile doc/examples/makefile doc/makefile
src/${PACKAGE_NAME}.pc debian/changelog debian/control])
# libtool versioning
LIB_MAJOR=m4_eval(x_major+x_minor)
LIB_MINOR=x_least
LIB_LEAST=x_minor
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
AC_SUBST(LIB_VERSION)
# home
AC_SUBST(HOME)
# datadir for languages
AX_DEFINE_DIR([DATADIR], [datadir])
#AC_SUBST(DATADIR)
AM_CPPFLAGS="-DPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
# Get rid of that stupid -O2 -g opions!
CXXFLAGS="${CXXFLAGS:-}"
# languages # languages
AC_LANG(C++) AX_USE_CXX
AX_CXX_COMPILE_STDCXX_11(noext, optional) AX_USE_LIBTOOL
AX_USE_DOXYGEN
AX_USE_DEBIAN_PACKAGING
AX_USE_RPM_PACKAGING
#AX_USE_CPPUNIT
AX_BUILD_EXAMPLES
# qt features
AX_CXX_CHECK_QT([QTGUI], [QtCore QtGui])
AX_CXX_CHECK_QT([QTWIDGETS], [QtWidgets]) # optional, needed only for qt5
AX_CXX_CHECK_QT([QTNETWORK], [QtNetwork])
# programs # programs
AC_PROG_CXX #PKG_PROG_PKG_CONFIG
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AC_CHECK_PROG(have_doxygen, doxygen, yes, no)
AC_CHECK_PROG(have_dot, dot, yes, no)
PKG_PROG_PKG_CONFIG
# libraries # libraries
AC_ARG_ENABLE(pkcs11-download, AC_ARG_ENABLE(pkcs11-download,
@ -109,84 +45,6 @@ dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
AC_CHECK_HEADER([pkcs11.h], [], [AC_MSG_ERROR([Header pkcs11.h is required])]) AC_CHECK_HEADER([pkcs11.h], [], [AC_MSG_ERROR([Header pkcs11.h is required])])
AC_CHECK_HEADER([wintypes.h], [], [AC_MSG_ERROR([Header wintypes.h is required])]) AC_CHECK_HEADER([wintypes.h], [], [AC_MSG_ERROR([Header wintypes.h is required])])
AC_CHECK_HEADER([mrw/checkcxx11.hxx], [], [AC_MSG_ERROR([please install mrw-c++])]) AC_CHECK_HEADER([mrw/checkcxx11.hxx], [], [AC_MSG_ERROR([please install mrw-c++])])
AX_CXX_CHECK_QT([QTGUI], [QtCore QtGui])
AX_CXX_CHECK_QT([QTWIDGETS], [QtWidgets]) # optional, needed only for qt5
AX_CXX_CHECK_QT([QTNETWORK], [QtNetwork])
AC_ARG_ENABLE(pedantic,
[AS_HELP_STRING([--enable-pedantic],
[enable all warnings and checks, abort on warnings])],
[have_pedantic="$enableval"; test "$enableval" = "yes" && \
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror -Wshadow -Wcast-qual -Wno-ctor-dtor-privacy"])
dnl problem in libs: -Wshadow -Wcast-qual
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
AM_CONDITIONAL(PEDANTIC, test "$enableval" = "yes")
AC_ARG_ENABLE(dot,
[AS_HELP_STRING([--disable-dot],
[disable dot graphic tools for documentation])],
[have_dot="$enableval"])
test "$enableval" = "yes" && HAVE_DOT="YES" || HAVE_DOT="NO";
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
MINGW32=no
MAC=no
case $host_os in
*mingw32*) MINGW32=yes;;
*darwin* | *rhapsody* | *macosx*) MAC=yes;;
esac
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
# macros
README=$(tail -n +3 README)
README_DEB=$(tail -n +3 README | sed -e 's/^$/./g' -e 's/^/ /g')
DESCRIPTION=$(head -1 README)
AUTHOR=$(head -1 AUTHORS)
AC_SUBST(AUTHOR)
_AM_SUBST_NOTMAKE([AUTHOR])
AC_SUBST(DESCRIPTION)
_AM_SUBST_NOTMAKE([DESCRIPTION])
AC_SUBST(README)
_AM_SUBST_NOTMAKE([README])
AC_SUBST(README_DEB)
_AM_SUBST_NOTMAKE([README_DEB])
DISTRO=$(lsb_release -sc)
AC_SUBST(DISTRO)
BUILD_NUMBER=${BUILD_NUMBER:-1}
AC_SUBST(BUILD_NUMBER)
BUILD_DATE=$(date -R)
AC_SUBST(BUILD_DATE)
# export macros
SRCDIR=${srcdir}
AC_SUBST(SRCDIR)
AC_SUBST(SRC_DIR)
AC_SUBST(TST_DIR)
AC_SUBST(DOC_DIR)
AC_SUBST(HAVE_DOT)
AC_SUBST(THREADS)
AC_SUBST(AM_CXXFLAGS)
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(LIBS)
# create output # create output
AC_OUTPUT AC_OUTPUT
# infos and warnings
if test "$have_doxygen" = "no"; then
AC_MSG_WARN([Missing program doxygen!
- you cannot rebuild the documentation with make doc
- there are precompiled derived files in the distribution]); fi
if test "$have_dot" = "no"; then
AC_MSG_WARN([Missing program dot!
- when you rebild documentation with make doc, there are no generated images
- there are precompiled derived files in the distribution]); fi
if test "$have_cppunit" = "no"; then
AC_MSG_WARN([Missing cppunit development library!
- you cannot check the library using "make check"
- everything else works perfectly]); fi
if test "$have_pedantic" == "yes"; then
AC_MSG_NOTICE([Pedantic compile mode enabled!
- all warnings for GNU g++ are enabled
- all warnings result in an error
- doxygen warnings are treated as error too]); fi

@ -1,5 +1,5 @@
@PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low @PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low
* See https://dev.marc.waeckerlin.org/projects/@PACKAGE@ for changes * Please see ChangeLog of @PACKAGE@
-- @AUTHOR@ @BUILD_DATE@ -- @AUTHOR@ @BUILD_DATE@

@ -660,7 +660,7 @@ WARN_LOGFILE = doxygen.errors
# directories like "/usr/src/myproject". Separate the files or directories # directories like "/usr/src/myproject". Separate the files or directories
# with spaces. # with spaces.
INPUT = @SRCDIR@/../src INPUT = @top_srcdir@/src
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ -723,7 +723,7 @@ EXCLUDE_SYMBOLS =
# directories that contain example code fragments that are included (see # directories that contain example code fragments that are included (see
# the \include command). # the \include command).
EXAMPLE_PATH = examples EXAMPLE_PATH = @top_srcdir@/examples
# If the value of the EXAMPLE_PATH tag contains directories, you can use the # If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@ -1220,7 +1220,7 @@ SERVER_BASED_SEARCH = NO
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output. # generate Latex output.
GENERATE_LATEX = YES GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be # If a relative path is entered the value of OUTPUT_DIRECTORY will be

@ -1,48 +1,9 @@
## @file ## @id $Id$
## #
## $Id$ # This file has been added by bootstrap.sh on Wed, 11 Mar 2015 16:57:43 +0100
## # Feel free to change it or even remove and rebuild it, up to your needs
#
## 1 2 3 4 5 6 7 8 ## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890
SUBDIRS = examples
ALL_SRC = ${top_srcdir}/src/*.[ch]xx ${top_srcdir}/src/*.doc
# ${top_srcdir}/src/*.doc
DIRS = html
#latex
all: ${DIRS}
.PHONY: doc clean-local distclean-local dist-hool install-data-hook \
uninstall-hook
deps = ${top_srcdir}/COPYING ${top_srcdir}/README \
${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
html: ${ALL_SRC} doxyfile ${deps}
doxygen doxyfile
if PEDANTIC
test \! -s doxygen.errors
endif
# cd latex && make
# mv latex/refman.pdf @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
CLEANFILES = doxygen.errors @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
DISTCLEANFILES = @PACKAGE_NAME@.doxytag
MAINTAINERCLEANFILES = makefile.in
distclean-local:
- rm -r html latex
dist-hook: html
# cp -r html latex ${distdir}/
install-data-hook:
test -d $(DESTDIR)${docdir} || mkdir -p $(DESTDIR)${docdir}
chmod -R u+w $(DESTDIR)${docdir}
cp -r html $(DESTDIR)${docdir}/
uninstall-hook:
-chmod -R u+w $(DESTDIR)${docdir}
-rm -rf $(DESTDIR)${docdir}/*

@ -1,63 +1,9 @@
## @file ## @id $Id$
## #
## $Id$ # This file has been added by bootstrap.sh on Wed, 11 Mar 2015 16:57:43 +0100
## # Feel free to change it or even remove and rebuild it, up to your needs
## $Date: 2008-08-26 13:09:21 $ #
## $Author: marc $
##
## @copy &copy; Marc W&auml;ckerlin
## @license LGPL, see file <a href="license.html">COPYING</a>
##
## 1 2 3 4 5 6 7 8 ## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890
SUBDIRS = @SRC_DIR@ @TST_DIR@ @DOC_DIR@ SUBDIRS = src doc examples
nobase_include_HEADERS =
EXTRA_DIST = bootstrap.sh debian
DISTCLEANFILES = debian/changelog
deb: dist
tar xzvf @PACKAGE_TARNAME@-@VERSION@.tar.gz
cd @PACKAGE_TARNAME@-@VERSION@ && dpkg-buildpackage
rm -rf @PACKAGE_TARNAME@-@VERSION@
doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGE_NAME@.spec
RPMS = /usr/src/packages/RPMS/i586/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.i586.rpm \
/usr/src/packages/RPMS/i586/@PACKAGE_NAME@-devel-@PACKAGE_VERSION@-1.i586.rpm \
/usr/src/packages/SRPMS/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.src.rpm
.PHONY: release tag rpm webserver \
doc clean-local distclean-local dist-hool install-data-hook \
uninstall-hook
release: tag webserver
rpm: dist
cp @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz \
/usr/src/packages/SOURCES/
rpmbuild -ba --clean @PACKAGE_NAME@.spec
deps = ${top_srcdir}/COPYING ${top_srcdir}/README ${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
clean-local:
- rm doxygen.err lib@PACKAGE_NAME@.doxytag
- rm @PACKAGE_NAME@-dev_@PACKAGE_VERSION@-*.deb \
@PACKAGE_NAME@_@PACKAGE_VERSION@-*.changes \
@PACKAGE_NAME@_@PACKAGE_VERSION@-1.tar.gz \
@PACKAGE_NAME@_@PACKAGE_VERSION@-1.dsc \
@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz \
@PACKAGE_NAME@_@PACKAGE_VERSION@-*.deb
distclean-local:
- rm -r ${top_builddir}/@DOC_DIR@/html/* ${top_builddir}/@DOC_DIR@/latex/*
- rm makefile makefile.in doxygen.err libmrw.doxytag
- find . -name '*~' | xargs rm
- rm -r autom4te.cache
- rm aclocal.m4 config.guess config.sub configure depcomp \
install-sh ltmain.sh makefile makefile.in missing \
mkinstalldirs m4/libtool.m4 m4/ltoptions.m4 \
m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 compile

@ -5,10 +5,8 @@
## 1 2 3 4 5 6 7 8 ## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890
#MOC_FILES=moc_certimport.cxx
include_HEADERS = pcsc.hxx cryptoki.hxx openssl.hxx cryptaux.hxx \ include_HEADERS = pcsc.hxx cryptoki.hxx openssl.hxx cryptaux.hxx \
openssl-engine.hxx suisseid.hxx cardos.hxx openssl-engine.hxx suisseid.hxx cardos.hxx
#certimport.hxx
noinst_HEADERS = cardgui.hxx cardgui-model.hxx noinst_HEADERS = cardgui.hxx cardgui-model.hxx
@ -33,7 +31,6 @@ lib_LTLIBRARIES = libpcscxx.la
libpcscxx_la_SOURCES = cryptoki.cxx cryptoki.hxx pcsc.cxx version.cxx \ libpcscxx_la_SOURCES = cryptoki.cxx cryptoki.hxx pcsc.cxx version.cxx \
openssl-engine.cxx openssl-engine.cxx
#moc_certimport.cxx
libpcscxx_la_LDFLAGS = -version-info ${LIB_VERSION} libpcscxx_la_LDFLAGS = -version-info ${LIB_VERSION}
libpcscxx_la_LIBADD = -lssl -lcrypto libpcscxx_la_LIBADD = -lssl -lcrypto
if MINGW32 if MINGW32
@ -58,9 +55,6 @@ endif
noinst_PROGRAMS = versiontest noinst_PROGRAMS = versiontest
versiontest_SOURCES = versiontest.cxx versiontest_SOURCES = versiontest.cxx
clean-local: CLEANFILES = ${BUILT_SOURCES}
-rm -r ${QMAKE_TARGET}.app
CLEANFILES = ${MOC_FILES} ${BUILT_SOURCES}
DISTCLEANFILES = $(pkgconfig_DATA) DISTCLEANFILES = $(pkgconfig_DATA)
MAINTAINERCLEANFILES = makefile.in MAINTAINERCLEANFILES = makefile.in

Loading…
Cancel
Save