update buildsystem
This commit is contained in:
1781
ChangeLog
1781
ChangeLog
@@ -0,0 +1,1781 @@
|
||||
2016-06-08 10:56
|
||||
|
||||
* src/cardos.hxx: added APDU info
|
||||
|
||||
2016-04-04 08:53
|
||||
|
||||
* ChangeLog: after migration to new svn server
|
||||
|
||||
2015-12-18 16:04 marc
|
||||
|
||||
* build-in-docker.conf: added dependency for sid
|
||||
|
||||
2015-12-17 12:33 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
build-in-docker.conf, build-in-docker.sh, libpcscxx.desktop.in,
|
||||
resolve-debbuilddeps.sh, sql-to-dot.sed: use ./build-in-docker.sh
|
||||
on build server
|
||||
|
||||
2015-11-16 12:38 marc
|
||||
|
||||
* doc/doxyfile.in: SVG must not be interactive for embedding in
|
||||
redmine
|
||||
|
||||
2015-11-09 11:22 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
debian/control.in, resolve-debbuilddeps.sh: fixed build
|
||||
dependencies
|
||||
|
||||
2015-11-07 10:47 marc
|
||||
|
||||
* bootstrap.sh: there is no qt4-default
|
||||
|
||||
2015-11-07 09:23 marc
|
||||
|
||||
* bootstrap.sh, debian/control.in: there is no qt4-default
|
||||
|
||||
2015-11-06 23:58 marc
|
||||
|
||||
* debian/control.in: fixed dependencies
|
||||
|
||||
2015-11-05 09:53 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
build-in-docker.sh, resolve-debbuilddeps.sh: updated build system
|
||||
|
||||
2015-11-05 08:44 marc
|
||||
|
||||
* doc/doxyfile.in: doxygen should not build search engine, it's
|
||||
awful in embedded redmine
|
||||
|
||||
2015-11-03 21:48 marc
|
||||
|
||||
* debian/control.in: updated dependencies
|
||||
|
||||
2015-11-03 11:45 marc
|
||||
|
||||
* ChangeLog, ax_check_qt.m4, bootstrap.sh, resolve-debbuilddeps.sh:
|
||||
prepared for build in a docker instance on jenkins
|
||||
|
||||
2015-11-01 23:53 marc
|
||||
|
||||
* AUTHORS, ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
resolve-debbuilddeps.sh: new author url
|
||||
|
||||
2015-09-22 11:36 marc
|
||||
|
||||
* ax_init_standard_project.m4: fixed little type in build that
|
||||
affected only mac osx build
|
||||
|
||||
2015-09-22 11:12 marc
|
||||
|
||||
* ax_init_standard_project.m4: fixed little type in build that
|
||||
affected only mac osx build - strange
|
||||
|
||||
2015-09-22 07:42 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, configure.ac,
|
||||
src/cryptoki.cxx, src/cryptoki.hxx, src/pcsc.hxx: don't throw
|
||||
exception in destructur when card has been removed
|
||||
|
||||
2015-09-14 09:01 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
build-resource-file.sh, debian/control.in,
|
||||
debian/libpcscxx-dev.install, resolve-debbuilddeps.sh,
|
||||
resolve-rpmbuilddeps.sh: added resolve-rpmbuilddeps.sh
|
||||
|
||||
2015-09-01 12:28 marc
|
||||
|
||||
* debian/control.in: install qtX-default so that it fits for all
|
||||
distributions
|
||||
|
||||
2015-09-01 12:26 marc
|
||||
|
||||
* debian/control.in: don't install qtX-default
|
||||
|
||||
2015-09-01 12:18 marc
|
||||
|
||||
* debian/control.in: install qtX-default
|
||||
|
||||
2015-09-01 12:14 marc
|
||||
|
||||
* resolve-debbuilddeps.sh: new script to resolve debian build
|
||||
dependencies
|
||||
|
||||
2015-09-01 12:13 marc
|
||||
|
||||
* resolve-debbuilddeps.sh: new script to resolve debian build
|
||||
dependencies
|
||||
|
||||
2015-09-01 12:00 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
resolve-debbuilddeps.sh: new script to resolve debian build
|
||||
dependencies
|
||||
|
||||
2015-08-17 14:52 marc
|
||||
|
||||
* src/cryptaux.hxx: fix ambiguity
|
||||
|
||||
2015-08-17 14:47 marc
|
||||
|
||||
* src/cryptaux.hxx: fix ambiguity
|
||||
|
||||
2015-08-17 14:02 marc
|
||||
|
||||
* ax_init_standard_project.m4, bootstrap.sh: Debian sid is more
|
||||
restrictive in time format
|
||||
|
||||
2015-07-31 14:18 marc
|
||||
|
||||
* libpcscxx.spec.in: stupid fedora/centos does not handle
|
||||
/path/to/dir correctly
|
||||
|
||||
2015-07-31 11:47 marc
|
||||
|
||||
* libpcscxx.spec.in: graphviz must not be used in fedora-20,
|
||||
otherise it never terminates
|
||||
|
||||
2015-07-31 10:44 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
configure.ac: fixed version number
|
||||
|
||||
2015-07-30 14:13 marc
|
||||
|
||||
* ax_check_qt.m4: qt4 in centos
|
||||
|
||||
2015-07-30 13:59 marc
|
||||
|
||||
* libpcscxx.spec.in: qt4 in centos and p11 in suse11
|
||||
|
||||
2015-07-30 13:56 marc
|
||||
|
||||
* ax_check_qt.m4, bootstrap.sh, libpcscxx.spec.in: qt4 in centos
|
||||
and p11 in suse11
|
||||
|
||||
2015-07-30 13:49 marc
|
||||
|
||||
* libpcscxx.spec.in: packages
|
||||
|
||||
2015-07-30 13:32 marc
|
||||
|
||||
* libpcscxx.spec.in: packages for opensuse 11.4
|
||||
|
||||
2015-07-30 13:27 marc
|
||||
|
||||
* libpcscxx.spec.in: packages for centos
|
||||
|
||||
2015-07-30 13:12 marc
|
||||
|
||||
* libpcscxx.spec.in: packages for centos
|
||||
|
||||
2015-07-30 12:55 marc
|
||||
|
||||
* libpcscxx.spec.in: package bin
|
||||
|
||||
2015-07-30 12:40 marc
|
||||
|
||||
* ax_check_qt.m4: qt-tools are named tool-qt5 in suse :p
|
||||
|
||||
2015-07-30 12:39 marc
|
||||
|
||||
* libpcscxx.spec.in: fedora packages ...
|
||||
|
||||
2015-07-30 12:33 marc
|
||||
|
||||
* ax_check_qt.m4, bootstrap.sh: qt-tools are named tool-qt5 in suse
|
||||
:p
|
||||
|
||||
2015-07-30 12:15 marc
|
||||
|
||||
* libpcscxx.spec.in: fixed qt dependencies
|
||||
|
||||
2015-07-30 11:44 marc
|
||||
|
||||
* libpcscxx.spec.in: fixed qt dependencies
|
||||
|
||||
2015-07-30 10:21 marc
|
||||
|
||||
* configure.ac, libpcscxx.spec.in: fixed rpm dependency
|
||||
|
||||
2015-07-30 09:55 marc
|
||||
|
||||
* libpcscxx.spec.in: fixed rpm dependency
|
||||
|
||||
2015-07-30 09:38 marc
|
||||
|
||||
* libpcscxx.spec.in: fixed qt detection
|
||||
|
||||
2015-07-30 09:33 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
libpcscxx.spec.in: fixed qt detection
|
||||
|
||||
2015-07-30 08:39 marc
|
||||
|
||||
* libpcscxx.spec.in: ready for rpm
|
||||
|
||||
2015-07-30 08:26 marc
|
||||
|
||||
* makefile.am: ready for rpm
|
||||
|
||||
2015-07-30 08:13 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
libpcscxx.spec.in: enable rpm build
|
||||
|
||||
2015-07-27 08:35 marc
|
||||
|
||||
* ChangeLog, ax_check_qt.m4, ax_init_standard_project.m4,
|
||||
bootstrap.sh: better check for header
|
||||
|
||||
2015-07-27 06:33 marc
|
||||
|
||||
* configure.ac: remove test output
|
||||
|
||||
2015-07-22 10:09 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh, libpcscxx:
|
||||
buildsystem updated
|
||||
|
||||
2015-07-22 10:04 marc
|
||||
|
||||
* ax_init_standard_project.m4, configure.ac: mingw/windows-build
|
||||
works
|
||||
|
||||
2015-07-21 08:42 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
configure.ac, debian/control.in, mac-create-app-bundle.sh:
|
||||
pcsclite does not exist on windows
|
||||
|
||||
2015-07-13 16:50 marc
|
||||
|
||||
* configure.ac: libpkcs11-helper-1 is even worse...
|
||||
|
||||
2015-07-13 14:51 marc
|
||||
|
||||
* configure.ac: prefere libpkcs11-helper-1
|
||||
|
||||
2015-07-13 12:29 marc
|
||||
|
||||
* bootstrap.sh, doc, doc/doxyfile.in, doc/makefile.am: updated docu
|
||||
|
||||
2015-07-13 08:39 marc
|
||||
|
||||
* ChangeLog, ax_check_qt.m4, ax_init_standard_project.m4,
|
||||
bootstrap.sh: upgrade to newest bootstrap-build
|
||||
|
||||
2015-06-24 09:26 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4: even more support for
|
||||
weird and sloppy packages
|
||||
|
||||
2015-06-23 09:02 marc
|
||||
|
||||
* ax_init_standard_project.m4, configure.ac: even more improved way
|
||||
to find the necessary include path
|
||||
|
||||
2015-06-23 08:48 marc
|
||||
|
||||
* ax_init_standard_project.m4: even more improved way to find the
|
||||
necessary include path
|
||||
|
||||
2015-06-23 08:06 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4: improved way to find the
|
||||
necessary include path, even if module writers did a sloppy job
|
||||
|
||||
2015-06-19 07:18 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4: don't scan subpathes of
|
||||
/usr/include for include files
|
||||
|
||||
2015-06-18 14:34 marc
|
||||
|
||||
* ChangeLog, configure.ac: build fails with GNU TLS, because pcsc.h
|
||||
there is something completely different
|
||||
|
||||
2015-05-22 08:45 marc
|
||||
|
||||
* configure.ac: fixed package name for mac ports
|
||||
|
||||
2015-05-20 12:12 marc
|
||||
|
||||
* ChangeLog, debian/libpcscxx-dev.install: fix in debian build
|
||||
|
||||
2015-05-18 09:40 marc
|
||||
|
||||
* examples/makefile.am, src/makefile.am: cleanup build files
|
||||
|
||||
2015-05-18 09:21 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4: fix build on mac, fix
|
||||
wrong AX_PKG_CHECK
|
||||
|
||||
2015-05-13 13:35 marc
|
||||
|
||||
* ax_init_standard_project.m4: fixed some build issues, i.e. wrong
|
||||
library version number
|
||||
|
||||
2015-05-12 13:32 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, configure.ac:
|
||||
QtNetwork depends on QT >= 5.2
|
||||
|
||||
2015-05-12 08:57 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
src/makefile.am: fixed build
|
||||
|
||||
2015-05-11 13:45 marc
|
||||
|
||||
* src/makefile.am: don't miss build of cert2text
|
||||
|
||||
2015-05-09 22:35 marc
|
||||
|
||||
* ax_init_standard_project.m4: strange build error:
|
||||
'configure:18658: error: possibly undefined macro: m4_default'
|
||||
|
||||
2015-05-09 16:51 marc
|
||||
|
||||
* ax_init_standard_project.m4, bootstrap.sh, src/libpcscxx.pc.in:
|
||||
corrected link command
|
||||
|
||||
2015-05-09 09:33 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
src/libpcscxx.pc.in: fixed pkg-config requirements
|
||||
|
||||
2015-05-08 23:38 marc
|
||||
|
||||
* ax_init_standard_project.m4, bootstrap.sh: fixed the mac bug
|
||||
again, because last change was incompatible with debian changelog
|
||||
format
|
||||
|
||||
2015-05-08 23:12 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
configure.ac: build system fixed
|
||||
|
||||
2015-05-07 14:37 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
src/version.hxx: fixed mac issues
|
||||
|
||||
2015-05-05 20:32 marc
|
||||
|
||||
* debian/control.in: dependencies imprved
|
||||
|
||||
2015-05-04 09:30 marc
|
||||
|
||||
* ax_init_standard_project.m4, configure.ac: much more flexible and
|
||||
stable package dependency checks
|
||||
|
||||
2015-05-04 06:56 marc
|
||||
|
||||
* src/cert2text.cxx: forgoten to add new file
|
||||
|
||||
2015-04-30 14:28 marc
|
||||
|
||||
* ChangeLog, configure.ac, src/makefile.am: new tool cert2text to
|
||||
show certificates
|
||||
|
||||
2015-03-24 08:02 marc
|
||||
|
||||
* ax_init_standard_project.m4: add test maintainr-clean
|
||||
|
||||
2015-03-15 20:08 marc
|
||||
|
||||
* src/libpcscxx.pc.in: linking needs crypto ssl and pcsclite
|
||||
|
||||
2015-03-15 19:29 marc
|
||||
|
||||
* ax_init_standard_project.m4, src/libpcscxx.pc.in: linking needs
|
||||
crypto
|
||||
|
||||
2015-03-15 16:52 marc
|
||||
|
||||
* configure.ac: no qt keywords
|
||||
|
||||
2015-03-15 16:21 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
configure.ac: better build + no qt keywords
|
||||
|
||||
2015-03-14 14:25 marc
|
||||
|
||||
* examples/makefile.am, src/cardgui.hxx, src/makefile.am,
|
||||
src/password.hxx: build fixed
|
||||
|
||||
2015-03-14 14:05 marc
|
||||
|
||||
* ChangeLog, ax_check_qt.m4, ax_init_standard_project.m4,
|
||||
bootstrap.sh, configure.ac, src/libpcscxx.pc.in: wrong pkg-config
|
||||
prefix
|
||||
|
||||
2015-03-14 09:51 marc
|
||||
|
||||
* ax_init_standard_project.m4, bootstrap.sh: missreading: doxygen
|
||||
-w html does not compile html onlx ...
|
||||
|
||||
2015-03-14 09:31 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
|
||||
src/libpcscxx.pc.in: add compile dependencies
|
||||
|
||||
2015-03-13 16:30 marc
|
||||
|
||||
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
|
||||
debian/compat, debian/copyright, debian/dirs,
|
||||
debian/libpcscxx.doc-base.EX, debian/shlibs.local.ex,
|
||||
debian/watch.ex: improved bootstrapping
|
||||
|
||||
2015-03-12 09:16 marc
|
||||
|
||||
* ChangeLog, ax_init_standard_project.m4: bugfix new buildsystem:
|
||||
makefile.in is in top_srcdir
|
||||
|
||||
2015-03-11 16:00 marc
|
||||
|
||||
* ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4,
|
||||
ax_init_standard_project.m4, bootstrap.sh, configure.ac,
|
||||
debian/changelog.in, doc/doxyfile.in, doc/examples,
|
||||
doc/makefile.am, examples, m4, makefile.am, src/makefile.am:
|
||||
completely new, megacool build system step 1
|
||||
|
||||
2015-03-05 14:48 marc
|
||||
|
||||
* debian/control.in: uic is required if qt is used
|
||||
|
||||
2015-03-05 14:05 marc
|
||||
|
||||
* ChangeLog, m4/ax_check_qt.m4: don't stop if qt is not found; more
|
||||
elegant way for adding qt rules
|
||||
|
||||
2015-03-05 13:44 marc
|
||||
|
||||
* m4/ax_check_qt.m4: don't stop if qt is not found; more elegant
|
||||
way for adding qt rules
|
||||
|
||||
2015-03-05 13:27 marc
|
||||
|
||||
* m4/ax_check_qt.m4: don't stop if qt is not found; more elegant
|
||||
way for adding qt rules
|
||||
|
||||
2015-03-05 13:21 marc
|
||||
|
||||
* m4/ax_check_qt.m4, src/makefile.am: don't stop if qt is not
|
||||
found; more elegant way for adding qt rules
|
||||
|
||||
2015-03-05 12:02 marc
|
||||
|
||||
* ChangeLog, m4/ax_check_qt.m4: qt tools are optional
|
||||
|
||||
2015-03-05 09:05 marc
|
||||
|
||||
* configure.ac: support Qt4 which has no QWidgets - but Qt5 needs
|
||||
it
|
||||
|
||||
2015-03-05 08:34 marc
|
||||
|
||||
* configure.ac: support Qt4 which has no QWidgets
|
||||
|
||||
2015-03-04 14:59 marc
|
||||
|
||||
* debian/control.in, doc/doxyfile.in: strange error «sh: 1:
|
||||
/usr/bindot: not found; on squeeze, there's no qt5»
|
||||
|
||||
2015-03-04 14:44 marc
|
||||
|
||||
* configure.ac: fix «HAVE_QTNETWORK does not appear in
|
||||
AM_CONDITIONAL» when there is no qt
|
||||
|
||||
2015-03-04 14:40 marc
|
||||
|
||||
* configure.ac, m4/ax_check_qt.m4: fix «HAVE_QTNETWORK does not
|
||||
appear in AM_CONDITIONAL» when there is no qt
|
||||
|
||||
2015-03-04 13:28 marc
|
||||
|
||||
* m4/ax_check_qt.m4: try to fix «HAVE_QTNETWORK does not appear in
|
||||
AM_CONDITIONAL» when there is no qt
|
||||
|
||||
2015-03-03 18:37 marc
|
||||
|
||||
* ChangeLog, README, configure.ac, debian/control.in: now also
|
||||
depends on qt
|
||||
|
||||
2015-03-03 15:56 marc
|
||||
|
||||
* AUTHORS, ChangeLog, configure.ac, debian/changelog.in,
|
||||
debian/control, debian/control.in, debian/rules, doc/doxyfile.in,
|
||||
doc/makefile.am, libpcscxx.spec.in, makefile.am,
|
||||
src/libpcscxx.pc.in, src/version.cxx: ported to new build system
|
||||
|
||||
2014-12-11 10:00 marc
|
||||
|
||||
* src/suisseid.hxx: another work around the mac 10.10 yosemite PCSC
|
||||
bug, this time fix cryptoki; refs #34
|
||||
|
||||
2014-12-11 09:57 marc
|
||||
|
||||
* src/suisseid.hxx: another work around the mac 10.10 yosemite PCSC
|
||||
bug, this time fix cryptoki; refs #34
|
||||
|
||||
2014-12-11 09:06 marc
|
||||
|
||||
* m4/ax_check_qt.m4, src/suisseid.hxx: another work around the mac
|
||||
10.10 yosemite PCSC bug, this time fix cryptoki; refs #34
|
||||
|
||||
2014-12-01 11:27 marc
|
||||
|
||||
* src/suisseid.hxx: Apple Bug morte log; refs #34
|
||||
|
||||
2014-12-01 11:13 marc
|
||||
|
||||
* src/suisseid.hxx: Apple Bug morte log; refs #34
|
||||
|
||||
2014-12-01 10:27 marc
|
||||
|
||||
* src/pcsc.hxx: Apple Bug probably resolved with retry to reconnect
|
||||
with SCARD_LEAVE_CARD; refs #34
|
||||
|
||||
2014-12-01 10:08 marc
|
||||
|
||||
* src/pcsc.hxx: Apple Bug not resolved, retry to reconnect with
|
||||
SCARD_LEAVE_CARD more than once (up to 100 times); refs #34
|
||||
|
||||
2014-12-01 09:08 marc
|
||||
|
||||
* src/pcsc.hxx: Apple Bug not resolved, retry more than once (up to
|
||||
100 times); refs #34
|
||||
|
||||
2014-11-12 07:54 marc
|
||||
|
||||
* src/pcsc.hxx: more log; refs #34
|
||||
|
||||
2014-11-11 16:02 marc
|
||||
|
||||
* src/cryptoki.cxx: more log; refs #34
|
||||
|
||||
2014-11-11 16:00 marc
|
||||
|
||||
* src/cryptoki.cxx: more log; refs #34
|
||||
|
||||
2014-11-11 15:57 marc
|
||||
|
||||
* src/cryptoki.cxx: more log; refs #34
|
||||
|
||||
2014-11-11 14:09 marc
|
||||
|
||||
* src/pcsc.hxx: workaround Mac OS X 10.10 PCSC bug; refs #34
|
||||
|
||||
2014-11-11 14:04 marc
|
||||
|
||||
* src/pcsc.hxx: workaround Mac OS X 10.10 PCSC bug; refs #34
|
||||
|
||||
2014-11-11 13:56 marc
|
||||
|
||||
* src/pcsc.hxx: workaround Mac OS X 10.10 PCSC bug; refs #34
|
||||
|
||||
2014-11-04 09:56 marc
|
||||
|
||||
* configure.ac, m4/ax_check_qt.m4: some rearrangements; refs #33
|
||||
|
||||
2014-11-04 08:53 marc
|
||||
|
||||
* ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4, configure.ac,
|
||||
configure.in, m4, m4/ax_check_qt.m4,
|
||||
m4/ax_cxx_compile_stdcxx_11.m4: some rearrangements; refs #33
|
||||
|
||||
2014-10-27 09:22 marc
|
||||
|
||||
* ax_check_qt.m4, configure.in, doc/examples/makefile.am,
|
||||
src/makefile.am: Missing -fPIC error in build of cardgui; refs
|
||||
#33
|
||||
|
||||
2014-10-08 08:51 marc
|
||||
|
||||
* ax_check_qt.m4: added qmake test; refs #33
|
||||
|
||||
2014-09-22 11:08 marc
|
||||
|
||||
* configure.in: Somehow options disappear, i.e. -fPIC; refs #33
|
||||
|
||||
2014-09-19 09:04 marc
|
||||
|
||||
* ax_check_qt.m4: need variables; refs #33
|
||||
|
||||
2014-09-19 08:23 marc
|
||||
|
||||
* COPYING, INSTALL, ax_check_qt.m4, configure.in: much better qt
|
||||
tests; refs #33
|
||||
|
||||
2014-09-16 08:32 marc
|
||||
|
||||
* configure.in: corrected C++11-detection; refs #33
|
||||
|
||||
2014-09-16 08:24 marc
|
||||
|
||||
* configure.in: better Qt detection; refs #33
|
||||
|
||||
2014-09-16 08:01 marc
|
||||
|
||||
* src/pcsc.hxx: changed all long to DWORD, now corrected former
|
||||
unsigned long; refs #33
|
||||
|
||||
2014-09-16 07:47 marc
|
||||
|
||||
* src/cryptoki.hxx, src/pcsc.hxx: smaller bugfixes and type
|
||||
adaptions; refs #33
|
||||
|
||||
2014-09-15 06:54 marc
|
||||
|
||||
* src/openssl.hxx: forgotten return value; refs #33
|
||||
|
||||
2014-06-03 07:21 marc
|
||||
|
||||
* src/cardos.hxx:
|
||||
https://dev.swisssign.com/projects/swissstick/ticket/1137 forget
|
||||
PIN/password feature incorrectly reports an error; refs #32
|
||||
|
||||
2014-05-20 12:27 marc
|
||||
|
||||
* src/openssl.hxx, src/pcsc.hxx: openssl version info to be
|
||||
desplayed in about (some nerves are blank after heartbleed); refs
|
||||
#30
|
||||
|
||||
2014-05-19 11:39 marc
|
||||
|
||||
* libpcscxx.spec.in: add PKCS11 include path to RPM spec; refs #30
|
||||
|
||||
2014-05-16 12:36 marc
|
||||
|
||||
* debian/control: replace libp11-kit-dev by libpkcs11-helper1-dev
|
||||
beacause it's missing on lucid; refs #30
|
||||
|
||||
2014-05-16 12:24 marc
|
||||
|
||||
* debian/control, debian/rules: replace libp11-kit-dev by
|
||||
libpkcs11-helper1-dev beacause it's missing on lucid; refs #30
|
||||
|
||||
2014-05-16 12:07 marc
|
||||
|
||||
* debian/control, debian/rules: replace libp11-kit-dev
|
||||
libgnutls-dev beacause it's missing on lucid; refs #30
|
||||
|
||||
2014-05-16 11:03 marc
|
||||
|
||||
* configure.in, debian/rules: set MOC to /usr/bin/moc for debian,
|
||||
because on lucid it would be /usr/bin/moc-qt4, but there is no
|
||||
/usr/bin/rcc-qt4, only /usr/bin/rcc; refs #30
|
||||
|
||||
2014-05-12 07:35 marc
|
||||
|
||||
* libpcscxx.spec.in: fix rpm build; refs #30
|
||||
|
||||
2014-05-09 11:21 marc
|
||||
|
||||
* src/cardos.hxx, src/suisseid.hxx: puk-unlock forgotten - added;
|
||||
refs #30
|
||||
|
||||
2014-05-07 12:31 marc
|
||||
|
||||
* debian/control: build dependencies; refs #30
|
||||
|
||||
2014-05-07 12:09 marc
|
||||
|
||||
* debian/control: restore debian build; refs #30
|
||||
|
||||
2014-05-07 11:51 marc
|
||||
|
||||
* debian/control, debian/rules: restore debian build; refs #30
|
||||
|
||||
2014-05-07 09:13 marc
|
||||
|
||||
* src/cryptoki.hxx: give better exception; refs #30
|
||||
|
||||
2014-05-06 16:19 marc
|
||||
|
||||
* configure.in: hack to be undone later - check for headers later;
|
||||
refs #30
|
||||
|
||||
2014-05-06 16:17 marc
|
||||
|
||||
* configure.in: hack to be undone later; refs #30
|
||||
|
||||
2014-05-06 16:14 marc
|
||||
|
||||
* src/pcsc.hxx: fixed issue with invalid devices; refs #30
|
||||
|
||||
2014-05-06 15:48 marc
|
||||
|
||||
* debian/rules: configure location of pkcs11.h; refs #30
|
||||
|
||||
2014-05-06 15:42 marc
|
||||
|
||||
* configure.in, src/cryptoki.hxx: configure location of pkcs11.h;
|
||||
refs #30
|
||||
|
||||
2014-05-05 11:44 marc
|
||||
|
||||
* src/makefile.am, src/pkcs11: no own pkcs11; refs #30
|
||||
|
||||
2014-05-05 08:15 marc
|
||||
|
||||
* configure.in, doc/examples/makefile.am, src/cardos.hxx,
|
||||
src/makefile.am, src/suisseid.hxx: Correctly decode values; refs
|
||||
#31
|
||||
|
||||
2014-04-29 08:31 marc
|
||||
|
||||
* src/cryptoki.hxx: conversions for 64 bit mingw; refs #30
|
||||
|
||||
2014-04-29 08:17 marc
|
||||
|
||||
* doc/examples/makefile.am: mingw linking; refs #30
|
||||
|
||||
2014-04-28 11:49 marc
|
||||
|
||||
* doc/examples/makefile.am: mingw libs changed; refs #30
|
||||
|
||||
2014-04-28 11:47 marc
|
||||
|
||||
* configure.in: first check Qt5 and allow to pass UIC/MOC
|
||||
explicitely; refs #30
|
||||
|
||||
2014-04-28 09:27 marc
|
||||
|
||||
* src/makefile.am: mingw libs changed; refs #30
|
||||
|
||||
2014-04-28 09:12 marc
|
||||
|
||||
* src/pcsc.hxx: winscard.h in lowercase is part of mingw; refs #30
|
||||
|
||||
2014-04-28 09:07 marc
|
||||
|
||||
* src/pcsc.hxx: Windows not properly detected; refs #30
|
||||
|
||||
2014-04-04 11:27 marc
|
||||
|
||||
* src/cryptoki.hxx, src/suisseid.hxx: fixed wrong calculation of
|
||||
max pin len; refs #28
|
||||
|
||||
2014-04-04 06:52 marc
|
||||
|
||||
* libpcscxx.spec.in: package cardgui for deb and rpm; refs #28
|
||||
|
||||
2014-04-03 15:00 marc
|
||||
|
||||
* configure.in, src/makefile.am: detect moc and uic; refs #28
|
||||
|
||||
2014-04-03 14:14 marc
|
||||
|
||||
* src/suisseid.hxx: Certificate has now label and id; refs #28
|
||||
|
||||
2014-04-03 12:33 marc
|
||||
|
||||
* debian/libpcscxx.install, libpcscxx.spec.in: package cardgui for
|
||||
deb and rpm; refs #28
|
||||
|
||||
2014-04-03 11:21 marc
|
||||
|
||||
* doc/examples/cardos-demo.cxx, doc/examples/create-files-demo.cxx,
|
||||
doc/examples/suisse-id-demo.hxx, src/cardos.hxx,
|
||||
src/cryptoki.cxx, src/cryptoki.hxx, src/pcsc.hxx,
|
||||
src/suisseid.hxx: replaced mrw::Shared by std::shared_ptr; refs
|
||||
#28
|
||||
|
||||
2014-04-02 13:20 marc
|
||||
|
||||
* configure.in: removed DISTCHECK_CONFIGURE_FLAGS; refs #28
|
||||
|
||||
2014-04-02 12:42 marc
|
||||
|
||||
* configure.in: setup DISTCHECK_CONFIGURE_FLAGS; refs #28
|
||||
|
||||
2014-04-02 12:39 marc
|
||||
|
||||
* configure.in: setup DISTCHECK_CONFIGURE_FLAGS; refs #28
|
||||
|
||||
2014-04-02 12:04 marc
|
||||
|
||||
* configure.in: setup DISTCHECK_CONFIG_FLAGS; refs #28
|
||||
|
||||
2014-04-02 11:46 marc
|
||||
|
||||
* configure.in: setup DISTCHECK_CONFIG_FLAGS; refs #28
|
||||
|
||||
2014-04-02 11:01 marc
|
||||
|
||||
* src/makefile.am: fix distribution - make distcheck works now;
|
||||
refs #28
|
||||
|
||||
2014-04-02 09:03 marc
|
||||
|
||||
* src/makefile.am: fix winscard-link on mingw; refs #28
|
||||
|
||||
2014-04-02 08:49 marc
|
||||
|
||||
* src/makefile.am: fix winscard-link on mingw; refs #28
|
||||
|
||||
2014-04-02 08:07 marc
|
||||
|
||||
* src/makefile.am: fix PCSC-framework-link on mac; refs #28
|
||||
|
||||
2014-04-02 06:57 marc
|
||||
|
||||
* src/cryptoki.hxx: fix for non C++11-compilers (mac); refs #28
|
||||
|
||||
2014-04-02 06:57 marc
|
||||
|
||||
* configure.in: fix for non C++11-compilers (mac); refs #28
|
||||
|
||||
2014-04-02 06:31 marc
|
||||
|
||||
* src/cryptoki.hxx: fix for non C++11-compilers (mac); refs #28
|
||||
|
||||
2014-04-01 13:10 marc
|
||||
|
||||
* doc/examples/cardos-demo.cxx, doc/examples/create-files-demo.cxx,
|
||||
doc/examples/cryptoki-demo.cxx,
|
||||
doc/examples/cryptoki-sign-demo.cxx, src/cardos.hxx,
|
||||
src/cryptaux.hxx, src/cryptoki.cxx, src/cryptoki.hxx,
|
||||
src/openssl-engine.hxx, src/openssl.hxx, src/overview.doc,
|
||||
src/pcsc.hxx, src/suisseid.hxx: fixed tons of warnings; refs #28
|
||||
|
||||
2014-03-31 13:26 marc
|
||||
|
||||
* configure.in: fixed qt build; refs #28
|
||||
|
||||
2014-03-31 11:10 marc
|
||||
|
||||
* src/suisseid.hxx: some minor changes accorfing o what's really
|
||||
needed/supported; refs #28
|
||||
|
||||
2014-03-31 09:41 marc
|
||||
|
||||
* src/cardgui.cxx, src/cardos.hxx, src/suisseid.hxx: some minor
|
||||
changes accorfing o what's really needed/supported; refs #28
|
||||
|
||||
2014-03-28 13:54 marc
|
||||
|
||||
* configure.in, doc/examples/makefile.am, src/makefile.am:
|
||||
compile-fix: support Qt4 - cleanup of connection management, new
|
||||
major version number 3, use static connection methods; refs #26,
|
||||
refs #28, refs #29
|
||||
|
||||
2014-03-26 15:32 marc
|
||||
|
||||
* src/cardgui.hxx: compile-fix: support Qt4 - cleanup of connection
|
||||
management, new major version number 3, use static connection
|
||||
methods; refs #26, refs #28, refs #29
|
||||
|
||||
2014-03-26 15:30 marc
|
||||
|
||||
* configure.in: compile-fix - cleanup of connection management, new
|
||||
major version number 3, use static connection methods; refs #26,
|
||||
refs #28, refs #29
|
||||
|
||||
2014-03-26 15:07 marc
|
||||
|
||||
* configure.in, doc/examples/cardos-demo.cxx,
|
||||
doc/examples/create-files-demo.cxx, doc/examples/makefile.am,
|
||||
doc/examples/moc_cardgui-model.cxx, doc/examples/pcsc-demo.cxx,
|
||||
src/cardgui-model.hxx, src/cardgui.cxx, src/cardgui.hxx,
|
||||
src/cardgui.ui, src/cardos.hxx, src/cryptaux.hxx,
|
||||
src/makefile.am, src/openssl-engine.cxx, src/openssl-engine.hxx,
|
||||
src/openssl.hxx, src/password.hxx, src/password.ui, src/pcsc.hxx,
|
||||
src/suisseid.hxx: cleanup of connection management, new major
|
||||
version number 3, use static connection methods; refs #26, refs
|
||||
#28, refs #29
|
||||
|
||||
2014-03-24 09:23 marc
|
||||
|
||||
* doc/examples/create-files-demo.cxx, src/cardos.hxx,
|
||||
src/cryptaux.hxx, src/openssl-engine.cxx, src/openssl-engine.hxx,
|
||||
src/openssl.hxx: more unsuccessful tests; refs #28
|
||||
|
||||
2014-03-21 12:09 marc
|
||||
|
||||
* src/pcsc.hxx: fix check; refs #29
|
||||
|
||||
2014-03-18 11:48 marc
|
||||
|
||||
* src/pcsc.hxx: new method reset for pcsc connections; refs #29
|
||||
|
||||
2014-03-10 08:10 marc
|
||||
|
||||
* doc/examples/create-files-demo.cxx: preparations for writing a
|
||||
file - forgotten new file; refs #28
|
||||
|
||||
2014-03-07 15:53 marc
|
||||
|
||||
* doc/examples/cardos-demo.cxx, doc/examples/makefile.am,
|
||||
doc/examples/suisse-id-demo.cxx, src/cardos.hxx,
|
||||
src/cryptaux.hxx, src/suisseid.hxx: preparations for writing a
|
||||
file; refs #28
|
||||
|
||||
2014-03-05 14:56 marc
|
||||
|
||||
* src/suisseid.hxx: locking needs reader; refs #28
|
||||
|
||||
2014-03-05 14:23 marc
|
||||
|
||||
* makefile.am, src/cardos.hxx: bug in initialization from transport
|
||||
state; refs #28
|
||||
|
||||
2014-03-04 12:11 marc
|
||||
|
||||
* src/cardos.hxx: bug in initialization from transport state; refs
|
||||
#28
|
||||
|
||||
2014-03-04 09:50 marc
|
||||
|
||||
* src/cryptoki.hxx: fixed for QT4/5: Compile problem; refs #28
|
||||
|
||||
2014-03-04 08:51 marc
|
||||
|
||||
* src/cryptoki.hxx: fixed for QT4/5: Compile problem; refs #28
|
||||
|
||||
2014-03-04 07:51 marc
|
||||
|
||||
* src/cryptoki.hxx: fixed for QT4/5: Compile problem; refs #28
|
||||
|
||||
2014-03-03 09:55 marc
|
||||
|
||||
* doc/examples/suisse-id-demo.cxx: fixed for QT4/5: refs #28
|
||||
|
||||
2014-02-27 12:57 marc
|
||||
|
||||
* doc/doxyfile.in, doc/examples/cryptoki-demo.cxx,
|
||||
doc/examples/cryptoki-sign-demo.cxx,
|
||||
doc/examples/suisse-id-demo.cxx, src/cryptaux.hxx,
|
||||
src/cryptoki.hxx, src/suisseid.hxx: more documentation; refs #28
|
||||
|
||||
2014-01-31 13:32 marc
|
||||
|
||||
* doc/doxyfile.in, doc/examples/suisse-id-demo.cxx,
|
||||
doc/examples/suisse-id-demo.hxx, src/cardos.hxx,
|
||||
src/cryptaux.hxx, src/cryptoki.hxx, src/openssl.hxx,
|
||||
src/overview.doc, src/pcsc.hxx, src/suisseid.hxx: documentation;
|
||||
refs #27
|
||||
|
||||
2014-01-28 07:58 marc
|
||||
|
||||
* src/suisseid.hxx: backward-compatible (non C++11) constants; refs
|
||||
#27
|
||||
|
||||
2014-01-27 13:48 marc
|
||||
|
||||
* doc/examples/suisse-id-demo.cxx, src/suisseid.hxx: added methods
|
||||
to get specific certificates; refs #27
|
||||
|
||||
2014-01-23 13:32 marc
|
||||
|
||||
* src/cryptoki.hxx: forgotten inline declaratin; refs #27
|
||||
|
||||
2014-01-22 15:17 marc
|
||||
|
||||
* doc/examples/suisse-id-demo.cxx: better interface to get binary
|
||||
certificates; refs #28
|
||||
|
||||
2014-01-22 15:14 marc
|
||||
|
||||
* doc/examples/suisse-id-demo.cxx, src/cryptoki.hxx,
|
||||
src/suisseid.hxx: better interface to get binary certificates;
|
||||
refs #28
|
||||
|
||||
2014-01-21 08:20 marc
|
||||
|
||||
* src/cryptoki.hxx: copy constructor requires explicit default
|
||||
constructor; refs #28
|
||||
|
||||
2014-01-20 13:05 marc
|
||||
|
||||
* src/cryptoki.hxx: moved copy-initialization to copy constructor;
|
||||
refs #28
|
||||
|
||||
2014-01-13 10:41 marc
|
||||
|
||||
* src/cryptoki.hxx: add methods to convert slot and token info from
|
||||
C-structure; refs #28
|
||||
|
||||
2013-12-12 13:40 marc
|
||||
|
||||
* COPYING, INSTALL, configure.in, doc/examples/makefile.am,
|
||||
doc/examples/suisse-id-demo.cxx: add example for using
|
||||
QSslCertificate; refs #28
|
||||
|
||||
2013-11-12 15:40 marc
|
||||
|
||||
* src/pcsc.hxx: resolve problem with very old compiler and Mac
|
||||
10.5; refs #28
|
||||
|
||||
2013-11-12 15:06 marc
|
||||
|
||||
* src/cryptoki.hxx, src/openssl-engine.hxx: resolve problem with
|
||||
very old compiler (gcc 4.0); refs #28
|
||||
|
||||
2013-11-11 11:49 marc
|
||||
|
||||
* src/cardos.hxx, src/cryptaux.hxx, src/cryptoki.hxx,
|
||||
src/openssl.hxx, src/pcsc.hxx: bug fixes and reference counters
|
||||
(prevents hanging); refs #28
|
||||
|
||||
2013-11-07 10:03 marc
|
||||
|
||||
* src/makefile.am: removed left over certimport; refs #28
|
||||
|
||||
2013-11-06 14:21 marc
|
||||
|
||||
* configure.in, debian/changelog.in: Flexible package signature;
|
||||
refs #28
|
||||
|
||||
2013-11-06 12:24 marc
|
||||
|
||||
* configure.in, debian/control, debian/rules,
|
||||
doc/examples/cryptoki-sign-demo.cxx, doc/examples/makefile.am,
|
||||
doc/examples/openssl-engine-demo.cxx,
|
||||
doc/examples/suisse-id-demo.cxx, doc/examples/suisse-id-demo.hxx,
|
||||
src/cardos.hxx, src/cryptaux.hxx, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx, src/makefile.am, src/openssl-engine.hxx,
|
||||
src/openssl.hxx, src/pcsc.hxx, src/suisseid.hxx: Added all
|
||||
SuisseID Functionality except certificate import from server,
|
||||
which shall remain closed; refs #28
|
||||
|
||||
2013-10-23 13:33 marc
|
||||
|
||||
* src/suisseid.hxx: documentation for card status check and
|
||||
iniialization; refs #28
|
||||
|
||||
2013-10-21 13:49 marc
|
||||
|
||||
* configure.in: compile with -stc=c++11 if availabel; refs #28
|
||||
|
||||
2013-10-21 13:42 marc
|
||||
|
||||
* ax_cxx_compile_stdcxx_11.m4, configure.in: compile with
|
||||
-stc=c++11 if availabel; refs #28
|
||||
|
||||
2013-10-21 12:13 marc
|
||||
|
||||
* doc/examples/suisse-id-demo.cxx, src/cryptoki.hxx: default
|
||||
arguments; refs #28
|
||||
|
||||
2013-10-21 07:10 marc
|
||||
|
||||
* doc/doxyfile.in, doc/examples/cardos-demo.cxx,
|
||||
doc/examples/cryptoki-sign-demo.cxx, doc/examples/makefile.am,
|
||||
doc/examples/suisse-id-demo.cxx, src/cardos.hxx,
|
||||
src/cryptaux.hxx, src/makefile.am, src/pcsc.hxx,
|
||||
src/suisseid.hxx: added basic suisse id functions; refs #28
|
||||
|
||||
2013-10-15 11:57 marc
|
||||
|
||||
* configure.in, doc/examples/cryptoki-demo.cxx,
|
||||
doc/examples/cryptoki-sign-demo.cxx, doc/examples/pcsc-demo.cxx,
|
||||
doc/examples/suisse-id-demo.cxx, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx, src/pcsc.hxx: added draft lib for suisseid - by
|
||||
now: detect Post SuisseID; refs #28
|
||||
|
||||
2013-10-11 13:51 marc
|
||||
|
||||
* doc/examples/makefile.am, doc/examples/suisse-id-demo.cxx,
|
||||
src/pcsc.hxx: erste suisseid demo; refs #28
|
||||
|
||||
2013-10-10 12:23 marc
|
||||
|
||||
* src/cryptoki.cxx, src/openssl.hxx, src/pcsc.hxx: typos; refs #28
|
||||
|
||||
2013-10-10 09:13 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx, src/pcsc.hxx: functions to
|
||||
scan specific cards; refs #28
|
||||
|
||||
2013-10-03 06:33 marc
|
||||
|
||||
* doc/examples/cryptoki-sign-demo.cxx: typos; refs #27
|
||||
|
||||
2013-10-02 14:00 marc
|
||||
|
||||
* doc/examples/cryptoki-sign-demo.cxx: typos; refs #27
|
||||
|
||||
2013-10-02 13:57 marc
|
||||
|
||||
* doc/examples/cryptoki-sign-demo.cxx: typos; refs #27
|
||||
|
||||
2013-09-27 14:36 marc
|
||||
|
||||
* doc/examples/cryptoki-sign-demo.cxx: try to also support C++ <
|
||||
201103; refs #27
|
||||
|
||||
2013-09-24 12:55 marc
|
||||
|
||||
* doc/examples/makefile.am: only in gcc 4.7 and newer: -std=c++11;
|
||||
refs #27
|
||||
|
||||
2013-09-24 12:05 marc
|
||||
|
||||
* doc/examples/cryptoki-sign-demo.cxx, doc/examples/makefile.am:
|
||||
add example for signing; refs #27
|
||||
|
||||
2013-06-13 13:39 marc
|
||||
|
||||
* debian/rules: fixed: make deb; refs #26
|
||||
|
||||
2013-06-13 12:38 marc
|
||||
|
||||
* src/pcsc.hxx: work-around with pcsc::shared_ptr<T>::t - again;
|
||||
refs #26
|
||||
|
||||
2013-06-13 11:59 marc
|
||||
|
||||
* src/pcsc.hxx: work-around with pcsc::shared_ptr<T>::t; refs #26
|
||||
|
||||
2013-06-13 10:37 marc
|
||||
|
||||
* src/pcsc.hxx: added compiler warning; refs #26
|
||||
|
||||
2013-06-13 09:30 marc
|
||||
|
||||
* src/pcsc.hxx: fallback for old compilers - use: -DNO_CXX2011;
|
||||
refs #26
|
||||
|
||||
2013-06-13 09:24 marc
|
||||
|
||||
* src/pcsc.hxx: fallback for old compilers; refs #26
|
||||
|
||||
2013-06-13 09:16 marc
|
||||
|
||||
* src/pcsc.hxx: fallback for old compilers; refs #26
|
||||
|
||||
2013-06-13 09:13 marc
|
||||
|
||||
* debian/rules, libpcscxx.spec.in: add CPPFLAGS=-std=c++0x for
|
||||
debian and rpm package builds ; refs #26
|
||||
|
||||
2013-06-13 09:07 marc
|
||||
|
||||
* NEWS, libpcscxx.spec.in, src/pcsc.hxx: shared pointer is now from
|
||||
std C++/11; refs #26
|
||||
|
||||
2013-04-03 09:14 marc
|
||||
|
||||
* src/openssl-engine.hxx: Problem was not here but in swissbrowser;
|
||||
closes #25
|
||||
|
||||
2013-04-02 14:31 marc
|
||||
|
||||
* src/openssl-engine.hxx: still nothing, undo and more log; refs
|
||||
#25
|
||||
|
||||
2013-04-02 12:54 marc
|
||||
|
||||
* src/openssl-engine.hxx: still nothing, more log; refs #25
|
||||
|
||||
2013-04-02 12:07 marc
|
||||
|
||||
* src/openssl-engine.hxx: next try, don't call ENGINE_free; refs
|
||||
#25
|
||||
|
||||
2013-04-02 08:36 marc
|
||||
|
||||
* debian/control: added dependency on libssl-dev for the
|
||||
dev-package; closes #19
|
||||
|
||||
2013-04-02 08:32 marc
|
||||
|
||||
* src/openssl-engine.hxx: removed ENGINE_set_destroy_function; refs
|
||||
#25
|
||||
|
||||
2013-01-25 14:36 marc
|
||||
|
||||
* libpcscxx.spec.in, src/pcsc.hxx: fix fedora-18 bug; closes #24
|
||||
|
||||
2012-12-12 09:24 jenkins
|
||||
|
||||
* README: added README contents; refs #23
|
||||
|
||||
2012-12-12 08:30 marc
|
||||
|
||||
* README: added README contents; refs #23
|
||||
|
||||
2012-11-20 10:37 marc
|
||||
|
||||
* src/pcsc.hxx: try to use the e-health hack only for windoze; refs
|
||||
#22
|
||||
|
||||
2012-11-16 14:24 marc
|
||||
|
||||
* src/pcsc.hxx: requested by Laurent Pages: Indeed the smartcard
|
||||
detection on Windows does not work properly; refs #22
|
||||
|
||||
2012-09-19 07:08 marc
|
||||
|
||||
* libpcscxx.spec.in: other dependency for fedora; refs #21
|
||||
|
||||
2012-09-18 13:36 marc
|
||||
|
||||
* libpcscxx.spec.in: other dependency for fedora; refs #21
|
||||
|
||||
2012-06-15 12:30 marc
|
||||
|
||||
* doc/examples/makefile.am: missing include path in example
|
||||
makefile; refs #20
|
||||
|
||||
2012-06-15 12:23 marc
|
||||
|
||||
* doc/examples/makefile.am: missing include path in example
|
||||
makefile; refs #20
|
||||
|
||||
2012-06-11 09:58 marc
|
||||
|
||||
* debian/rules: allow OpenSSL 0.8 in debian build for old
|
||||
debian/ubuntu versions; refs #20
|
||||
|
||||
2012-06-11 06:25 marc
|
||||
|
||||
* src/openssl.hxx: disallow old SSL versions; refs #20
|
||||
|
||||
2012-06-08 09:38 marc
|
||||
|
||||
* src/openssl.hxx: remove const; refs #20
|
||||
|
||||
2012-06-08 09:07 marc
|
||||
|
||||
* src/openssl.hxx: remove const; refs #20
|
||||
|
||||
2012-06-08 08:31 marc
|
||||
|
||||
* doc/examples/makefile.am, src/openssl.hxx: remove const; refs #20
|
||||
|
||||
2012-03-14 09:54 marc
|
||||
|
||||
* src/pcsc.hxx: added method control; refs #18
|
||||
|
||||
2011-12-20 11:30 marc
|
||||
|
||||
* libpcscxx.spec.in: replaced lib with %_lib; refs #17
|
||||
|
||||
2011-11-10 13:28 marc
|
||||
|
||||
* src/openssl-engine.hxx, src/pcsc.hxx: conflict in #define; closes
|
||||
#1
|
||||
|
||||
2011-11-10 10:31 marc
|
||||
|
||||
* configure.in, doc/examples/makefile.am, doc/makefile.am,
|
||||
libpcscxx.spec.in, makefile.am, src/makefile.am: new make target
|
||||
rpm; builds versionnumber; closes #1
|
||||
|
||||
2011-10-31 15:36 marc
|
||||
|
||||
* src/makefile.am: remove ls *.doc; closes #16
|
||||
|
||||
2011-10-26 10:31 marc
|
||||
|
||||
* src/makefile.am: add libraries for natty; refs #15
|
||||
|
||||
2011-10-26 09:43 marc
|
||||
|
||||
* src/makefile.am: add libraries; refs #15
|
||||
|
||||
2011-09-08 08:56 marc
|
||||
|
||||
* src/openssl.hxx: fixed DATADIR; closes #14
|
||||
|
||||
2011-09-05 08:35 marc
|
||||
|
||||
* src/openssl.hxx: some bugs fixed; closes #13
|
||||
|
||||
2011-06-21 07:32 marc
|
||||
|
||||
* src/cryptoki.hxx: closes #12
|
||||
|
||||
2011-05-03 11:57 marc
|
||||
|
||||
* doc/examples/openssl-engine-demo.cxx, src/openssl-engine.hxx:
|
||||
template for engine registry; refs #11
|
||||
|
||||
2011-05-03 11:11 marc
|
||||
|
||||
* src/openssl-engine.hxx: more robust implementation and better
|
||||
interface to engine registrator; refs #11
|
||||
|
||||
2011-04-26 12:43 marc
|
||||
|
||||
* src/openssl.hxx: more debug log; refs #11
|
||||
|
||||
2011-04-21 09:50 marc
|
||||
|
||||
* src/cryptoki.hxx, src/makefile.am, src/openssl-engine.hxx,
|
||||
src/pkcs11, src/pkcs11/apiclient.h, src/pkcs11/pkcs11.h,
|
||||
src/pkcs11/pkcs11types.h: partial undo of changeset [92] because
|
||||
Mac has no opensc; closes #11
|
||||
|
||||
2011-04-21 06:30 marc
|
||||
|
||||
* src/cryptoki.hxx, src/openssl-engine.hxx, src/openssl.hxx: done
|
||||
in first release; closes #11
|
||||
|
||||
2011-04-15 09:42 marc
|
||||
|
||||
* src/cryptoki.hxx, src/makefile.am, src/pcsc.hxx, src/pkcs11:
|
||||
better handling of empty reader list; refs #11
|
||||
|
||||
2011-04-15 06:52 marc
|
||||
|
||||
* doc/examples/openssl-engine-demo.cxx: better logging in PCSC and
|
||||
first engine release; refs #11
|
||||
|
||||
2011-04-15 06:50 marc
|
||||
|
||||
* doc/examples/makefile.am, src/cryptoki.cxx, src/makefile.am,
|
||||
src/openssl-engine.cxx, src/openssl-engine.hxx, src/pcsc.hxx:
|
||||
better logging in PCSC and first engine release; refs #11
|
||||
|
||||
2011-03-29 12:54 marc
|
||||
|
||||
* install-64-and-32-bit-linux.sh, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx, src/pcsc.hxx: checked-in too much, undo; refs
|
||||
#10
|
||||
|
||||
2011-03-29 12:52 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, doc/examples/pcsc-demo.cxx:
|
||||
checked-in too much, undo; refs #10
|
||||
|
||||
2011-03-29 12:50 marc
|
||||
|
||||
* doc/examples/makefile.am, install-64-and-32-bit-linux.sh,
|
||||
src/cryptoki.cxx, src/cryptoki.hxx, src/pcsc.hxx: added -lcrypto
|
||||
to examples; refs #10
|
||||
|
||||
2010-10-07 12:04 marc
|
||||
|
||||
* src/makefile.am: removed -lssl; refs #9
|
||||
|
||||
2010-09-27 06:53 marc
|
||||
|
||||
* src/makefile.am, src/pcsc.cxx, src/pcsc.hxx: Removed
|
||||
SCardCancelTransaction completely; Added neesting counter; refs
|
||||
#8
|
||||
|
||||
2010-09-24 07:12 marc
|
||||
|
||||
* src/pcsc.hxx: hangs on mac, try to end transaction after cancel;
|
||||
refs #8
|
||||
|
||||
2010-09-23 15:20 marc
|
||||
|
||||
* src/pcsc.hxx: commit instead of cancel for win; closes #8
|
||||
|
||||
2010-09-17 08:59 marc
|
||||
|
||||
* COPYING, INSTALL, configure.in, src/cryptoki.hxx, test: now it
|
||||
compiles again; refs #7
|
||||
|
||||
2010-09-17 07:44 marc
|
||||
|
||||
* src/cryptoki.hxx, src/pcsc.hxx: bug in session managing,
|
||||
redesign: removed smart resources, don't allow to copy sessions;
|
||||
refs #7
|
||||
|
||||
2010-08-27 13:10 marc
|
||||
|
||||
* COPYING, INSTALL, doc/examples/makefile.am, src/makefile.am,
|
||||
test/makefile.am: compiles on mac; refs #6
|
||||
|
||||
2010-08-27 12:51 marc
|
||||
|
||||
* src/makefile.am, src/openssl.hxx, src/versiontest.cxx: version
|
||||
checker and changes for openssl 1.0.0; refs #6
|
||||
|
||||
2010-08-27 12:28 marc
|
||||
|
||||
* src/makefile.am: wrong path on mac; refs #6
|
||||
|
||||
2010-08-27 11:15 marc
|
||||
|
||||
* src/openssl.hxx: first part: const or not const that is the
|
||||
question; refs #6
|
||||
|
||||
2010-08-27 09:43 marc
|
||||
|
||||
* src/openssl.hxx: first part: const or not const that is the
|
||||
question; refs #6
|
||||
|
||||
2010-08-26 14:06 marc
|
||||
|
||||
* src/openssl.hxx: compile problems on mac; refs #5
|
||||
|
||||
2010-08-26 13:36 marc
|
||||
|
||||
* doc/examples/makefile.am: better build flags, out of the box
|
||||
lin,mac,win; refs #5
|
||||
|
||||
2010-08-26 13:24 marc
|
||||
|
||||
* doc/examples/makefile.am: better build flags, out of the box
|
||||
lin,mac,win; refs #5
|
||||
|
||||
2010-08-26 13:19 marc
|
||||
|
||||
* doc/examples/makefile.am: better build flags, out of the box
|
||||
lin,mac,win; refs #5
|
||||
|
||||
2010-08-26 13:13 marc
|
||||
|
||||
* doc/examples/makefile.am, src/pkcs11/pkcs11.h: better build
|
||||
flags, out of the box lin,mac,win; refs #5
|
||||
|
||||
2010-08-26 12:24 marc
|
||||
|
||||
* configure.in, doc/examples/makefile.am, src/cryptoki.hxx,
|
||||
src/makefile.am: better build flags, out of the box lin,mac,win;
|
||||
refs #5
|
||||
|
||||
2010-08-03 13:48 marc
|
||||
|
||||
* configure.in, doc/examples/cryptoki-demo.cxx,
|
||||
doc/examples/makefile.am, doc/examples/openssl-ssl-demo.cxx,
|
||||
doc/examples/openssl-tcp-demo.cxx, doc/examples/pcsc-demo.cxx,
|
||||
install-64-and-32-bit-linux.sh, src/cryptoki.hxx,
|
||||
src/makefile.am, src/openssl.hxx, src/pcsc.hxx, src/version.cxx:
|
||||
added version info, refs #4
|
||||
|
||||
2010-06-08 10:28 marc
|
||||
|
||||
* doc/examples/makefile.am, test/makefile.am: more dependencies on
|
||||
64bit lucid, see #1
|
||||
|
||||
2010-06-01 13:38 marc
|
||||
|
||||
* doc/examples/makefile.am, install-32-bit-lin-win.sh: 32bit-build
|
||||
added, refs #1
|
||||
|
||||
2010-05-12 08:16 marc
|
||||
|
||||
* makefile.am: Back to chroot builds, see #1
|
||||
|
||||
2010-05-12 08:15 marc
|
||||
|
||||
* debian/changelog.in: Maintainer E-Mail changed, see #1
|
||||
|
||||
2010-05-12 08:08 marc
|
||||
|
||||
* debian/changelog.in: Maintainer E-Mail changed, see #1
|
||||
|
||||
2010-05-12 07:46 marc
|
||||
|
||||
* debian/control: Maintainer E-Mail changed, see #1
|
||||
|
||||
2010-04-26 06:43 marc
|
||||
|
||||
* configure.in: vesion increased, see #3
|
||||
|
||||
2010-04-16 11:49 marc
|
||||
|
||||
* makefile.am: build debian for all architectures, see #1
|
||||
|
||||
2010-04-15 14:27 marc
|
||||
|
||||
* src/openssl.hxx: closes #2
|
||||
|
||||
2010-04-15 13:16 marc
|
||||
|
||||
* configure.in, debian/rules, src/libpcscxx.pc.in: bugfixes for
|
||||
debian, see #1
|
||||
|
||||
2010-04-08 12:41 marc
|
||||
|
||||
* configure.in, debian, debian/changelog.in, debian/compat,
|
||||
debian/control, debian/copyright, debian/dirs, debian/docs,
|
||||
debian/libpcscxx-dev.dirs, debian/libpcscxx-dev.install,
|
||||
debian/libpcscxx.dirs, debian/libpcscxx.doc-base.EX,
|
||||
debian/libpcscxx.install, debian/rules, debian/shlibs.local.ex,
|
||||
debian/watch.ex, makefile.am, src/libpcscxx.pc.in,
|
||||
src/makefile.am: new target make deb to create debian package,
|
||||
refs #1
|
||||
|
||||
2010-03-03 15:37 marc
|
||||
|
||||
* doc/examples/makefile.am, doc/examples/openssl-ssl-demo.cxx,
|
||||
doc/examples/openssl-tcp-demo.cxx, src/openssl.hxx: TCP- and
|
||||
SSL-Connection Examples
|
||||
|
||||
2010-02-10 13:21 marc
|
||||
|
||||
* install-64-and-32-bit-linux.sh, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx: some details: user opensc-pkcs11.so by default;
|
||||
catch all exceptions on load
|
||||
|
||||
2009-12-09 11:13 marc
|
||||
|
||||
* install-64-and-32-bit-linux.sh, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx: new method Init.reset() - try whether we can
|
||||
find newly added slots
|
||||
|
||||
2009-11-24 12:10 marc
|
||||
|
||||
* COPYING, INSTALL, src/cryptoki.hxx: first successful encrypt
|
||||
|
||||
2009-11-17 15:56 marc
|
||||
|
||||
* COPYING, INSTALL, src/cryptoki.cxx, src/cryptoki.hxx,
|
||||
src/openssl.hxx: compiled on mac
|
||||
|
||||
2009-11-02 14:44 marc
|
||||
|
||||
* COPYING, INSTALL, src/openssl.hxx: bin ich blöd oder was?
|
||||
|
||||
2009-10-26 12:40 marc
|
||||
|
||||
* src/openssl.hxx: pkcs7
|
||||
|
||||
2009-10-23 14:57 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx, src/makefile.am: works for
|
||||
certimporter on win
|
||||
|
||||
2009-10-21 08:52 marc
|
||||
|
||||
* configure.in, doc/examples/makefile.am,
|
||||
install-64-and-32-bit-linux.sh, src/cryptoki.cxx,
|
||||
src/cryptoki.hxx, src/makefile.am, src/pcsc.hxx,
|
||||
test/makefile.am: compiles for windoze
|
||||
|
||||
2009-10-14 13:31 marc
|
||||
|
||||
* src/cryptaux.hxx, src/cryptoki.cxx, src/cryptoki.hxx,
|
||||
src/openssl.hxx, src/pcsc.hxx: now secure channel enabled
|
||||
|
||||
2009-10-07 07:22 marc
|
||||
|
||||
* doc/examples/pcsc-demo.cxx, src/pcsc.hxx: transmit now sets up
|
||||
message
|
||||
|
||||
2009-10-01 19:14 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx, src/openssl.hxx,
|
||||
test/makefile.am, test/sharedpointer_test.cxx: create and delete
|
||||
with certificate and key
|
||||
|
||||
2009-09-29 07:24 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx, src/pcsc.hxx: destroy object
|
||||
|
||||
2009-09-22 13:25 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx, src/openssl.hxx: new creation
|
||||
attributes
|
||||
|
||||
2009-09-22 11:21 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx: pass label on creation
|
||||
|
||||
2009-09-22 07:58 marc
|
||||
|
||||
* src/makefile.am: linkable again
|
||||
|
||||
2009-09-22 07:40 marc
|
||||
|
||||
* doc/examples/makefile.am, src/makefile.am, src/openssl.hxx:
|
||||
compilable again
|
||||
|
||||
2009-09-22 07:04 marc
|
||||
|
||||
* src/cryptoki.cxx, src/openssl.hxx: mor get methods in certificate
|
||||
|
||||
2009-09-21 14:52 marc
|
||||
|
||||
* src/openssl.hxx: new certificate attribute get methods
|
||||
|
||||
2009-09-21 07:43 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptaux.hxx,
|
||||
src/cryptoki.cxx, src/cryptoki.hxx, src/makefile.am,
|
||||
src/openssl.hxx, src/pcsc.hxx: auxiliaries are now in
|
||||
cryptaux.hxx; some get methods for openssl::X509
|
||||
|
||||
2009-09-18 13:57 marc
|
||||
|
||||
* src/openssl.hxx: X509 subject to DER
|
||||
|
||||
2009-09-18 13:31 marc
|
||||
|
||||
* src/openssl.hxx: ssl connection first try
|
||||
|
||||
2009-09-18 11:41 marc
|
||||
|
||||
* doc/makefile.am, src/cryptoki.hxx, src/openssl.hxx,
|
||||
src/overview.doc, src/pcsc.hxx: improved doxygen
|
||||
|
||||
2009-09-18 08:24 marc
|
||||
|
||||
* src/openssl.hxx: openssl fixed
|
||||
|
||||
2009-09-17 14:57 marc
|
||||
|
||||
* src/makefile.am, src/openssl.hxx: now with openssl wrapper
|
||||
|
||||
2009-09-16 14:52 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx: first try to create
|
||||
|
||||
2009-09-10 12:13 marc
|
||||
|
||||
* src/cryptoki.hxx: login
|
||||
|
||||
2009-09-09 16:14 marc
|
||||
|
||||
* src/cryptoki.hxx: ulong to string conversion
|
||||
|
||||
2009-09-09 12:12 marc
|
||||
|
||||
* src/cryptoki.hxx: mark hex with 0x
|
||||
|
||||
2009-09-09 06:59 marc
|
||||
|
||||
* src/cryptoki.hxx: more texts and no prefix in text
|
||||
|
||||
2009-09-08 14:45 marc
|
||||
|
||||
* src/cryptoki.hxx: texts changed
|
||||
|
||||
2009-09-03 07:46 marc
|
||||
|
||||
* src/cryptoki.hxx: get single attribute also with access operator
|
||||
|
||||
2009-09-02 13:57 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptoki.hxx: attributes read
|
||||
|
||||
2009-09-02 08:45 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptoki.hxx: read attributes
|
||||
- in test
|
||||
|
||||
2009-09-01 16:15 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, doc/examples/makefile.am,
|
||||
src/cryptoki.hxx: We can read objects :-)
|
||||
|
||||
2009-09-01 13:12 marc
|
||||
|
||||
* src/cryptoki.hxx, src/makefile.am, src/pkcs11/apiclient.h,
|
||||
src/pkcs11/cryptoki.h, src/pkcs11/pkcs11.h, src/pkcs11/pkcs11f.h,
|
||||
src/pkcs11/pkcs11t.h, src/pkcs11/pkcs11types.h: no more crash (on
|
||||
linux)
|
||||
|
||||
2009-09-01 10:01 marc
|
||||
|
||||
* src/pcsc.hxx: compiles on mac
|
||||
|
||||
2009-09-01 09:11 marc
|
||||
|
||||
* src/cryptoki.cxx, src/cryptoki.hxx: find objects
|
||||
|
||||
2009-08-31 14:53 marc
|
||||
|
||||
* doc/examples/makefile.am, src/cryptoki.hxx, src/makefile.am,
|
||||
src/pkcs11, src/pkcs11/cryptoki.h, src/pkcs11/pkcs11.h,
|
||||
src/pkcs11/pkcs11f.h, src/pkcs11/pkcs11t.h: own pkcs11 header
|
||||
from rsa
|
||||
|
||||
2009-08-31 13:59 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptoki.hxx, src/pcsc.hxx:
|
||||
better error messages
|
||||
|
||||
2009-08-31 11:28 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptoki.hxx: attributes are
|
||||
on the way
|
||||
|
||||
2009-08-28 14:57 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cxx, src/cryptoki.hxx: even more
|
||||
|
||||
2009-08-28 06:56 marc
|
||||
|
||||
* configure.in, doc/examples/cryptoki-demo.cpp,
|
||||
doc/examples/cryptoki-demo.cxx, doc/examples/makefile.am,
|
||||
doc/examples/pcsc-demo.cpp, doc/examples/pcsc-demo.cxx,
|
||||
doc/makefile.am, src/cryptoki.hxx, src/makefile.am: many new but
|
||||
completely untested methods
|
||||
|
||||
2009-08-27 14:46 marc
|
||||
|
||||
* doc/examples/cryptoki-demo.cpp, doc/examples/pcsc-demo.cpp,
|
||||
src/cryptoki.cxx, src/cryptoki.hxx, src/makefile.am: first test
|
||||
with cryptoki
|
||||
|
||||
2009-08-25 14:05 marc
|
||||
|
||||
* src/pcsc.hxx: resolved problem with proprietary KOBIL windoze
|
||||
driver
|
||||
|
||||
2009-08-19 13:42 marc
|
||||
|
||||
* src/pcsc.hxx: corrections
|
||||
|
||||
2009-08-11 13:55 marc
|
||||
|
||||
* src/pcsc.hxx: same error to text for all OSes (had unknown error
|
||||
on Mac)
|
||||
|
||||
2009-07-24 11:13 marc
|
||||
|
||||
* src/pcsc.hxx: add also hex reader name (in case we get non
|
||||
printing chars)
|
||||
|
||||
2009-07-16 07:23 marc
|
||||
|
||||
* doc/examples/pcsc-demo.cpp, src/pcsc.hxx: Bug in SCardTransmit
|
||||
parameter
|
||||
|
||||
2009-07-14 11:48 marc
|
||||
|
||||
* src/pcsc.hxx: win: even more error details when unknown
|
||||
|
||||
2009-07-14 09:16 marc
|
||||
|
||||
* src/pcsc.hxx: all: pass context to check; win: even more error
|
||||
messages
|
||||
|
||||
2009-07-13 13:51 marc
|
||||
|
||||
* src/pcsc.hxx: error strings also for windoof
|
||||
|
||||
2009-07-10 10:02 marc
|
||||
|
||||
* src/pcsc.hxx: mac: other types
|
||||
|
||||
2009-07-09 12:28 marc
|
||||
|
||||
* COPYING, INSTALL, doc/makefile.am, src/makefile.am, src/pcsc.hxx:
|
||||
compilable and usable
|
||||
|
||||
2009-06-17 12:30 marc
|
||||
|
||||
* doc/examples, doc/examples/pcsc-demo.cpp, src/pcsc.hxx: imported
|
||||
pcsc.hxx
|
||||
|
||||
2009-06-17 12:24 marc
|
||||
|
||||
* AUTHORS, ChangeLog, NEWS, README, bootstrap.sh, configure.in,
|
||||
doc, doc/doxyfile.in, doc/makefile.am, makefile.am, src,
|
||||
src/main.cxx, src/makefile.am, test, test/makefile.am: new
|
||||
project structure
|
||||
|
||||
2009-06-17 11:53 marc
|
||||
|
||||
* .: start
|
||||
|
||||
|
8
autogen.sh
Executable file
8
autogen.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash -e
|
||||
if test -n "svn" -a -d .svn -a -e -x /usr/bin/svn2cl; then
|
||||
svn2cl
|
||||
fi
|
||||
aclocal
|
||||
libtoolize --force
|
||||
automake -a
|
||||
autoconf
|
@@ -4,12 +4,16 @@
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_REQUIRE_STDCXX_11
|
||||
# AX_REQUIRE_STDCXX_14
|
||||
# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
|
||||
# AX_CXX_COMPILE_STDCXX_14([ext|noext],[mandatory|optional])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check for baseline language coverage in the compiler for the C++11
|
||||
# standard; if necessary, add switches to CXXFLAGS to enable support.
|
||||
# or C++14 standard; if necessary, add switches to CXXFLAGS to
|
||||
# enable support.
|
||||
#
|
||||
# The first argument, if specified, indicates whether you insist on an
|
||||
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
|
||||
@@ -131,3 +135,97 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
|
||||
AC_SUBST(HAVE_CXX11)
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [dnl
|
||||
m4_if([$1], [], [],
|
||||
[$1], [ext], [],
|
||||
[$1], [noext], [],
|
||||
[m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_14])])dnl
|
||||
m4_if([$2], [], [ax_cxx_compile_cxx14_required=true],
|
||||
[$2], [mandatory], [ax_cxx_compile_cxx14_required=true],
|
||||
[$2], [optional], [ax_cxx_compile_cxx14_required=false],
|
||||
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_14])])dnl
|
||||
AC_LANG_PUSH([C++])dnl
|
||||
ac_success=no
|
||||
AC_CACHE_CHECK(whether $CXX supports C++14 features by default,
|
||||
ax_cv_cxx_compile_cxx14,
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
|
||||
[ax_cv_cxx_compile_cxx14=yes],
|
||||
[ax_cv_cxx_compile_cxx14=no])])
|
||||
if test x$ax_cv_cxx_compile_cxx14 = xyes; then
|
||||
ac_success=yes
|
||||
fi
|
||||
|
||||
m4_if([$1], [noext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
for switch in -std=gnu++14 -std=gnu++0y; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS $switch"
|
||||
ac_success=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi])
|
||||
|
||||
m4_if([$1], [ext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
for switch in -std=c++14 -std=c++0y; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXXFLAGS="$CXXFLAGS $switch"
|
||||
ac_success=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi])
|
||||
AC_LANG_POP([C++])
|
||||
if test x$ax_cxx_compile_cxx14_required = xtrue; then
|
||||
if test x$ac_success = xno; then
|
||||
AC_MSG_ERROR([*** A compiler with support for C++14 language features is required.])
|
||||
fi
|
||||
else
|
||||
if test x$ac_success = xno; then
|
||||
HAVE_CXX14=0
|
||||
AC_MSG_NOTICE([No compiler with C++14 support was found])
|
||||
AX_CXX_COMPILE_STDCXX_11([$1], [optional])
|
||||
else
|
||||
HAVE_CXX11=1
|
||||
HAVE_CXX14=1
|
||||
AC_DEFINE(HAVE_CXX14,1,
|
||||
[define if the compiler supports basic C++14 syntax])
|
||||
AC_DEFINE(HAVE_CXX11,1,
|
||||
[define if the compiler supports basic C++14 syntax])
|
||||
fi
|
||||
AC_SUBST(HAVE_CXX11)
|
||||
AC_SUBST(HAVE_CXX14)
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_REQUIRE_STDCXX_11], [
|
||||
if test x${HAVE_CXX11} != x1; then
|
||||
AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_REQUIRE_STDCXX_14], [
|
||||
if test x${HAVE_CXX14} != x1; then
|
||||
AC_MSG_ERROR([*** A compiler with support for C++14 language features is required.])
|
||||
fi
|
||||
])
|
||||
|
@@ -7,44 +7,58 @@
|
||||
m4_define([mrw_esyscmd_s], [m4_normalize(m4_esyscmd([$1]))])
|
||||
|
||||
# define least version number from subversion's revision number:
|
||||
# it is taken modulo 256 due to a bug on Apple's MacOSX
|
||||
m4_define(x_least, m4_ifdef([x_least_diff], mrw_esyscmd_s([
|
||||
SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
|
||||
for path in . .. ../..; do
|
||||
if svn info $path 2>&1 > /dev/null; then
|
||||
SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi
|
||||
break;
|
||||
fi
|
||||
done
|
||||
echo $ECHO_N $(($SVN_REVISION))
|
||||
]), mrw_esyscmd_s([
|
||||
SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
|
||||
for path in . .. ../..; do
|
||||
if svn info $path 2>&1 > /dev/null; then
|
||||
SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi
|
||||
break;
|
||||
fi
|
||||
done
|
||||
# Mac does not support LEAST > 255
|
||||
echo $ECHO_N $(($SVN_REVISION%256))
|
||||
])))
|
||||
# it is taken modulo 256 due to a bug on Apple's SX
|
||||
m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix],
|
||||
m4_ifdef([x_least_diff],
|
||||
mrw_esyscmd_s([
|
||||
VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout"
|
||||
for path in . .. ../.. ../../..; do
|
||||
if test -d .svn; then
|
||||
svn upgrade 1>&2 > /dev/null || true
|
||||
VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
elif test -d .git; then
|
||||
VCS_REVISION=$(git rev-list --all --count)
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
fi
|
||||
done
|
||||
echo $ECHO_N $(($VCS_REVISION))
|
||||
]), mrw_esyscmd_s([
|
||||
VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout"
|
||||
for path in . .. ../.. ../../..; do
|
||||
if test -d .svn; then
|
||||
svn upgrade 1>&2 > /dev/null || true
|
||||
VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
elif test -d .git; then
|
||||
VCS_REVISION=$(git rev-list --all --count)
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
fi
|
||||
done
|
||||
# Mac does not support LEAST > 255
|
||||
echo $ECHO_N $(($VCS_REVISION%256))
|
||||
])
|
||||
)
|
||||
))
|
||||
|
||||
# define version number from subversion's revision number:
|
||||
# it is taken modulo 256 due to a bug on Apple's MacOSX
|
||||
# add to x_minor if revision number is > 256
|
||||
m4_define(x_minor_diff, mrw_esyscmd_s([
|
||||
SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
|
||||
for path in . .. ../..; do
|
||||
if svn info $path 2>&1 > /dev/null; then
|
||||
SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi
|
||||
break;
|
||||
m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([
|
||||
VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout"
|
||||
for path in . .. ../.. ../../..; do
|
||||
if test -d .svn; then
|
||||
svn upgrade 1>&2 > /dev/null || true
|
||||
VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
elif test -d .git; then
|
||||
VCS_REVISION=$(git rev-list --all --count)
|
||||
if test -n "${VCS_REVISION}"; then break; fi
|
||||
fi;
|
||||
done
|
||||
# Mac does not support LEAST > 255
|
||||
echo $ECHO_N $(($SVN_REVISION/256))
|
||||
]))
|
||||
echo $ECHO_N $(($VCS_REVISION/256))
|
||||
])))
|
||||
# setup version number
|
||||
m4_define(x_version, [x_major.m4_ifdef([x_least_diff], x_minor, m4_eval(x_minor+x_minor_diff)).m4_eval(m4_ifdef([x_least_diff], [x_least-x_least_diff], [x_least]))])
|
||||
|
||||
@@ -115,13 +129,23 @@ AC_DEFUN([AX_SUBST], [
|
||||
# m4_define(x_minor, MINOR_NUMBER) # project's minor version
|
||||
# m4_include(ax_init_standard_project.m4)
|
||||
# AC_INIT(x_package_name, x_version, x_bugreport, x_package_name)
|
||||
# AM_INIT_AUTOMAKE([1.9 tar-pax])
|
||||
# AM_INIT_AUTOMAKE([1.9 tar-pax parallel-tests color-tests])
|
||||
# AX_INIT_STANDARD_PROJECT
|
||||
#
|
||||
# you change nothing but: YOUR_PACKAGE_NAME, MAJOR_NUMBER, MINOR_NUMBER
|
||||
#
|
||||
# configures the basic environment
|
||||
AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
|
||||
PREFIX=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${prefix}")
|
||||
AX_SUBST(PREFIX)
|
||||
SYSCONFDIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${sysconfdir}")
|
||||
AX_SUBST(SYSCONFDIR)
|
||||
DATADIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${datadir}")
|
||||
AX_SUBST(DATADIR)
|
||||
PKGDATADIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${DATADIR}/${PACKAGE_NAME}")
|
||||
AX_SUBST(PKGDATADIR)
|
||||
LOCALSTATEDIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${localstatedir}")
|
||||
AX_SUBST(LOCALSTATEDIR)
|
||||
AC_MSG_CHECKING([target platfrom])
|
||||
UNIX=1
|
||||
MINGW=
|
||||
@@ -146,17 +170,49 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
|
||||
AM_CPPFLAGS+=" '-DMAKE_STRING(X)=\#X' '-DNAMESPACE=${PACKAGE_TARNAME//[^a-zA-Z0-9]/_}'"
|
||||
AX_SUBST(NUMBERS)
|
||||
AX_SUBST(HOME)
|
||||
README=$(tail -n +3 README)
|
||||
if test -f README.md; then
|
||||
README=$(tail -n +3 README.md)
|
||||
DESCRIPTION=$(head -1 README.md)
|
||||
else
|
||||
README=$(tail -n +3 README)
|
||||
DESCRIPTION=$(head -1 README)
|
||||
fi
|
||||
README_ESCAPED=$(echo "$README" | sed ':a;N;$!ba;s/\n/\\n/g;s,",\\",g')
|
||||
if which pandoc 2>&1 > /dev/null; then
|
||||
README_HTML=$(echo "$README" | pandoc -f markdown_github -t html | sed ':a;N;$!ba;s,\\\(.\),\\\\<span>\1</span>,g;s/\n/\\n/g;s,",\\",g;s, ,\ \ ,g')
|
||||
else
|
||||
README_HTML="${README}"
|
||||
fi
|
||||
AX_SUBST(README)
|
||||
_AM_SUBST_NOTMAKE([README])
|
||||
DESCRIPTION=$(head -1 README)
|
||||
AX_SUBST(README_ESCAPED)
|
||||
_AM_SUBST_NOTMAKE([README_ESCAPED])
|
||||
AX_SUBST(README_HTML)
|
||||
_AM_SUBST_NOTMAKE([README_HTML])
|
||||
AX_SUBST(DESCRIPTION)
|
||||
_AM_SUBST_NOTMAKE([DESCRIPTION])
|
||||
LICENSE=$(echo $(head -1 COPYING))
|
||||
AX_SUBST(LICENSE)
|
||||
COPYING=$(<COPYING)
|
||||
AX_SUBST(COPYING)
|
||||
_AM_SUBST_NOTMAKE([COPYING])
|
||||
AUTHOR=$(head -1 AUTHORS)
|
||||
AUTHOR_NAME=$(echo $AUTHOR | sed 's, *[[<(]].*$,,')
|
||||
AUTHOR_URL=$(echo $AUTHOR | sed 's,.*(\(http[[^)]]*\)).*,\1,')
|
||||
AUTHOR_MAIL=$(echo $AUTHOR | sed 's,.*<\(.*@.*\)>.*,\1,')
|
||||
AX_SUBST(AUTHOR)
|
||||
_AM_SUBST_NOTMAKE([AUTHOR])
|
||||
AX_SUBST(AUTHOR_NAME)
|
||||
AX_SUBST(AUTHOR_URL)
|
||||
AX_SUBST(AUTHOR_MAIL)
|
||||
PROJECT_URL="${PROJECT_URL:-${AUTHOR_URL}/projects/${PACKAGE_NAME}}"
|
||||
SOURCE_DOWNLOAD="${SOURCE_DOWNLOAD:-${AUTHOR_URL}/downloads/${PACKAGE_NAME}}"
|
||||
AX_SUBST(PROJECT_URL)
|
||||
AX_SUBST(SOURCE_DOWNLOAD)
|
||||
DISTRO=$(lsb_release -sc 2>/dev/null || uname -s 2>/dev/null)
|
||||
AX_SUBST(DISTRO)
|
||||
ARCH=$((@<:@@<:@ $(uname -sm) =~ 64 @:>@@:>@ && echo amd64) || (@<:@@<:@ $(uname -sm) =~ 'i?86' @:>@@:>@ && echo i386 || uname -sm))
|
||||
AX_SUBST(ARCH)
|
||||
DISTRIBUTOR=$(lsb_release -si 2>/dev/null || uname -s 2>/dev/null)
|
||||
case "${DISTRIBUTOR// /-}" in
|
||||
(Ubuntu) UBUNTU=1; AX_SUBST(UBUNTU);;
|
||||
@@ -178,8 +234,14 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
|
||||
PACKAGE_LOGO="${PACKAGE_NAME}-logo.png"
|
||||
fi
|
||||
AX_SUBST(PACKAGE_LOGO)
|
||||
if test -f "${PACKAGE_NAME}-icon.png"; then
|
||||
if test -f "${PACKAGE_NAME}-icon.svg"; then
|
||||
PACKAGE_ICON="${PACKAGE_NAME}-icon.svg"
|
||||
elif test -f "${PACKAGE_NAME}-icon.png"; then
|
||||
PACKAGE_ICON="${PACKAGE_NAME}-icon.png"
|
||||
elif test -f "${PACKAGE_NAME}.svg"; then
|
||||
PACKAGE_ICON="${PACKAGE_NAME}.svg"
|
||||
elif test -f "${PACKAGE_NAME}.png"; then
|
||||
PACKAGE_ICON="${PACKAGE_NAME}.png"
|
||||
fi
|
||||
AX_SUBST(PACKAGE_ICON)
|
||||
|
||||
@@ -210,6 +272,25 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
|
||||
else
|
||||
AM_CPPFLAGS="${AM_CPPFLAGS} -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG"
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(gcov,
|
||||
[AS_HELP_STRING([--with-gcov=FILE],
|
||||
[enable gcov, set gcov file (defaults to gcov)])],
|
||||
[GCOV="$enableval"], [GCOV="no"])
|
||||
AM_CONDITIONAL(COVERAGE, test "$GCOV" != "no")
|
||||
if test "$GCOV" != "no"; then
|
||||
if test "$GCOV" == "yes"; then
|
||||
GCOV=gcov
|
||||
fi
|
||||
AC_CHECK_PROG(has_gcov, [$GCOV], [yes], [no])
|
||||
if test "$has_gcov" != "yes"; then
|
||||
AC_MSG_ERROR([gcov: program $GCOV not found])
|
||||
fi
|
||||
AC_MSG_NOTICE([Coverage tests enabled, using ${GCOV}]);
|
||||
AM_CXXFLAGS="${AM_CXXFLAGS:-} -O0 --coverage -fprofile-arcs -ftest-coverage"
|
||||
AM_LDFLAGS="${AM_LDFLAGS} -O0 --coverage -fprofile-arcs"
|
||||
AX_SUBST(GCOV)
|
||||
fi
|
||||
|
||||
if test -f ${PACKAGE_NAME}.desktop.in; then
|
||||
AC_CONFIG_FILES([${PACKAGE_NAME}.desktop])
|
||||
@@ -241,7 +322,7 @@ EOF
|
||||
AC_DEFUN([AX_USE_CXX], [
|
||||
m4_include(ax_cxx_compile_stdcxx_11.m4)
|
||||
AC_LANG(C++)
|
||||
AX_CXX_COMPILE_STDCXX_11(noext, optional)
|
||||
AX_CXX_COMPILE_STDCXX_14(noext, optional)
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CPP
|
||||
|
||||
@@ -279,6 +360,43 @@ maintainer-clean-cxx-targets:
|
||||
EOF
|
||||
])
|
||||
|
||||
# use this in configure.ac to support old school C
|
||||
AC_DEFUN([AX_USE_C], [
|
||||
AC_LANG(C)
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
|
||||
AC_CONFIG_FILES([src/makefile])
|
||||
|
||||
AM_CPPFLAGS+=' -I ${top_srcdir}/src -I ${top_builddir}/src -I ${srcdir} -I ${builddir}'
|
||||
AM_LDFLAGS+=' -L ${top_srcdir}/src -L ${top_builddir}/src'
|
||||
|
||||
# Get rid of those stupid -g -O2 options!
|
||||
CXXFLAGS="${CXXFLAGS//-g -O2/}"
|
||||
CFLAGS="${CFLAGS//-g -O2/}"
|
||||
|
||||
# pass compile flags to make distcheck
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS="CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
|
||||
AC_SUBST(AM_DISTCHECK_CONFIGURE_FLAGS)
|
||||
|
||||
AC_SUBST(AM_CFLAGS)
|
||||
AC_SUBST(AM_CPPFLAGS)
|
||||
AC_SUBST(AM_LDFLAGS)
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-c-targets], [src/makefile.in])
|
||||
test -f src/makefile.in && cat >> src/makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
%.app: %
|
||||
-rm -r [\$][@]
|
||||
\$(MAKE) DESTDIR=[\$][\$](pwd)/[\$][@]/tmp install
|
||||
\${top_builddir}/mac-create-app-bundle.sh \
|
||||
[\$][@] [\$][<] [\$][\$](pwd)/[\$][@]/tmp\${prefix}
|
||||
|
||||
maintainer-clean-c-targets:
|
||||
-rm makefile.in
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
# use this in configure.ac to support tests without CppUnit
|
||||
AC_DEFUN([AX_BUILD_TEST], [
|
||||
AC_CONFIG_FILES([test/makefile])
|
||||
@@ -314,6 +432,33 @@ maintainer-clean-example-targets:
|
||||
EOF
|
||||
])
|
||||
|
||||
# use this in configure.ac to support C++ examples
|
||||
AC_DEFUN([AX_USE_NODEJS], [
|
||||
AC_PATH_PROG(ANDROID, [android], [0],
|
||||
[${PATH}${PATH_SEPARATOR}${ANDROID_HOME}/tools])
|
||||
AC_PATH_PROG(CORDOVA, [cordova], [0],
|
||||
[${PATH}${PATH_SEPARATOR}$(pwd)/node_modules/cordova/bin])
|
||||
if test ${CORDOVA} = 0; then
|
||||
AC_MSG_WARN([cordova is missing, on ubuntu install cordova-cli from repository ppa:cordova-ubuntu/ppa])
|
||||
fi
|
||||
if test ${ANDROID} = 0; then
|
||||
AC_MSG_WARN([android sdk is missing, set variable ANDROID_HOME after installation])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_CORDOVA, [test ${CORDOVA} != 0 -a ${ANDROID} != 0])
|
||||
AX_SUBST(CORDOVA)
|
||||
AC_CONFIG_FILES([nodejs/package.json])
|
||||
AC_CONFIG_FILES([nodejs/makefile])
|
||||
AC_CONFIG_FILES([cordova/makefile])
|
||||
AC_CONFIG_FILES([cordova/config.xml])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-example-targets], [examples/makefile.in])
|
||||
test -f examples/makefile.in && cat >> examples/makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
maintainer-clean-example-targets:
|
||||
-rm makefile.in
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
# use this in configure.ac to support HTML data for webservers
|
||||
AC_DEFUN([AX_BUILD_HTML], [
|
||||
AC_CONFIG_FILES([html/makefile])
|
||||
@@ -356,7 +501,11 @@ EOF
|
||||
|
||||
# use this in configure.ac to support debian packages
|
||||
AC_DEFUN([AX_USE_DEBIAN_PACKAGING], [
|
||||
README_DEB=$(tail -n +3 README | sed -e 's/^ *$/./g' -e 's/^/ /g')
|
||||
if test -f README.md; then
|
||||
README_DEB=$(tail -n +3 README.md | sed -e 's/^ *$/./g' -e 's/^/ /g')
|
||||
else
|
||||
README_DEB=$(tail -n +3 README | sed -e 's/^ *$/./g' -e 's/^/ /g')
|
||||
fi
|
||||
AC_SUBST(README_DEB)
|
||||
_AM_SUBST_NOTMAKE([README_DEB])
|
||||
AC_CONFIG_FILES([debian/changelog debian/control])
|
||||
@@ -368,7 +517,7 @@ 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 )
|
||||
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
|
||||
@@ -379,12 +528,15 @@ EOF
|
||||
AC_DEFUN([AX_USE_RPM_PACKAGING], [
|
||||
AC_CONFIG_FILES([${PACKAGE_NAME}.spec])
|
||||
#AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-rpm-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-rpm-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-rpm-targets], [makefile.in])
|
||||
test -f makefile.in && cat >> makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
EXTRA_DIST += \${PACKAGE_NAME}.spec.in
|
||||
rpm: dist
|
||||
rpmbuild -ba --define "_topdir \$\$(pwd)" --define "_sourcedir \$\$(pwd)" \${PACKAGE_NAME}.spec
|
||||
clean-rpm-targets:
|
||||
-rm -rf BUILD BUILDROOT RPMS SPECS SRPMS
|
||||
distclean-rpm-targets:
|
||||
-rm \${PACKAGE_NAME}.spec
|
||||
#### End: $0
|
||||
@@ -401,6 +553,7 @@ 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)
|
||||
AM_CONDITIONAL(NEED_PLANTUML, test "$have_doxygen" = "yes" -a "1.8.11" != $((echo "1.8.11"; doxygen -v) | sort -V | head -1))
|
||||
PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf
|
||||
AC_SUBST(PDF_DOC)
|
||||
if test "$have_doxygen" = "no"; then
|
||||
@@ -415,22 +568,38 @@ AC_DEFUN([AX_USE_DOXYGEN], [
|
||||
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])
|
||||
AC_CONFIG_FILES([doc/makefile doc/doxyfile doc/header.html doc/footer.html])
|
||||
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])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf gen-uml-images], [doc/makefile.in])
|
||||
test -f doc/makefile.in && cat >> doc/makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
doc: doxyfile
|
||||
doc: doxyfile @NEED_PLANTUML_TRUE@ gen-uml-images
|
||||
@NEED_PLANTUML_TRUE@ doxyadd() { grep -q "\$\$[1] += \$\$[2]" doxyfile || sed -i '/^'"\$\$[1]"' *=/a'"\$\$[1]"' += '"\$\$[2]" doxyfile; }; \\
|
||||
@NEED_PLANTUML_TRUE@ doxyadd ALIASES '"startuml{1}=@image html \\\\1\\\\n@image latex \\\\1\\\\n\\\\if DontIgnorePlantUMLCode"'; \\
|
||||
@NEED_PLANTUML_TRUE@ doxyadd ALIASES '"enduml=\\\\endif"'; \\
|
||||
@NEED_PLANTUML_TRUE@ doxyadd IMAGE_PATH '"gen-uml-images"';
|
||||
doxygen doxyfile
|
||||
@PEDANTIC_TRUE@ test \! -s doxygen.errors
|
||||
|
||||
@NEED_PLANTUML_TRUE@EXTRA_DIST = ${EXTRA_DIST} plantuml.jar
|
||||
@NEED_PLANTUML_TRUE@
|
||||
@NEED_PLANTUML_TRUE@gen-uml-images:
|
||||
@NEED_PLANTUML_TRUE@ test -d gen-uml-images || mkdir gen-uml-images
|
||||
@NEED_PLANTUML_TRUE@ eval \$\$(sed -n 's, *INPUT *\\(+\\?\\)= *\\(.*\\),INPUT\\1=" \\2",gp' doxyfile); \\
|
||||
@NEED_PLANTUML_TRUE@ eval \$\$(sed -n 's, *FILE_PATTERNS *\\(+\\?\\)= *\\(.*\\),FILE_PATTERNS\\1=" \\2",gp' doxyfile); \\
|
||||
@NEED_PLANTUML_TRUE@ SOURCES="**.("\$\$(echo \$\${FILE_PATTERNS} | sed 's,*.,,g;s, ,|,g')")"; \\
|
||||
@NEED_PLANTUML_TRUE@ for src in \$\$INPUT; do \\
|
||||
@NEED_PLANTUML_TRUE@ java -Djava.awt.headless=true -jar \${top_srcdir}/doc/plantuml.jar -v -o \$\$(pwd)/gen-uml-images "\$\$src/\$\$SOURCES"; \\
|
||||
@NEED_PLANTUML_TRUE@ done
|
||||
|
||||
clean-documentation:
|
||||
-rm doxygen.errors @PDF_DOC@
|
||||
@NEED_PLANTUML_TRUE@ -rm -rf gen-uml-images doxygen_sqlite3.db
|
||||
distclean-documentation:
|
||||
-rm -r html
|
||||
-rm @PACKAGE_NAME@.doxytag
|
||||
@@ -447,6 +616,55 @@ uninstall-documentation:
|
||||
EOF
|
||||
])
|
||||
|
||||
# use this in configure.ac to support Doxygen documentation generation
|
||||
AC_DEFUN([AX_USE_PERLDOC], [
|
||||
PERL_SOURCES="m4_default([$1], [perl])"
|
||||
AX_SUBST(PERL_SOURCES)
|
||||
if test -z "$PERL_SOURCES"; then
|
||||
AC_MSG_ERROR([You must specify the path to per files
|
||||
- use [AX]_[USE]_PERLDOC([[pathes to perldoc]])]); fi
|
||||
AC_CHECK_PROG(have_perldoc, pods2html, yes, no)
|
||||
if test "$have_doxygen" = "no"; then
|
||||
AC_MSG_WARN([Missing program pods2html!
|
||||
- you cannot rebuild the documentation
|
||||
- there are precompiled derived files in the distribution
|
||||
- if you need to generate documentation, install libpod-tree-perl]); fi
|
||||
AC_CONFIG_FILES([doc/makefile])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-perldoc], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-perldoc], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-perldoc], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-perldoc], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [doc], [doc/makefile.in])
|
||||
test -f doc/makefile.in && cat >> doc/makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
doc: perldoc/index.html
|
||||
|
||||
perldoc/index.html: \${PERL_SOURCES:%=perldoc/%}
|
||||
echo "<html><head><title>Perl Documentation</title></head><body><h1>Perl Documentation</h1><ul>" > perldoc/index.html
|
||||
for p in \${PERL_SOURCES:%=perldoc/%}; do \
|
||||
echo '<li><a href="'"\$\${p#perldoc/}"'/index.html">'"\$\${p#perldoc/}"'</a></li>' >> perldoc/index.html; \
|
||||
done
|
||||
echo "</ul></body></html>" >> perldoc/index.html
|
||||
|
||||
perldoc/%:
|
||||
pods2html --notoc --empty --index index @top_srcdir@/\${@:perldoc/%=%} \$[@]
|
||||
|
||||
distclean-perldoc:
|
||||
-rm -r perldoc
|
||||
maintainer-clean-perldoc:
|
||||
-rm makefile.in
|
||||
install-data-perldoc:
|
||||
test -d \$(DESTDIR)\${docdir} || mkdir -p \$(DESTDIR)\${docdir}
|
||||
chmod -R u+w \$(DESTDIR)\${docdir}
|
||||
cp -r perldoc \$(DESTDIR)\${docdir}/
|
||||
uninstall-perldoc:
|
||||
-chmod -R u+w \$(DESTDIR)\${docdir}
|
||||
-rm -rf \$(DESTDIR)\${docdir}/perldoc
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
# require a specific package, with fallback: test for a header
|
||||
# - parameter:
|
||||
# $1 = unique id (no special characters)
|
||||
@@ -602,6 +820,7 @@ AC_DEFUN([AX_PKG_CHECK], [
|
||||
# make sure, a specific header exists
|
||||
# - parameter:
|
||||
# $1 = header name
|
||||
# $2 = pathes to search for
|
||||
AC_DEFUN([AX_REQUIRE_HEADER], [
|
||||
AC_CHECK_HEADER($1, [], [
|
||||
if test -n "$2"; then
|
||||
|
381
bootstrap.sh
381
bootstrap.sh
@@ -23,17 +23,22 @@ docker=0
|
||||
buildtarget=""
|
||||
overwrite=0
|
||||
rebuild=0
|
||||
novcs=0
|
||||
excludevcs=()
|
||||
rebuildfiles=()
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
(--configure|-c) configure=1;;
|
||||
(--docker|-d) docker=1;;
|
||||
(--build|-b) configure=1; build=1; buildtarget+=" distcheck";;
|
||||
(--target|-t) shift; configure=1; build=1; buildtarget+=" $1";;
|
||||
(--all|-a) shift; configure=1; build=1; buildtarget+=" all";;
|
||||
(--clean) shift; configure=1; build=1; buildtarget+=" maintainer-clean";;
|
||||
(--target|-t) shift; configure=1; build=1; buildtarget+=" $1";;
|
||||
(--overwrite|-o) overwrite=1;;
|
||||
(--rebuild|-r) rebuild=1;;
|
||||
(--rebuild-file|-f) shift; rebuildfiles+=("$1");;
|
||||
(--no-vcs|-n) novcs=1;;
|
||||
(--exclude-vcs|-x) shift; excludevcs+=("$1");;
|
||||
(--version|-v)
|
||||
echo "$Id$";
|
||||
exit;;
|
||||
@@ -47,10 +52,14 @@ OPTIONS
|
||||
--configure, -c call ./configure after initialization
|
||||
--docker, -d build and run tests in a docker instance
|
||||
--build, -b build, also call ./configure && make distcheck
|
||||
--all, -a same as -b, but make target all
|
||||
--clean same as -b, but make target maintainer-clean
|
||||
--target, -t <target> same as -b, but specify target instead of distcheck
|
||||
--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)
|
||||
--no-vcs, -n do not automatically add files to version control
|
||||
--exclude-vcs, -x <file> exclude specific file from version control
|
||||
--help, -h show this help
|
||||
--version, -v show version and date of this file
|
||||
|
||||
@@ -61,7 +70,7 @@ DESCRIPTION
|
||||
configure.ac. Automatically copies or creates all required template
|
||||
files.
|
||||
|
||||
From your new and empty project's subversion path, call $0 to
|
||||
From your new and empty project's subversion or git path, call $0 to
|
||||
initialize your build environment.
|
||||
|
||||
Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS
|
||||
@@ -80,16 +89,27 @@ DESCRIPTION
|
||||
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.
|
||||
checked out subversion or git repository, since this build
|
||||
environment relies on subversion or git.
|
||||
|
||||
Example for an initial run, where your new projet is stored in
|
||||
subversion on svn:/path/to/your/new-project:
|
||||
subversion on https:/path/to/your/new-project:
|
||||
|
||||
cd ~/svn
|
||||
svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\
|
||||
bootstrap-build-environment
|
||||
svn co svn:/path/to/your/new-project/trunk new-project
|
||||
svn co https:/path/to/your/new-project/trunk new-project
|
||||
cd new-project
|
||||
../bootstrap-build-environment/bootstrap.sh
|
||||
|
||||
Example for an initial run, where your new projet is stored in
|
||||
git on https:/path/to/your/new-project:
|
||||
|
||||
cd ~/svn
|
||||
svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\
|
||||
bootstrap-build-environment
|
||||
cd ~/git
|
||||
git clone https:/path/to/your/new-project
|
||||
cd new-project
|
||||
../bootstrap-build-environment/bootstrap.sh
|
||||
|
||||
@@ -98,18 +118,22 @@ RUNNING
|
||||
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.
|
||||
optionally ./configure. If necessary, files are added to version
|
||||
control.
|
||||
|
||||
GENERATED FILES
|
||||
|
||||
This script copies the following files into your project environment:
|
||||
* ${MY_NAME}
|
||||
* autogen.sh - just the basics to initialize auto tools and create configure
|
||||
* 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
|
||||
* makefile_test.inc.am - makefile to be included in tests
|
||||
* resolve-debbuilddeps.sh - script to install debian package dependencies
|
||||
* resolve-rpmbuilddeps.sh - script to install RPM package dependencies
|
||||
* build-in-docker.sh - script to build the project encapsulated in a docker container
|
||||
* build-in-docker.conf - additional configuration for build-in-docker.sh
|
||||
* build-resource-file.sh - build resource.qrc file from a resource directory
|
||||
* sql-to-dot.sed - script to convert SQL schema files to graphviz dot in doxygen
|
||||
* mac-create-app-bundle.sh - script to create apple mac os-x app-bundle
|
||||
@@ -125,9 +149,14 @@ GENERATED FILES
|
||||
* src/version.cxx - if you enabled AX_USE_CXX
|
||||
* html/makefile.am - if you enabled AX_BUILD_HTML
|
||||
* scripts/makefile.am - if you enabled AX_USE_SCRIPTS
|
||||
* doc/makefile.am - if you enabled AX_USE_DOXYGEN
|
||||
* doc/makefile.am - if you enabled AX_USE_DOXYGEN or AX_USE_PERLDOC
|
||||
* doc/doxyfile.in - if you enabled AX_USE_DOXYGEN
|
||||
* test/makefile.am - if you enabled AX_BUILD_TEST or AX_USE_CPPUNIT
|
||||
* doc/header.html.in - if you enabled AX_USE_DOXYGEN
|
||||
* doc/footer.html.in - if you enabled AX_USE_DOXYGEN
|
||||
* doc/style.css - if you enabled AX_USE_DOXYGEN
|
||||
* doc/plantuml.jar - if you enable AX_USE_DOXYGEN
|
||||
* test/makefile.am - if you enabled AX_USE_CPPUNIT and AX_USE_CXX
|
||||
* test/${DEFAULT_PROJECT_NAME#lib}.cxx - if you enabled AX_BUILD_TEST or 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
|
||||
@@ -168,6 +197,7 @@ FILES TO EDIT
|
||||
* src/makefile.am
|
||||
* html/makefile.am
|
||||
* test/makefile.am
|
||||
* test/${DEFAULT_PROJECT_NAME}.cxx
|
||||
* examples/makefile.am
|
||||
|
||||
FILE DEPENDENCIES
|
||||
@@ -178,8 +208,8 @@ FILE DEPENDENCIES
|
||||
* test/makefile.am depends on AX_USE_LIBTOOL
|
||||
* html/makefile.am depends on AX_BUILD_HTML
|
||||
* doc/doxyfile.in depends on AX_BUILD_EXAMPLES
|
||||
* debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT
|
||||
AX_CXX_QT, AX_CHECK_QT, AX_REQUIRE_QT, AX_USE_LIBTOOL
|
||||
* debian/control.in depends on AX_USE_DOXYGEN, AX_USE_PERLDOC,
|
||||
AX_USE_CPPUNIT AX_CXX_QT, AX_CHECK_QT, AX_REQUIRE_QT, AX_USE_LIBTOOL
|
||||
* 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
|
||||
@@ -201,17 +231,19 @@ FILES
|
||||
${DEFAULT_PROJECT_NAME}::description().
|
||||
* ChangeLog: Your changelog is automatically maintained from
|
||||
subversion history, using svn2cl. You don't need to
|
||||
care about.
|
||||
care about. It uses git2cl on git repositories.
|
||||
* 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:
|
||||
number. In git, git rev-list --all --count is used.
|
||||
The following macros are supported in configure.ac:
|
||||
* Enable C++: AX_USE_CXX
|
||||
* Enable LibTool library creation: AX_USE_LIBTOOL
|
||||
* Enable Scripts: AX_USE_SCRIPTS
|
||||
* Enable Doxygen documentation generation: AX_USE_DOXYGEN
|
||||
* Enable Perldoc documentation generation: AX_USE_PERLDOC
|
||||
* Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING
|
||||
* Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING
|
||||
* Enable C++ testing using CppUnit: AX_USE_CPPUNIT
|
||||
@@ -247,6 +279,20 @@ EOF
|
||||
shift;
|
||||
done
|
||||
|
||||
echo -en "\e[1m-> checking:\e[0m for version control system ..."
|
||||
VCS=""
|
||||
VCSDEPENDS=""
|
||||
if test -d .svn; then
|
||||
VCS="svn"
|
||||
VCSDEPENDS="subversion,"
|
||||
echo -e " \e[32msuccess\e[0m detected ${VCS}"
|
||||
elif test -d .git; then
|
||||
VCS="git"
|
||||
VCSDEPENDS="git,"
|
||||
echo -e " \e[32msuccess\e[0m detected ${VCS}"
|
||||
else
|
||||
echo -e " \e[33mignored\e[0m"
|
||||
fi
|
||||
|
||||
HEADER='## @id '"\$Id\$"'
|
||||
##
|
||||
@@ -270,6 +316,7 @@ CHEADER='/** @id '"\$Id\$"'
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
|
||||
'
|
||||
|
||||
notice() {
|
||||
@@ -318,7 +365,9 @@ contains() {
|
||||
checkdir() {
|
||||
if ! test -d "$1"; then # create path
|
||||
run mkdir -p "$1"
|
||||
run svn add "$1"
|
||||
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
|
||||
run ${VCS} add "$1"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -331,13 +380,17 @@ checkfile() {
|
||||
}
|
||||
|
||||
to() {
|
||||
mode="u=rw,g=rw,o=r"
|
||||
while test $# -gt 0; do
|
||||
mode="u=rw,g=rw,o=r"
|
||||
case "$1" in
|
||||
(--condition) shift # test for a tag, abort if not set
|
||||
if ! testtag "$1"; then
|
||||
return 0
|
||||
fi;;
|
||||
(--unless) shift # test for a tag, abort if set
|
||||
if testtag "$1"; then
|
||||
return 0
|
||||
fi;;
|
||||
(--mode) shift # test for a tag, abort if not set
|
||||
mode="$1";;
|
||||
(*) break;;
|
||||
@@ -363,10 +416,14 @@ to() {
|
||||
else
|
||||
echo -e " \e[32msuccess\e[0m"
|
||||
fi
|
||||
chmod $mode $1
|
||||
run chmod $mode $1
|
||||
if test $exists -eq 0; then
|
||||
run svn add "$1"
|
||||
run svn propset svn:keywords "Id" "$1"
|
||||
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
|
||||
run ${VCS} add "$1"
|
||||
if test "${VCS}" = "svn"; then
|
||||
run svn propset svn:keywords "Id" "$1"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
@@ -384,10 +441,17 @@ copy() {
|
||||
source="${0%/*}/$1"
|
||||
fi
|
||||
fi
|
||||
if test "${1%/*}" != "$1"; then
|
||||
test -d "${1%/*}" || svn mkdir "${1%/*}"
|
||||
fi
|
||||
run cp "${source}" "$1"
|
||||
if test $exists -eq 0; then
|
||||
run svn add "$1"
|
||||
run svn propset svn:keywords "Id" "$1"
|
||||
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
|
||||
run ${VCS} add "$1"
|
||||
if test "${VCS}" = "svn"; then
|
||||
run svn propset svn:keywords "Id" "$1"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -413,10 +477,33 @@ doxyadd() {
|
||||
fi
|
||||
}
|
||||
|
||||
vcs2cl() {
|
||||
exists=0
|
||||
if test -f "ChangeLog"; then
|
||||
exists=1
|
||||
else
|
||||
touch "ChangeLog"
|
||||
fi
|
||||
if test -x $(which ${VCS}2cl); then
|
||||
if test "${VCS}" = "git"; then
|
||||
${VCS}2cl > ChangeLog
|
||||
elif test -n "${VCS}"; then
|
||||
${VCS}2cl
|
||||
fi
|
||||
fi
|
||||
if test $exists -eq 0; then
|
||||
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "ChangeLog" "${excludevcs[@]}"; then
|
||||
run ${VCS} add ChangeLog
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if we are in subversion root, if so, create trunk, branches, tags:
|
||||
if test "$(LANG= svn info | sed -n 's,Relative URL: *,,p')" = "^/"; then
|
||||
svn mkdir trunk branches tags
|
||||
cd trunk
|
||||
if test "${VCS}" = "svn" -a $novcs -eq 0; then
|
||||
if test "$(LANG= svn info | sed -n 's,Relative URL: *,,p')" = "^/"; then
|
||||
svn mkdir trunk branches tags
|
||||
cd trunk
|
||||
fi
|
||||
fi
|
||||
|
||||
# Initialize the environment:
|
||||
@@ -424,6 +511,7 @@ copy ${MY_NAME}
|
||||
copy ax_init_standard_project.m4
|
||||
copy ax_cxx_compile_stdcxx_11.m4
|
||||
copy ax_check_qt.m4
|
||||
copy makefile_test.inc.am
|
||||
copy resolve-debbuilddeps.sh
|
||||
copy resolve-rpmbuilddeps.sh
|
||||
copy build-in-docker.sh
|
||||
@@ -446,7 +534,11 @@ ${DEFAULT_PROJECT_NAME}
|
||||
add description for ${DEFAULT_PROJECT_NAME}
|
||||
EOF
|
||||
to configure.ac <<EOF && notice "please edit configure.ac, then rerun $0" && exit 0
|
||||
${HEADER}m4_define(x_package_name, ${DEFAULT_PROJECT_NAME}) # project's name
|
||||
${HEADER}# default is generated from AUTHORS and project name
|
||||
PROJECT_URL=
|
||||
SOURCE_DOWNLOAD=
|
||||
|
||||
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)
|
||||
@@ -459,6 +551,7 @@ AX_INIT_STANDARD_PROJECT
|
||||
#AX_USE_LIBTOOL
|
||||
#AX_USE_SCRIPTS
|
||||
#AX_USE_DOXYGEN
|
||||
#AX_USE_PERLDOC
|
||||
#AX_USE_DEBIAN_PACKAGING
|
||||
#AX_USE_RPM_PACKAGING
|
||||
#AX_USE_CPPUNIT
|
||||
@@ -486,6 +579,20 @@ if ! testtag AX_CHECK_QT && \
|
||||
! testtag AX_REQUIRE_QT; then
|
||||
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | \
|
||||
to --condition AX_USE_CXX src/makefile.am
|
||||
if ! ls src/*.[ch]xx; then
|
||||
to --condition AX_USE_CXX src/${PACKAGE_NAME#lib}.hxx <<EOF
|
||||
${CHEADER}#ifndef ${PackageName^^}_HXX
|
||||
#define ${PackageName^^}_HXX
|
||||
|
||||
/** @mainpage @description
|
||||
|
||||
@readme
|
||||
|
||||
*/
|
||||
|
||||
#endif
|
||||
EOF
|
||||
fi
|
||||
elif ! test -e src/makefile.am; then
|
||||
to --condition AX_USE_CXX src/makefile.am <<EOF
|
||||
${HEADER}bin_PROGRAMS = ${PACKAGE_NAME}
|
||||
@@ -576,10 +683,17 @@ int main(int argc, char *argv[]) try {
|
||||
return 1;
|
||||
}
|
||||
EOF
|
||||
to --condition AX_USE_CXX src/${PACKAGE_NAME}.hxx <<EOF
|
||||
if ! ls src/*.[ch]xx; then
|
||||
to --condition AX_USE_CXX src/${PACKAGE_NAME#lib}.hxx <<EOF
|
||||
${CHEADER}#ifndef ${PackageName^^}_HXX
|
||||
#define ${PackageName^^}_HXX
|
||||
|
||||
/** @mainpage @description
|
||||
|
||||
@readme
|
||||
|
||||
*/
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <ui_${PACKAGE_NAME}.hxx>
|
||||
|
||||
@@ -596,7 +710,8 @@ class ${PackageName}: public QMainWindow, protected Ui::${PackageName} {
|
||||
|
||||
#endif
|
||||
EOF
|
||||
to --condition AX_USE_CXX src/${PACKAGE_NAME}.ui <<EOF
|
||||
fi
|
||||
to --condition AX_USE_CXX src/${PACKAGE_NAME#lib}.ui <<EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>${PackageName}</class>
|
||||
@@ -678,7 +793,7 @@ EOF
|
||||
to --condition AX_USE_CXX src/version.cxx <<EOF
|
||||
/*! @file
|
||||
|
||||
@id $Id\$
|
||||
@id \$Id\$
|
||||
*/
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
@@ -722,8 +837,10 @@ ${HEADER}dist_bin_SCRIPTS =
|
||||
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
EOF
|
||||
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am
|
||||
to --condition AX_BUILD_TEST test/runtests.sh < ${0%/*}/test/runtests.sh
|
||||
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition 'AX_USE_DOXYGEN|AX_USE_PERLDOC' doc/makefile.am
|
||||
if testtag AX_BUILD_TEST; then
|
||||
to test/runtests.sh < ${0%/*}/test/runtests.sh
|
||||
fi
|
||||
to --condition 'AX_BUILD_TEST|AX_USE_CPPUNIT' test/makefile.am <<EOF
|
||||
${HEADER}$(if testtag AX_USE_CXX; then
|
||||
cat <<EOF2
|
||||
@@ -731,16 +848,51 @@ AM_CPPFLAGS = -I\${top_srcdir}/src -I\${top_builddir}/src
|
||||
AM_LDFLAGS = -L\${abs_top_builddir}/src/.libs
|
||||
$(if testtag AX_USE_LIBTOOL; then
|
||||
cat <<EOF3
|
||||
LDADD = -l${PACKAGE_NAME#lib}
|
||||
LDADD = -lcppunit -l${PACKAGE_NAME#lib}
|
||||
EOF3
|
||||
fi)
|
||||
EOF2
|
||||
fi)
|
||||
|
||||
TESTS =
|
||||
check_PROGRAMS = ${PACKAGE_NAME#lib}
|
||||
TESTS = \${check_PROGRAMS}
|
||||
|
||||
${PACKAGE_NAME#lib}_SOURCES = ${PACKAGE_NAME#lib}.cxx
|
||||
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
EOF
|
||||
to --condition AX_USE_CPPUNIT --condition AX_USE_CXX test/${PACKAGE_NAME#lib}.cxx <<EOF
|
||||
${CHEADER}
|
||||
#include <cppunit/TestFixture.h>
|
||||
#include <cppunit/ui/text/TestRunner.h>
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
#include <cppunit/extensions/TestFactoryRegistry.h>
|
||||
#include <cppunit/XmlOutputter.h>
|
||||
#include <fstream>
|
||||
|
||||
/// @todo Rename DummyTest and DummyTest::dummy()
|
||||
/// @todo Write test cases
|
||||
class DummyTest: public CppUnit::TestFixture {
|
||||
public:
|
||||
void dummy() {
|
||||
}
|
||||
CPPUNIT_TEST_SUITE(DummyTest);
|
||||
CPPUNIT_TEST(dummy);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
};
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(DummyTest);
|
||||
|
||||
int main(int argc, char** argv) try {
|
||||
std::ofstream ofs((*argv+std::string(".xml")).c_str());
|
||||
CppUnit::TextUi::TestRunner runner;
|
||||
runner.setOutputter(new CppUnit::XmlOutputter(&runner.result(), ofs));
|
||||
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
|
||||
return runner.run() ? 0 : 1;
|
||||
} catch (std::exception& e) {
|
||||
std::cerr<<"***Exception: "<<e.what()<<std::endl;
|
||||
return 1;
|
||||
}
|
||||
EOF
|
||||
to --condition AX_BUILD_EXAMPLES examples/makefile.am <<EOF
|
||||
${HEADER}AM_CPPFLAGS = -I\${top_srcdir}/src -I\${top_builddir}/src
|
||||
AM_LDFLAGS = -L\${abs_top_builddir}/src/.libs
|
||||
@@ -756,28 +908,124 @@ www_DATA =
|
||||
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
EOF
|
||||
to --condition AX_USE_DOXYGEN doc/header.html.in <<EOF
|
||||
<!-- HTML header for doxygen 1.8.6-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen \$doxygenversion"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>\$projectname: \$title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>\$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="\$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="\$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="\$relpath^dynsections.js"></script>
|
||||
\$treeview
|
||||
\$search
|
||||
\$mathjax
|
||||
<link href="\$relpath^\$stylesheet" rel="stylesheet" type="text/css" />
|
||||
\$extrastylesheet
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<div id="titlearea">
|
||||
<div id="projecthead">
|
||||
<div id="projectlogo"><img alt="" src="\$relpath^\$projectlogo"/></div>
|
||||
<div id="projectname">\$projectname</span> <span id="projectnumber">\$projectnumber</div>
|
||||
<div id="projectbrief">\$projectbrief</div>
|
||||
</div>
|
||||
<nav>
|
||||
<a href="@PROJECT_URL@" target="_blank">Project Management</a>
|
||||
<a href="@SOURCE_DOWNLOAD@" target="_blank">Download</a>
|
||||
<div>\$searchbox</div>
|
||||
</nav>
|
||||
</div>
|
||||
EOF
|
||||
to --condition AX_USE_DOXYGEN doc/footer.html.in <<EOF
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
\$navpath
|
||||
<li class="footer"><a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
to --condition AX_USE_DOXYGEN doc/style.css <<EOF
|
||||
#titlearea {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-begin;
|
||||
}
|
||||
#titlearea nav {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#titlearea nav a {
|
||||
background-color: lightgray;
|
||||
border: 1px solid gray;
|
||||
color: black;
|
||||
padding: 1ex;
|
||||
margin: 0;
|
||||
}
|
||||
img, object {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
@media (max-width: 50em) {
|
||||
#navrow1, #navrow2 {
|
||||
display: block
|
||||
}
|
||||
#side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s {
|
||||
display: none;
|
||||
}
|
||||
#doc-content {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
#navrow1, #navrow2 {
|
||||
display: none;
|
||||
}
|
||||
#side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s {
|
||||
display: block
|
||||
}
|
||||
}
|
||||
EOF
|
||||
if testtag AX_USE_DOXYGEN; then
|
||||
copy doc/plantuml.jar
|
||||
fi
|
||||
if testtag AX_USE_DOXYGEN; then
|
||||
if ! checkfile doc/doxyfile.in || \
|
||||
contains doc/doxyfile.in "${rebuildfiles[@]}"; then
|
||||
run doxygen -g doc/doxyfile.in
|
||||
if test $exists -eq 0; then
|
||||
run svn add doc/doxyfile.in
|
||||
run svn propset svn:keywords "Id" doc/doxyfile.in
|
||||
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "doc/doxyfile" "${excludevcs[@]}"; then
|
||||
run ${VCS} add doc/doxyfile.in
|
||||
if test "${VCS}" = "svn"; then
|
||||
run svn propset svn:keywords "Id" doc/doxyfile.in
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
doxyreplace PROJECT_NAME "@PACKAGE_NAME@"
|
||||
doxyreplace PROJECT_NUMBER "@PACKAGE_VERSION@"
|
||||
doxyreplace PROJECT_BRIEF "@DESCRIPTION@"
|
||||
doxyreplace PROJECT_LOGO "@top_srcdir@/@PACKACE_LOGO@"
|
||||
doxyreplace PROJECT_LOGO "@top_srcdir@/@PACKAGE_LOGO@"
|
||||
doxyreplace INLINE_INHERITED_MEMB YES
|
||||
doxyreplace MULTILINE_CPP_IS_BRIEF YES
|
||||
doxyreplace TAB_SIZE 2
|
||||
doxyreplace ALIASES '"id=\\par File-ID\\n"'
|
||||
doxyadd ALIASES '"copy=\\par Copyright\\n"'
|
||||
doxyadd ALIASES '"copy=\\par Copyright by <a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a>\\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 "'
|
||||
doxyadd ALIASES '"api=\\xrefitem api \\"API Call\\" \\"\\""'
|
||||
doxyadd ALIASES '"description=@DESCRIPTION@"'
|
||||
doxyadd ALIASES '"readme=@README_HTML@"'
|
||||
doxyadd ALIASES '"author=<a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a>"'
|
||||
doxyreplace PLANTUML_JAR_PATH '"@top_srcdir@/doc/plantuml.jar"'
|
||||
doxyreplace ENABLE_PREPROCESSING YES
|
||||
doxyreplace MACRO_EXPANSION YES
|
||||
doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"'
|
||||
@@ -804,9 +1052,20 @@ if testtag AX_USE_DOXYGEN; then
|
||||
if testtag AX_BUILD_TEST AX_USE_CPPUNIT; then
|
||||
doxyadd INPUT "@top_srcdir@/test"
|
||||
fi
|
||||
if testtag AX_USE_NODEJS; then
|
||||
doxyadd INPUT "@top_srcdir@/nodejs"
|
||||
doxyadd EXCLUDE "@top_srcdir@/nodejs/node_modules"
|
||||
doxyadd EXCLUDE "@top_srcdir@/nodejs/public/javascripts/ext"
|
||||
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 *.wt *.sql'
|
||||
doxyreplace RECURSIVE YES
|
||||
doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_*"
|
||||
doxyreplace EXCLUDE_PATTERNS "moc_* uic_* qrc_* version.[ch]xx"
|
||||
doxyreplace HTML_HEADER header.html
|
||||
doxyreplace HTML_FOOTER footer.html
|
||||
doxyreplace HTML_EXTRA_STYLESHEET style.css
|
||||
doxyreplace HTML_DYNAMIC_SECTIONS YES
|
||||
doxyreplace DISABLE_INDEX NO
|
||||
doxyreplace GENERATE_TREEVIEW YES
|
||||
if testtag AX_BUILD_EXAMPLES; then
|
||||
doxyreplace EXAMPLE_PATH @top_srcdir@/examples
|
||||
fi
|
||||
@@ -815,7 +1074,6 @@ if testtag AX_USE_DOXYGEN; then
|
||||
doxyreplace SOURCE_BROWSER YES
|
||||
doxyreplace INLINE_SOURCES YES
|
||||
doxyreplace GENERATE_TESTLIST YES
|
||||
doxyreplace GENERATE_TREEVIEW NO
|
||||
doxyreplace SEARCHENGINE NO
|
||||
doxyreplace GENERATE_HTML YES
|
||||
doxyreplace GENERATE_LATEX NO
|
||||
@@ -842,7 +1100,7 @@ if testtag AX_USE_DEBIAN_PACKAGING; then
|
||||
|
||||
-- @AUTHOR@ @BUILD_DATE@
|
||||
EOF
|
||||
BUILD_DEPENDS="debhelper, subversion, pkg-config, automake, libtool, autotools-dev, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)"
|
||||
BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen, default-jre-headless|default-jre"; fi; if testtag AX_USE_PERLDOC; then echo -n ", libpod-tree-perl"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)"
|
||||
to debian/control.in <<EOF
|
||||
Source: @PACKAGE_NAME@
|
||||
Priority: extra
|
||||
@@ -913,10 +1171,14 @@ else
|
||||
fi)
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
BuildRequires: gnupg, subversion, automake, autoconf$(
|
||||
BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$(
|
||||
if testtag AX_USE_DOXYGEN; then
|
||||
echo -n ", doxygen";
|
||||
fi)
|
||||
echo -n ", doxygen, default-jre-headless";
|
||||
fi
|
||||
if testtag AX_USE_PERLDOC; then
|
||||
echo -n ", libpod-tree-perl";
|
||||
fi
|
||||
)
|
||||
%if 0%{?fedora} != 20
|
||||
$(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi)
|
||||
%endif
|
||||
@@ -1027,7 +1289,7 @@ fi
|
||||
if testtag AX_USE_SCRIPTS; then
|
||||
SUBDIRS="${SUBDIRS} scripts"
|
||||
fi
|
||||
if testtag AX_USE_DOXYGEN; then
|
||||
if testtag 'AX_USE_DOXYGEN|AX_USE_PERLDOC'; then
|
||||
SUBDIRS="${SUBDIRS} doc"
|
||||
fi
|
||||
if testtag AX_BUILD_EXAMPLES; then
|
||||
@@ -1041,12 +1303,31 @@ for d in src test scripts doc examples html; do
|
||||
SUBDIRS="${SUBDIRS} $d"
|
||||
fi
|
||||
done
|
||||
to --mode "u=rwx,g=rwx,o=rx" autogen.sh <<EOF
|
||||
#!/bin/bash -e
|
||||
if test -n "$VCS" -a -d .$VCS -a -e -x $(which ${VCS}2cl); then
|
||||
$(case "$VCS" in
|
||||
(svn) echo " ${VCS}2cl";;
|
||||
(git) echo " ${VCS}2cl > ChangeLog";;
|
||||
esac)
|
||||
fi
|
||||
aclocal
|
||||
$(if testtag AX_USE_LIBTOOL; then echo libtoolize --force; fi)
|
||||
automake -a
|
||||
autoconf
|
||||
EOF
|
||||
to makefile.am<<EOF
|
||||
${HEADER}SUBDIRS =${SUBDIRS}
|
||||
|
||||
desktopdir = \${datadir}/applications
|
||||
desktop_DATA = @PACKAGE_DESKTOP@
|
||||
dist_pkgdata_DATA = @PACKAGE_ICON@
|
||||
dist_pkgdata_DATA = @PACKAGE_ICON@ ax_check_qt.m4 bootstrap.sh \\
|
||||
resolve-rpmbuilddeps.sh autogen.sh \\
|
||||
ax_cxx_compile_stdcxx_11.m4 build-in-docker.sh \\
|
||||
build-resource-file.sh \\
|
||||
ax_init_standard_project.m4 \\
|
||||
mac-create-app-bundle.sh resolve-debbuilddeps.sh \\
|
||||
sql-to-dot.sed
|
||||
dist_doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog
|
||||
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
@@ -1065,6 +1346,12 @@ Libs: -L\${libdir} -l${PACKAGE_NAME#lib} @LDFLAGS@
|
||||
Cflags: -I\${includedir} @CPPFLAGS@
|
||||
Requires: @PKG_REQUIREMENTS@
|
||||
EOF
|
||||
to build-in-docker.conf <<EOF
|
||||
repos+=("Debian|Ubuntu-precise::::::universe")
|
||||
repos+=("Ubuntu-precise:::'deb http://archive.ubuntu.com/ubuntu precise universe'")
|
||||
envs+=("-e 'HOME=\${HOME}'")
|
||||
dirs+=("-v \${HOME}/.gnupg:\${HOME}/.gnupg:ro")
|
||||
EOF
|
||||
|
||||
#### Cleanup If Makefile Exists ####
|
||||
if test -f makefile; then
|
||||
@@ -1072,7 +1359,7 @@ if test -f makefile; then
|
||||
fi
|
||||
|
||||
#### Bootstrap Before Configure ####
|
||||
run --no-check svn2cl
|
||||
run --no-check vcs2cl
|
||||
run aclocal
|
||||
if testtag AX_USE_LIBTOOL; then run libtoolize --force; fi
|
||||
run automake -a
|
||||
@@ -1080,15 +1367,15 @@ run autoconf
|
||||
|
||||
#### Run Configure If User Requires ####
|
||||
if test "$configure" -eq 1; then
|
||||
./configure $*
|
||||
./configure $* || exit 1
|
||||
fi
|
||||
|
||||
#### Run Make If User Requires ####
|
||||
if test "$build" -eq 1; then
|
||||
make $buildtarget
|
||||
make $buildtarget || exit 1
|
||||
fi
|
||||
|
||||
#### Build In Docker If User Requires ####
|
||||
if test "$docker" -eq 1; then
|
||||
./build-in-docker.sh
|
||||
./build-in-docker.sh || exit 1
|
||||
fi
|
||||
|
@@ -2,14 +2,16 @@
|
||||
set -o errtrace
|
||||
|
||||
# build and test everything in a fresh docker installation
|
||||
mode="apt"
|
||||
img="ubuntu:latest"
|
||||
repos=()
|
||||
keys=()
|
||||
envs=()
|
||||
envs=("-e DEBIAN_FRONTEND=noninteractive" "-e DEBCONF_NONINTERACTIVE_SEEN=true")
|
||||
dirs=("-v $(pwd):/workdir")
|
||||
packages=()
|
||||
targets="all check distcheck"
|
||||
commands=()
|
||||
wait=0
|
||||
if test -e ./build-in-docker.conf; then
|
||||
# you can preconfigure the variables in file build-in-docker.conf
|
||||
# if you do so, add the file to EXTRA_DIST in makefile.am
|
||||
@@ -23,6 +25,7 @@ while test $# -gt 0; do
|
||||
echo "OPTIONS:"
|
||||
echo
|
||||
echo " -h, --help show this help"
|
||||
echo " -m, --mode <type> mode: apt or yum, default: ${mode}"
|
||||
echo " -i, --image <image> use given docker image instead of ${img}"
|
||||
echo " -t, --targets targets specify build targets, default: ${targets}"
|
||||
echo " -r, --repo <url> add given apt repository"
|
||||
@@ -31,6 +34,9 @@ while test $# -gt 0; do
|
||||
echo " -d, --dir <dir> access given directory read only"
|
||||
echo " -p, --package <pkg> install extra debian packages"
|
||||
echo " -c, --cmd <command> execute commands as root in docker"
|
||||
echo " -w, --wait on error keep docker container and wait for enter"
|
||||
echo
|
||||
echo " The option -i must be after -m, because mode sets a new default image"
|
||||
echo
|
||||
echo " The options -r -k -e -d -p -c can be repeated several times."
|
||||
echo
|
||||
@@ -58,6 +64,17 @@ while test $# -gt 0; do
|
||||
echo
|
||||
exit 0
|
||||
;;
|
||||
(-m|--mode) shift;
|
||||
mode="$1"
|
||||
case "$mode" in
|
||||
(apt) img="ubuntu:latest";;
|
||||
(yum) img="centos:latest";;
|
||||
(*)
|
||||
echo "**** ERROR: unknown mode '$1', try --help" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(-i|--image) shift;
|
||||
img="$1"
|
||||
;;
|
||||
@@ -82,6 +99,9 @@ while test $# -gt 0; do
|
||||
(-c|--cmd) shift;
|
||||
commands+=("$1")
|
||||
;;
|
||||
(-w|--wait)
|
||||
wait=1
|
||||
;;
|
||||
(*)
|
||||
echo "**** ERROR: unknown option '$1', try --help" 1>&2
|
||||
exit 1
|
||||
@@ -113,6 +133,12 @@ function traperror() {
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
if [ "$wait" -eq 1 ]; then
|
||||
echo " ... now you can access the docker container:"
|
||||
echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash"
|
||||
echo -n " ... press enter to cleanup: "
|
||||
read
|
||||
fi
|
||||
echo -n " ... cleanup docker: "
|
||||
docker rm -f "${DOCKER_ID}"
|
||||
echo "returning status: $e"
|
||||
@@ -120,6 +146,12 @@ function traperror() {
|
||||
exit $e
|
||||
fi
|
||||
done
|
||||
if [ "$wait" -eq 1 ]; then
|
||||
echo " ... now you can access the docker container:"
|
||||
echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash"
|
||||
echo -n " ... press enter to cleanup: "
|
||||
read
|
||||
fi
|
||||
echo -n " SUCCESS ... cleanup docker: "
|
||||
docker rm -f "${DOCKER_ID}"
|
||||
exit 0
|
||||
@@ -151,27 +183,55 @@ function ifthenelse() {
|
||||
set -x
|
||||
|
||||
docker pull $img
|
||||
DOCKER_ID=$(docker run -d ${dirs[@]} ${envs[@]} -w /workdir $img sleep infinity)
|
||||
DOCKER_ID=$(docker run -d ${dirs[@]} ${envs[@]} -e HOME="${HOME}" -w /workdir $img sleep infinity)
|
||||
trap 'traperror '"${DOCKER_ID}"' "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' SIGINT INT TERM EXIT
|
||||
docker exec ${DOCKER_ID} apt-get update
|
||||
docker exec ${DOCKER_ID} apt-get upgrade -y
|
||||
docker exec ${DOCKER_ID} apt-get install -y python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release || \
|
||||
docker exec ${DOCKER_ID} apt-get install -y software-properties-common apt-transport-https dpkg-dev lsb-release || \
|
||||
docker exec ${DOCKER_ID} apt-get install -y python-software-properties apt-transport-https dpkg-dev lsb-release;
|
||||
for repo in "${repos[@]}"; do
|
||||
ifthenelse "${repo}" "apt-add-repository ARG"
|
||||
done
|
||||
for key in "${keys[@]}"; do
|
||||
wget -O- "$key" \
|
||||
| docker exec -i ${DOCKER_ID} apt-key add -
|
||||
done
|
||||
docker exec ${DOCKER_ID} apt-get update
|
||||
for package in "${packages[@]}"; do
|
||||
ifthenelse "${package}" "apt-get install -y --force-yes ARG"
|
||||
done
|
||||
for command in "${commands[@]}"; do
|
||||
ifthenelse "${command}" "ARG"
|
||||
done
|
||||
docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh
|
||||
docker exec -u $(id -u) ${DOCKER_ID} svn upgrade || true
|
||||
docker exec -u $(id -u) ${DOCKER_ID} ./bootstrap.sh -t "${targets}"
|
||||
case $mode in
|
||||
(apt)
|
||||
OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends'
|
||||
for f in 'libpam-systemd:amd64' 'policykit*' 'colord'; do
|
||||
docker exec ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences"
|
||||
docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences"
|
||||
docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences"
|
||||
done
|
||||
docker exec ${DOCKER_ID} apt-get update ${OPTIONS}
|
||||
docker exec ${DOCKER_ID} apt-get upgrade ${OPTIONS}
|
||||
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release || \
|
||||
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release || \
|
||||
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release;
|
||||
for repo in "${repos[@]}"; do
|
||||
ifthenelse "${repo}" "apt-add-repository ARG"
|
||||
done
|
||||
for key in "${keys[@]}"; do
|
||||
wget -O- "$key" \
|
||||
| docker exec -i ${DOCKER_ID} apt-key add -
|
||||
done
|
||||
docker exec ${DOCKER_ID} apt-get update ${OPTIONS}
|
||||
for package in "${packages[@]}"; do
|
||||
ifthenelse "${package}" "apt-get install ${OPTIONS} ARG"
|
||||
done
|
||||
for command in "${commands[@]}"; do
|
||||
ifthenelse "${command}" "ARG"
|
||||
done
|
||||
docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh
|
||||
;;
|
||||
(yum)
|
||||
./bootstrap.sh -t dist
|
||||
if [[ "$img" =~ "centos" ]]; then
|
||||
docker exec ${DOCKER_ID} yum install -y redhat-lsb
|
||||
docker exec -i ${DOCKER_ID} bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo' <<EOF
|
||||
[WandiscoSVN]
|
||||
name=Wandisco SVN Repo
|
||||
EOF
|
||||
docker exec -i ${DOCKER_ID} bash -c 'echo "baseurl=http://opensource.wandisco.com/centos/$(lsb_release -sr | sed '"'"'s,[^0-9].*,,'"'"')/svn-'$(svn --version | head -1 | sed 's,[^0-9]*\([0-9]\+\.[0-9]\+\).*,\1,')'/RPMS/$(uname -i)/" >> /etc/yum.repos.d/wandisco-svn.repo'
|
||||
docker exec -i ${DOCKER_ID} bash -c 'cat >> /etc/yum.repos.d/wandisco-svn.repo' <<EOF
|
||||
enabled=1
|
||||
gpgcheck=0
|
||||
EOF
|
||||
fi
|
||||
docker exec ${DOCKER_ID} yum install -y rpm-build
|
||||
docker exec ${DOCKER_ID} groupadd -g $(id -g) build
|
||||
docker exec ${DOCKER_ID} useradd -g $(id -g) -u $(id -u) build
|
||||
docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh || true
|
||||
;;
|
||||
esac
|
||||
docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}"
|
||||
|
@@ -43,6 +43,7 @@ if test -z "$MINGW"; then
|
||||
AX_PKG_REQUIRE([pcsc], [libpcsclite], [pcsclite.h])
|
||||
AX_PKG_REQUIRE([pkcs11], [p11-kit-1], [pkcs11.h], [p11-kit libpkcs11-helper-1])
|
||||
AX_PKG_REQUIRE([ssl], [libssl], [openssl/crypto.h], [openssl])
|
||||
AX_PKG_REQUIRE([crypto], [libcrypto], [openssl/crypto.h], [openssl])
|
||||
else
|
||||
LDFLAGS+=" -lwinscard -lssl -lcrypto"
|
||||
fi
|
||||
|
8
doc/footer.html.in
Normal file
8
doc/footer.html.in
Normal file
@@ -0,0 +1,8 @@
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer"><a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
33
doc/header.html.in
Normal file
33
doc/header.html.in
Normal file
@@ -0,0 +1,33 @@
|
||||
<!-- HTML header for doxygen 1.8.6-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<div id="titlearea">
|
||||
<div id="projecthead">
|
||||
<div id="projectlogo"><img alt="" src="$relpath^$projectlogo"/></div>
|
||||
<div id="projectname">$projectname</span> <span id="projectnumber">$projectnumber</div>
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</div>
|
||||
<nav>
|
||||
<a href="@PROJECT_URL@" target="_blank">Project Management</a>
|
||||
<a href="@SOURCE_DOWNLOAD@" target="_blank">Download</a>
|
||||
<div>$searchbox</div>
|
||||
</nav>
|
||||
</div>
|
BIN
doc/plantuml.jar
Normal file
BIN
doc/plantuml.jar
Normal file
Binary file not shown.
38
doc/style.css
Normal file
38
doc/style.css
Normal file
@@ -0,0 +1,38 @@
|
||||
#titlearea {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-begin;
|
||||
}
|
||||
#titlearea nav {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#titlearea nav a {
|
||||
background-color: lightgray;
|
||||
border: 1px solid gray;
|
||||
color: black;
|
||||
padding: 1ex;
|
||||
margin: 0;
|
||||
}
|
||||
img, object {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
@media (max-width: 50em) {
|
||||
#navrow1, #navrow2 {
|
||||
display: block
|
||||
}
|
||||
#side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s {
|
||||
display: none;
|
||||
}
|
||||
#doc-content {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
#navrow1, #navrow2 {
|
||||
display: none;
|
||||
}
|
||||
#side-nav, #splitbar, .ui-resizable-handle ui-resizable-e, .ui-resizable-handle ui-resizable-s {
|
||||
display: block
|
||||
}
|
||||
}
|
@@ -75,7 +75,7 @@ cd ${oldpath}
|
||||
|
||||
# Step 4: if necessary, install qt_menu.nib
|
||||
if test -n "${QTDIR}"; then
|
||||
MENU_NIB=$(find ${QTDIR} -name .svn -prune -o -name qt_menu.nib -print \
|
||||
MENU_NIB=$(find ${QTDIR} -name .svn -o -name .git -prune -o -name qt_menu.nib -print \
|
||||
| head -1)
|
||||
if test -e "${MENU_NIB}"; then
|
||||
rsync -r "${MENU_NIB}" ${1}/Contents/Resources/
|
||||
@@ -100,4 +100,4 @@ else
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
9
makefile_test.inc.am
Normal file
9
makefile_test.inc.am
Normal file
@@ -0,0 +1,9 @@
|
||||
## @id $Id$
|
||||
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
%.gcda: %
|
||||
gcov $<
|
||||
|
||||
CLEANFILES += ${CLEANFILES} ${TEST:%=%.gcno} ${TEST:%=%.gcda} *.gcov
|
@@ -16,7 +16,7 @@ if test -n "${SCHROOTNAME}"; then
|
||||
SUDO="schroot -c "${SCHROOTNAME}" -u root -d / --"
|
||||
else
|
||||
DO=""
|
||||
if grep -q '/docker/' /proc/1/cgroup; then
|
||||
if grep -q '/docker' /proc/1/cgroup; then
|
||||
SUDO=""
|
||||
else
|
||||
SUDO="sudo"
|
||||
|
@@ -12,19 +12,30 @@
|
||||
|
||||
SCHROOTNAME="$1"
|
||||
PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac)
|
||||
PKGCONFIGS="${2:-epel-release}" # packages to configure yum
|
||||
|
||||
if test -n "${SCHROOTNAME}"; then
|
||||
schroot -c ${SCHROOTNAME} -- ./bootstrap.sh -t dist
|
||||
FILES=$(LANG= schroot -c ${SCHROOTNAME} -- rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p')
|
||||
if test -n "${FILES}"; then
|
||||
FIRST=$(echo "${FILES}" | egrep -o "${PKGCONFIGS// /|}")
|
||||
if test -n "${FIRST}"; then
|
||||
schroot -c ${SCHROOTNAME} -u root -- yum install -y ${FIRST} || \
|
||||
schroot -c ${SCHROOTNAME} -u root -- zypper install -y ${FIRST} || \
|
||||
schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FIRST}
|
||||
fi
|
||||
schroot -c ${SCHROOTNAME} -u root -- yum install -y ${FILES} || \
|
||||
schroot -c ${SCHROOTNAME} -u root -- zypper install -y ${FILES} || \
|
||||
schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FILES}
|
||||
schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FILES}
|
||||
fi
|
||||
else
|
||||
./bootstrap.sh -t dist
|
||||
FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p')
|
||||
if test -n "${FILES}"; then
|
||||
FIRST=$(echo "${FILES}" | egrep -o "${PKGCONFIGS// /|}")
|
||||
if test -n "${FIRST}"; then
|
||||
yum install -y ${FIRST} || \
|
||||
zypper install -y ${FIRST} || \
|
||||
dnf install -y ${FIRST}
|
||||
fi
|
||||
yum install -y ${FILES} || \
|
||||
zypper install -y ${FILES} || \
|
||||
dnf install -y ${FILES}
|
||||
|
@@ -11,6 +11,11 @@ H;$!d;$x
|
||||
# remove all single-line comment lines
|
||||
s/\n--[^\n]*//g
|
||||
|
||||
# encode html entities
|
||||
s/&/\&##SEMICOLON##/g
|
||||
s/</\<##SEMICOLON##/g
|
||||
s/>/\>##SEMICOLON##/g
|
||||
|
||||
# reduce spaces
|
||||
s,\t\| \+, ,g
|
||||
|
||||
@@ -21,7 +26,7 @@ s,\t\| \+, ,g
|
||||
s,\n\+,\n,g
|
||||
|
||||
# remove unknown commands
|
||||
s,\(;\|\n\) *\(DELIMITER\|USE\|DROP\|CREATE[ \n]\+DATABASE\)[ \n]\+[^;]*;\+,,ig
|
||||
s,\(;\|\n\) *\(INSERT\|DELIMITER\|USE\|DROP\|CREATE[ \n]\+DATABASE\)[ \n]\+[^;]*;\+,,ig
|
||||
|
||||
# convert special characters within quotes
|
||||
:a;s/^\(\([^"]*"[^",]*"\)*[^"]*"[^"]*\),\([^"]*".*\)/\1\##COMMA##\3/g;ta
|
||||
@@ -34,17 +39,18 @@ h
|
||||
s,.*\(create[ \n]\+table[^;]*;\).*,\1,ig
|
||||
|
||||
# start html table node
|
||||
s|CREATE[ \n]\+TABLE[ \n]\+\(if[ \n]\+not[ \n]\+exists[ \n]\+\)\?`\?\(\w\+\)`\?| \2\n [shape=none, margin=0, label=<\n <table bgcolor="#dddddd">\n <tr><td bgcolor="#ddddff" colspan="4"><b>\2</b></td></tr>|ig
|
||||
s|CREATE[ \n]\+TABLE[ \n]\+\(IF[ \n]\+NOT[ \n]\+EXISTS[ \n]\+\)\?`\?\(\w\+\)`\?| \2\n [shape=none, margin=0, label=<\n <table bgcolor="#dddddd">\n <tr><td bgcolor="#ddddff" colspan="4"><b>\2</b></td></tr>|ig
|
||||
|
||||
# remove key definitions
|
||||
s/[),][\n ]*\(PRIMARY[ \n]\+\)\?KEY[ \n]\+[^(]*([^)]*)//gi
|
||||
s/[),][\n ]*\(\(UNIQUE\|PRIMARY\)[ \n]\+\)\?KEY[ \n]\+[^(]*([^)]*)//gi
|
||||
|
||||
# move foreign keys as relation to the end
|
||||
:b;s/\(\w\+\)\([^;]*\)FOREIGN[\n ]\+KEY[ \n]*([ \n]*`\?\([a-z]\+\)`\?[ \n]*)[ \n]*REFERENCES[ \n]*`\?\([a-z]\+\)`\?[ \n]*([ \n]*`\?\([a-z]\+\)`\?[ \n]*)[ \n]*\([^,)]*\)\([,)].*\)/\1\2\7\n \1:\3 -> \4:\5 [label="\6"]##SEMICOLON##/ig;tb
|
||||
|
||||
# create table rows
|
||||
s|[(,][ \n]*`\?\(\w\+\)`\?[ \n]\+\(\w\+\(([^)]\+)\)\?\)[ \n]*\([^,)]*\)[ \n]\+COMMENT[ \n]*["']\([^"']*\)["'][ \n]*|\n <tr><td align="left" port="\1"><b>\1</b></td><td align="left">\2</td><td align="left">\4</td><td align="left">\5</td></tr>|gi
|
||||
s|[(,][ \n]*`\?\(\w\+\)`\?[ \n]\+\(\w\+\(([^)]\+)\)\?\)[ \n]*\([^,)]*\)|\n <tr><td align="left" port="\1"><b>\1</b></td><td align="left">\2</td><td align="left">\4</td></tr>|g
|
||||
s|[(,][ \n]*`\?\(\w\+\)`\?[ \n]\+\(\w\+\(([^)]\+)\)\?\)[ \n]*\([^,)]*\)|\n <tr><td align="left" port="\1"><b>\1</b></td><td align="left">\2</td><td align="left">\4</td><td></td></tr>|g
|
||||
# extract comment
|
||||
s|\(<td\( *\w*="\w*"\)* *>[^<]*\)COMMENT[ \n]\+["']\([^"']*\)["']\([^<]*</td>\)<td></td>|\1\4<td align="left">\3</td>|g
|
||||
|
||||
# add line breaks for long lines
|
||||
s|\(<td[^>]*>[^<]\{30,40\}\)[ \n]\+\([^<]\{20,\}</td>\)|\1<br/>\2|g
|
||||
|
Reference in New Issue
Block a user