updated build system

master
Marc Wäckerlin 8 years ago
parent e632f698b7
commit 3b535db748
  1. 2
      COPYING
  2. 536
      ChangeLog
  3. 2
      INSTALL
  4. 4
      ax_cxx_compile_stdcxx_11.m4
  5. 178
      ax_init_standard_project.m4
  6. 589
      bootstrap.sh
  7. 18
      build-in-docker.sh
  8. 8
      doc/footer.html.in
  9. 33
      doc/header.html.in
  10. BIN
      doc/plantuml.jar
  11. 38
      doc/style.css
  12. 2
      resolve-debbuilddeps.sh
  13. 2
      scripts/bootstrap.sh
  14. 2
      scripts/build-in-docker.sh

@ -1 +1 @@
/usr/share/automake-1.14/COPYING
/usr/share/automake-1.15/COPYING

@ -1,423 +1,637 @@
2016-11-25 15:05
* [r113] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh:
improved nodejs build on old systems
2016-11-25 11:37
* [r112] scripts/bootstrap.sh, scripts/build-in-docker.sh:
fix path creation bug
2016-11-22 15:57
* [r111] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
improved changelog; support bootstrap of node.js + express.js
project
2016-11-19 12:00
* [r110] scripts/bootstrap.sh:
java is required for doxygen, e.g. on wily
2016-10-17 14:25
* [r109] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
improved debian changelog; fixed spare new line after least
version number
2016-09-14 14:58
* [r108] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
new possibility to generate perldoc
2016-09-12 06:50
* [r107] scripts/ax_init_standard_project.m4:
add LICENSE and COPYING; fix workaround for plantuml
2016-09-08 08:36
* [r106] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
plantuml now also works for old doxygen versions
2016-09-07 21:00
* [r105] scripts/bootstrap.sh:
optimize documentation layout
2016-09-07 20:35
* [r104] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
allow plantuml with doxygen < 1.8.11
2016-09-04 19:13
* [r103] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
fixed documentation problem: startuml is now part of doxygen
2016-09-03 17:35
* [r102] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
bugfixes in uml documentation geeration
2016-09-02 14:31
* [r101] scripts/ax_init_standard_project.m4:
bugfix
2016-09-02 12:51
* [r100] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/doc[ADD], scripts/doc/plantuml.jar[ADD]:
added support for PlantUML in Doxygen using AX_USE_PLANTUML and
in doxygen use @startuml{image.png}...@enduml
2016-09-02 08:39
* [r99] scripts/resolve-debbuilddeps.sh:
fix docker build with new docker release
2016-09-01 14:03
* [r98] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
first step to support nodejs
2016-08-26 14:18
* [r97] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
updated documentation build
2016-08-25 21:42
* [r96] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
documentation improved
2016-08-25 15:00
* [r95] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
better doxygen
2016-08-24 14:54
* [r94] scripts/bootstrap.sh:
create dummy test file
2016-08-19 16:07
* [r93] scripts/ax_cxx_compile_stdcxx_11.m4:
fix C++11 detection
2016-08-19 14:54
* [r92] ax_cxx_compile_stdcxx_11.m4, ax_init_standard_project.m4,
bootstrap.sh, build-in-docker.sh, makefile_test.inc.am[ADD],
resolve-rpmbuilddeps.sh, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh, scripts/makefile_test.inc.am[ADD],
sql-to-dot.sed:
prepare to include makefiles
2016-08-17 07:25
* [r91] ax_cxx_compile_stdcxx_11.m4,
scripts/ax_cxx_compile_stdcxx_11.m4,
scripts/ax_init_standard_project.m4:
allow c++14
2016-07-29 19:06
* [r90] scripts/build-in-docker.sh:
pass HOME
2016-07-29 15:21
* [r89] scripts/sql-to-dot.sed:
improved sql documentation
2016-05-31 13:47
* [r88] scripts/bootstrap.sh:
abort on error
2016-05-13 15:03
* [r87] scripts/bootstrap.sh, scripts/resolve-rpmbuilddeps.sh:
fix project logo in doxygen; allow to add repositories in rpm
build
2016-05-11 13:18
* [r86] bootstrap.sh, scripts/bootstrap.sh:
fix logo in doxygen
2016-05-10 08:26
* [r85] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.conf[ADD], scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
set ARCH variable to system architecture
2016-05-05 10:10
* ChangeLog, autogen.sh, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh, mac-create-app-bundle.sh,
* [r84] ChangeLog, autogen.sh[ADD], ax_init_standard_project.m4,
bootstrap.sh, build-in-docker.sh, mac-create-app-bundle.sh,
resolve-rpmbuilddeps.sh, scripts/ax_init_standard_project.m4,
scripts/build-in-docker.sh, scripts/makefile.am: updated build
system
scripts/build-in-docker.sh, scripts/makefile.am[ADD]:
updated build system
2016-04-22 08:27
* scripts/build-in-docker.sh: basic support for centos rpm docker
build
* [r83] scripts/build-in-docker.sh:
basic support for centos rpm docker build
2016-04-04 14:55
* scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/makefile.am, scripts/resolve-rpmbuilddeps.sh: after
migration to new svn server
* [r82] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/makefile.am[DEL], scripts/resolve-rpmbuilddeps.sh:
after migration to new svn server
2016-02-25 08:58 marc
* scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
* [r81] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-in-docker.sh, scripts/mac-create-app-bundle.sh:
support git and subversion; new possibility to set x_least_fix to
a fix value without automated increase
2016-02-24 11:43 marc
* scripts/ax_init_standard_project.m4: add directory variables
* [r80] scripts/ax_init_standard_project.m4:
add directory variables
2016-01-20 15:56 marc
* scripts/ax_init_standard_project.m4, scripts/build-in-docker.sh:
* [r79] scripts/ax_init_standard_project.m4,
scripts/build-in-docker.sh:
build improvements
2016-01-12 00:24 marc
* ChangeLog, build-in-docker.sh, resolve-debbuilddeps.sh,
scripts/build-in-docker.sh: build in docker with new option
--wait
* [r78] ChangeLog, build-in-docker.sh, resolve-debbuilddeps.sh,
scripts/build-in-docker.sh:
build in docker with new option --wait
2015-12-18 16:05 marc
* build-in-docker.sh: need upgrade on sid
* [r77] build-in-docker.sh:
need upgrade on sid
2015-12-14 12:35 marc
* scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh:
* [r76] scripts/build-in-docker.sh,
scripts/resolve-debbuilddeps.sh:
merged changes
2015-12-14 12:29 marc
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
* [r75] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh, resolve-debbuilddeps.sh,
scripts/build-in-docker.sh, scripts/resolve-debbuilddeps.sh:
better build in docker
2015-12-04 08:36 marc
* scripts/build-in-docker.sh: distinguish by hw arch
* [r74] scripts/build-in-docker.sh:
distinguish by hw arch
2015-12-04 07:06 marc
* scripts/build-in-docker.sh: build all in docker
* [r73] scripts/build-in-docker.sh:
build all in docker
2015-12-02 15:58 marc
* README, scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/resolve-debbuilddeps.sh: enhanced build in docker
* [r72] README, scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/resolve-debbuilddeps.sh:
enhanced build in docker
2015-11-25 15:25 marc
* scripts/build-in-docker.sh: updates
* [r71] scripts/build-in-docker.sh:
updates
2015-11-20 15:14 marc
* scripts/ax_init_standard_project.m4: updated
* [r70] scripts/ax_init_standard_project.m4:
updated
2015-11-16 12:37 marc
* doc/doxyfile.in: SVG must not be interactive for embedding in
redmine
* [r69] doc/doxyfile.in:
SVG must not be interactive for embedding in redmine
2015-11-13 16:06 marc
* ChangeLog, ax_init_standard_project.m4,
bootstrap-build-environment.desktop.in, bootstrap.sh,
* [r68] ChangeLog, ax_init_standard_project.m4,
bootstrap-build-environment.desktop.in[ADD], bootstrap.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
sql-to-dot.sed: fixed icon and desktop file
sql-to-dot.sed:
fixed icon and desktop file
2015-11-11 16:03 marc
* scripts/ax_init_standard_project.m4, scripts/bootstrap.sh: added
icon and desktop file
* [r67] scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
added icon and desktop file
2015-11-11 12:45 marc
* ChangeLog, README, bootstrap.sh, resolve-debbuilddeps.sh,
scripts/bootstrap.sh, scripts/test, scripts/test/runtests.sh,
sql-to-dot.sed: updated
* [r66] ChangeLog, README, bootstrap.sh, resolve-debbuilddeps.sh,
scripts/bootstrap.sh, scripts/test[ADD],
scripts/test/runtests.sh[ADD], sql-to-dot.sed[ADD]:
updated
2015-11-10 15:52 marc
* scripts/sql-to-dot.sed: making it more robust
* [r65] scripts/sql-to-dot.sed:
making it more robust
2015-11-09 15:13 marc
* scripts/bootstrap.sh, scripts/resolve-debbuilddeps.sh,
scripts/sql-to-dot.sed: better documentation
* [r64] scripts/bootstrap.sh, scripts/resolve-debbuilddeps.sh,
scripts/sql-to-dot.sed:
better documentation
2015-11-07 10:47 marc
* bootstrap.sh, scripts/bootstrap.sh: there is no qt4-default
* [r63] bootstrap.sh, scripts/bootstrap.sh:
there is no qt4-default
2015-11-07 09:23 marc
* bootstrap.sh, scripts/bootstrap.sh: there is no qt4-default
* [r62] bootstrap.sh, scripts/bootstrap.sh:
there is no qt4-default
2015-11-07 00:20 marc
* README: set Section
* [r61] README:
set Section
2015-11-07 00:11 marc
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh: fixed
debian readme issue
* [r60] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh:
fixed debian readme issue
2015-11-06 15:34 marc
* scripts/sql-to-dot.sed: new script to convert sql schema files
into graphviz dot
* [r59] scripts/sql-to-dot.sed[ADD]:
new script to convert sql schema files into graphviz dot
2015-11-05 15:59 marc
* README, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh: some more improvements plus creation of
trunk branches and tags
* [r58] README, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
some more improvements plus creation of trunk branches and tags
2015-11-05 09:47 marc
* ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh, resolve-debbuilddeps.sh: updated build system
* [r57] ChangeLog, ax_init_standard_project.m4, bootstrap.sh,
build-in-docker.sh[ADD], resolve-debbuilddeps.sh:
updated build system
2015-11-04 10:36 marc
* scripts/bootstrap.sh, scripts/build-in-docker.sh,
scripts/makefile.am, scripts/resolve-debbuilddeps.sh: new feature
./build-in-docker.sh to start a temporary ubuntu docker container
where the project is built and tested in$
* [r56] scripts/bootstrap.sh, scripts/build-in-docker.sh[ADD],
scripts/makefile.am, scripts/resolve-debbuilddeps.sh:
new feature ./build-in-docker.sh to start a temporary ubuntu
docker container where the project is built and tested in$
2015-11-04 08:52 marc
* README, bootstrap.sh, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh: the new tag AX_BUILD_TEST allows to use
tests without the need of AX_USE_CPPUNIT, so only AX_BUILD_TEST
can be used for testing scripts. AX_USE_CPPUNIT calls
AX_BUILD_TEST, so you don't need to specify both
* [r55] README, bootstrap.sh, scripts/ax_init_standard_project.m4,
scripts/bootstrap.sh:
the new tag AX_BUILD_TEST allows to use tests without the need of
AX_USE_CPPUNIT, so only AX_BUILD_TEST can be used for testing
scripts. AX_USE_CPPUNIT calls AX_BUILD_TEST, so you don't need to
specify both
2015-11-03 23:01 marc
* debian/control.in: set section
* [r54] debian/control.in:
set section
2015-11-03 22:02 marc
* AUTHORS: AUTHOR updated to new homepage
* [r53] AUTHORS:
AUTHOR updated to new homepage
2015-11-03 15:38 marc
* AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README, aclocal.m4,
ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4,
ax_init_standard_project.m4, bootstrap-build-environment.spec.in,
bootstrap.sh, build-resource-file.sh, configure.ac, debian,
debian/changelog.in, debian/compat, debian/control.in,
debian/docs, debian/rules, doc, doc/doxyfile.in, doc/makefile.am,
mac-create-app-bundle.sh, makefile.am, resolve-debbuilddeps.sh,
resolve-rpmbuilddeps.sh, scripts, scripts/ax_check_qt.m4,
scripts/ax_cxx_compile_stdcxx_11.m4,
scripts/ax_init_standard_project.m4, scripts/bootstrap.sh,
scripts/build-resource-file.sh, scripts/mac-create-app-bundle.sh,
scripts/makefile.am, scripts/resolve-debbuilddeps.sh,
scripts/resolve-rpmbuilddeps.sh: initial release for packaging
* [r52] AUTHORS[ADD], COPYING[ADD], ChangeLog[ADD], INSTALL[ADD],
NEWS[ADD], README[ADD], aclocal.m4[DEL], ax_check_qt.m4,
ax_cxx_compile_stdcxx_11.m4, ax_init_standard_project.m4,
bootstrap-build-environment.spec.in[ADD], bootstrap.sh,
build-resource-file.sh, configure.ac[ADD], debian[ADD],
debian/changelog.in[ADD], debian/compat[ADD],
debian/control.in[ADD], debian/docs[ADD], debian/rules[ADD],
doc[ADD], doc/doxyfile.in[ADD], doc/makefile.am[ADD],
mac-create-app-bundle.sh, makefile.am[ADD],
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh, scripts[ADD],
scripts/ax_check_qt.m4[CPY],
scripts/ax_cxx_compile_stdcxx_11.m4[CPY],
scripts/ax_init_standard_project.m4[CPY],
scripts/bootstrap.sh[CPY], scripts/build-resource-file.sh[CPY],
scripts/mac-create-app-bundle.sh[CPY], scripts/makefile.am[ADD],
scripts/resolve-debbuilddeps.sh[CPY],
scripts/resolve-rpmbuilddeps.sh[CPY]:
initial release for packaging
2015-11-03 15:06 marc
* ax_init_standard_project.m4, resolve-debbuilddeps.sh: can be
built in fresh docker container
* [r51] ax_init_standard_project.m4, resolve-debbuilddeps.sh:
can be built in fresh docker container
2015-11-03 15:05 marc
* bootstrap.sh, resolve-debbuilddeps.sh: some improvements
* [r50] bootstrap.sh, resolve-debbuilddeps.sh:
some improvements
2015-11-03 09:22 marc
* resolve-debbuilddeps.sh: except for variants, install al at once
(it's faster); sudo or not is the problem of the caller; also
cleanup debian/control if created (importan, otherwise with sudo,
it belongs to root)
* [r49] resolve-debbuilddeps.sh:
except for variants, install al at once (it's faster); sudo or
not is the problem of the caller; also cleanup debian/control if
created (importan, otherwise with sudo, it belongs to root)
2015-11-03 09:22 marc
* ax_check_qt.m4, bootstrap.sh, resolve-debbuilddeps.sh: except for
variants, install al at once (it's faster); sudo or not is the
problem of the caller; also cleanup debian/control if created
(importan, otherwise with sudo, it belongs to root)
* [r48] ax_check_qt.m4, bootstrap.sh, resolve-debbuilddeps.sh:
except for variants, install al at once (it's faster); sudo or
not is the problem of the caller; also cleanup debian/control if
created (importan, otherwise with sudo, it belongs to root)
2015-10-10 18:05 marc
* ax_init_standard_project.m4, bootstrap.sh: no search index when
embedded in redmine
* [r47] ax_init_standard_project.m4, bootstrap.sh:
no search index when embedded in redmine
2015-10-10 10:44 marc
* ax_init_standard_project.m4, bootstrap.sh: updated extra dists
* [r46] ax_init_standard_project.m4, bootstrap.sh:
updated extra dists
2015-10-07 07:42 marc
* ax_init_standard_project.m4: disable qt debug
* [r45] ax_init_standard_project.m4:
disable qt debug
2015-09-23 08:11 marc
* ax_check_qt.m4, ax_init_standard_project.m4,
resolve-rpmbuilddeps.sh: sereveral improvements, also now
possibility to use fixed version minor ba adding a diff for least
* [r44] ax_check_qt.m4, ax_init_standard_project.m4,
resolve-rpmbuilddeps.sh:
sereveral improvements, also now possibility to use fixed version
minor ba adding a diff for least
2015-09-09 15:01 marc
* ax_check_qt.m4, bootstrap.sh, build-resource-file.sh,
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh: new features
and fixes
* [r43] ax_check_qt.m4, bootstrap.sh, build-resource-file.sh[ADD],
resolve-debbuilddeps.sh, resolve-rpmbuilddeps.sh[ADD]:
new features and fixes
2015-09-04 13:05 marc
* resolve-builddeps.sh~: resolve build dependencies
* [r42] resolve-builddeps.sh~[DEL]:
resolve build dependencies
2015-09-04 13:04 marc
* ax_init_standard_project.m4, bootstrap.sh, resolve-builddeps.sh~,
resolve-debbuilddeps.sh: resolve build dependencies
* [r41] ax_init_standard_project.m4, bootstrap.sh,
resolve-builddeps.sh~[ADD], resolve-debbuilddeps.sh[ADD]:
resolve build dependencies
2015-08-31 12:30 marc
* bootstrap.sh: fixed share path in debian packages
* [r40] bootstrap.sh:
fixed share path in debian packages
2015-08-27 13:03 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh: fixes
from several projects
* [r39] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
fixes from several projects
2015-08-20 08:00 marc
* ax_init_standard_project.m4, bootstrap.sh: improvements mainly
for rpm plus including make with flexible targets
* [r38] ax_init_standard_project.m4, bootstrap.sh:
improvements mainly for rpm plus including make with flexible
targets
2015-08-19 22:44 marc
* ax_init_standard_project.m4, bootstrap.sh: some small fixes for
prinary initialization - to do: create root makefile.am after
configure.ac is setup
* [r37] ax_init_standard_project.m4, bootstrap.sh:
some small fixes for prinary initialization - to do: create root
makefile.am after configure.ac is setup
2015-07-31 10:44 marc
* ax_init_standard_project.m4, bootstrap.sh: fixed version number
and rpm issues
* [r36] ax_init_standard_project.m4, bootstrap.sh:
fixed version number and rpm issues
2015-07-30 14:13 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh: lot of
improvements, i.e. for compiling rpms
* [r35] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
lot of improvements, i.e. for compiling rpms
2015-07-23 12:16 marc
* ax_check_qt.m4, ax_init_standard_project.m4: use ${PKG_CONFOG}
* [r34] ax_check_qt.m4, ax_init_standard_project.m4:
use ${PKG_CONFOG}
2015-07-23 12:02 marc
* ax_init_standard_project.m4, bootstrap.sh: typo in filename
* [r33] ax_init_standard_project.m4, bootstrap.sh:
typo in filename
2015-07-22 05:29 marc
* bootstrap.sh: added rpm spec file template
* [r32] bootstrap.sh:
added rpm spec file template
2015-07-21 13:44 marc
* ax_check_qt.m4, ax_init_standard_project.m4: improvements, mainly
for mingw
* [r31] ax_check_qt.m4, ax_init_standard_project.m4:
improvements, mainly for mingw
2015-07-16 13:54 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
mac-create-app-bundle.sh: improvements, mainly for mac
* [r30] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh,
mac-create-app-bundle.sh[ADD]:
improvements, mainly for mac
2015-07-13 14:57 marc
* ax_init_standard_project.m4: improve package detection
* [r29] ax_init_standard_project.m4:
improve package detection
2015-07-13 12:18 marc
* bootstrap.sh: some bugfixes
* [r28] bootstrap.sh:
some bugfixes
2015-07-13 08:58 marc
* bootstrap.sh: some bugfixes
* [r27] bootstrap.sh:
some bugfixes
2015-07-09 12:22 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh: some
qt improvements
* [r26] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
some qt improvements
2015-07-02 13:11 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh: new qt
features: language and resources
* [r25] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
new qt features: language and resources
2015-07-01 09:13 marc
* AUTHORS, ax_init_standard_project.m4, bootstrap.sh: updates, e.g.
AUTHORS
* [r24] AUTHORS[DEL], ax_init_standard_project.m4, bootstrap.sh:
updates, e.g. AUTHORS
2015-06-24 09:26 marc
* ax_init_standard_project.m4: even more support for weird and
sloppy packages
* [r23] ax_init_standard_project.m4:
even more support for weird and sloppy packages
2015-06-23 08:59 marc
* ax_init_standard_project.m4: even more improved way to find the
necessary include path
* [r22] ax_init_standard_project.m4:
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
* [r21] ax_init_standard_project.m4:
even more improved way to find the necessary include path
2015-06-23 08:24 marc
* ax_init_standard_project.m4: improved way to find the necessary
include path, even if module writers did a sloppy job
* [r20] ax_init_standard_project.m4:
improved way to find the necessary include path, even if module
writers did a sloppy job
2015-05-18 09:21 marc
* ax_init_standard_project.m4: fix build on mac, fix wrong
AX_PKG_CHECK
* [r19] ax_init_standard_project.m4:
fix build on mac, fix wrong AX_PKG_CHECK
2015-05-18 09:10 marc
* ax_init_standard_project.m4: bugfix in AX_PKG_REQUIRE
* [r18] ax_init_standard_project.m4:
bugfix in AX_PKG_REQUIRE
2015-05-18 09:03 marc
* ax_init_standard_project.m4: bugfix in AX_PKG_REQUIRE
* [r17] ax_init_standard_project.m4:
bugfix in AX_PKG_REQUIRE
2015-05-13 13:36 marc
* ax_init_standard_project.m4: improved check for required packages
* [r16] ax_init_standard_project.m4:
improved check for required packages
2015-05-12 13:33 marc
* ax_check_qt.m4, ax_init_standard_project.m4: allow package
versions in package config dependencies
* [r15] ax_check_qt.m4, ax_init_standard_project.m4:
allow package versions in package config dependencies
2015-05-09 09:06 marc
* ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh: fixed
dependencies in pkg-config
* [r14] ax_check_qt.m4, ax_init_standard_project.m4, bootstrap.sh:
fixed dependencies in pkg-config
2015-05-08 23:37 marc
* ax_init_standard_project.m4, bootstrap.sh: fixed the mac bug
again, because last change was incompatible with debian changelog
format
* [r13] ax_init_standard_project.m4, bootstrap.sh:
fixed the mac bug again, because last change was incompatible
with debian changelog format
2015-05-08 22:43 marc
* ax_init_standard_project.m4, bootstrap.sh: build system fixed
* [r12] ax_init_standard_project.m4, bootstrap.sh:
build system fixed
2015-05-07 14:35 marc
* ax_init_standard_project.m4: fixed mac issues
* [r11] ax_init_standard_project.m4:
fixed mac issues
2015-05-07 14:11 marc
* ax_init_standard_project.m4: Mac OSX does not support date -R
* [r10] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-07 14:08 marc
* ax_init_standard_project.m4: Mac OSX does not support date -R
* [r9] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-07 14:06 marc
* ax_init_standard_project.m4: error finding pkcs11 on Mac
* [r8] ax_init_standard_project.m4:
error finding pkcs11 on Mac
2015-05-07 14:04 marc
* ax_init_standard_project.m4: error finding pkcs11 on Mac
* [r7] ax_init_standard_project.m4:
error finding pkcs11 on Mac
2015-05-07 13:07 marc
* bootstrap.sh: Mac OSX does not support date -R
* [r6] bootstrap.sh:
Mac OSX does not support date -R
2015-05-07 13:04 marc
* ax_init_standard_project.m4: Mac OSX does not support date -R
* [r5] ax_init_standard_project.m4:
Mac OSX does not support date -R
2015-05-06 23:09 marc
* bootstrap.sh: better doxygen support
* [r4] bootstrap.sh:
better doxygen support
2015-05-06 14:53 marc
* ax_init_standard_project.m4, bootstrap.sh: support scripts and
new parameters --build --overwrite --rebuild
* [r3] ax_init_standard_project.m4, bootstrap.sh:
support scripts and new parameters --build --overwrite --rebuild
2015-05-05 20:29 marc
* AUTHORS, aclocal.m4, ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4,
ax_init_standard_project.m4, bootstrap.sh: copied initial release
from webtester
* [r2] AUTHORS[ADD], aclocal.m4[ADD], ax_check_qt.m4[ADD],
ax_cxx_compile_stdcxx_11.m4[ADD],
ax_init_standard_project.m4[ADD], bootstrap.sh[ADD]:
copied initial release from webtester
2015-05-05 20:27 marc
* .: initial structure
* [r1] .[ADD]:
initial structure

@ -1 +1 @@
/usr/share/automake-1.14/INSTALL
/usr/share/automake-1.15/INSTALL

@ -201,15 +201,17 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [dnl
AC_MSG_ERROR([*** A compiler with support for C++14 language features is required.])
fi
else
HAVE_CXX11=${HAVE_CXX14}
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)

@ -7,7 +7,7 @@
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
# it is taken modulo 256 due to a bug on Apple's MaxOSX
m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix],
m4_ifdef([x_least_diff],
mrw_esyscmd_s([
@ -36,10 +36,7 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix],
fi
done
# Mac does not support LEAST > 255
echo $ECHO_N $(($VCS_REVISION%256))
])
)
))
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
@ -57,8 +54,8 @@ m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([
fi;
done
# Mac does not support LEAST > 255
echo $ECHO_N $(($VCS_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]))])
@ -170,15 +167,59 @@ 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, ,\&nbsp;\&nbsp;,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])
CHANGELOG=$(<ChangeLog)
AC_SUBST(CHANGELOG)
_AM_SUBST_NOTMAKE([CHANGELOG])
DEB_CHANGELOG=$(sed '/^[[^\t]]/{h;N;d};/^\t\* /{s,,,;H;g;s,^,\t* ,;s,\n\([[^ ]]*\) *, \1\n\t ,}' ChangeLog)
if test -z "$DEB_CHANGELOG"; then
DEB_CHANGELOG=" * see file ChangeLog and project management web site"
fi
AC_SUBST(DEB_CHANGELOG)
_AM_SUBST_NOTMAKE([DEB_CHANGELOG])
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,')
PACKAGER=$(gpg -K 2>/dev/null | sed -n 's,uid *\(\[[ultimate\]] *\)\?,,p' | head -1)
if -z "${PACKAGER}"; then
PACKAGER="$AUTHOR"
fi
AX_SUBST(AUTHOR)
_AM_SUBST_NOTMAKE([AUTHOR])
AX_SUBST(AUTHOR_NAME)
AX_SUBST(AUTHOR_URL)
AX_SUBST(AUTHOR_MAIL)
AX_SUBST(PACKAGER)
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))
@ -402,6 +443,47 @@ maintainer-clean-example-targets:
EOF
])
# use this in configure.ac to support NodeJS
AC_DEFUN([AX_USE_NODEJS], [
AC_PATH_PROG(ANDROID, [android], [0],
[${PATH}${PATH_SEPARATOR}${ANDROID_HOME}/tools])
AC_CONFIG_FILES([nodejs/package.json])
AC_CONFIG_FILES([nodejs/makefile])
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-nodejs-targets], [nodejs/makefile.in])
test -f nodejs/makefile.in && cat >> nodejs/makefile.in <<EOF
#### Begin: Appended by $0
maintainer-clean-nodejs-targets:
-rm makefile.in
#### End: $0
EOF
])
# use this in configure.ac to support Cordova
AC_DEFUN([AX_USE_CORDOVA], [
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([cordova/makefile])
AC_CONFIG_FILES([cordova/config.xml])
EOF
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-cordova-targets], [cordova/makefile.in])
test -f cordova/makefile.in && cat >> cordova/makefile.in <<EOF
#### Begin: Appended by $0
maintainer-clean-cordova-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])
@ -444,7 +526,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])
@ -492,6 +578,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
@ -506,22 +593,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
distclean-documentation:
-rm -r html
-rm @PACKAGE_NAME@.doxytag
@ -538,6 +641,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)

@ -149,9 +149,30 @@ 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
* nodejs/makefile.am - if you add AX_USE_NODEJS
* nodejs/${DEFAULT_PROJECT_NAME}.js - if you add AX_USE_NODEJS
* nodejs/package.json.in - if you add AX_USE_NODEJS
* nodejs/etc/${DEFAULT_PROJECT_NAME}.json - if you add AX_USE_NODEJS
* nodejs/etc/default/${DEFAULT_PROJECT_NAME} - if you add AX_USE_NODEJS
* nodejs/etc/init/${DEFAULT_PROJECT_NAME}.conf - if you add AX_USE_NODEJS
* nodejs/etc/systemd/system/${DEFAULT_PROJECT_NAME}.service - if you add AX_USE_NODEJS
* nodejs/public - if you add AX_USE_NODEJS
* nodejs/public/images - if you add AX_USE_NODEJS
* nodejs/public/javascripts/${DEFAULT_PROJECT_NAME}.js - if you add AX_USE_NODEJS
* nodejs/public/stylesheets/style.styl - if you add AX_USE_NODEJS
* nodejs/routes/index.js - if you add AX_USE_NODEJS
* nodejs/sockets/index.js - if you add AX_USE_NODEJS
* nodejs/views/index.ejs - if you add AX_USE_NODEJS
* nodejs/views/layout.ejs - if you add AX_USE_NODEJS
* nodejs/node_modules - if you add AX_USE_NODEJS
* 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
@ -192,6 +213,7 @@ FILES TO EDIT
* src/makefile.am
* html/makefile.am
* test/makefile.am
* test/${DEFAULT_PROJECT_NAME}.cxx
* examples/makefile.am
FILE DEPENDENCIES
@ -202,8 +224,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
@ -236,7 +258,9 @@ FILES
* Enable C++: AX_USE_CXX
* Enable LibTool library creation: AX_USE_LIBTOOL
* Enable Scripts: AX_USE_SCRIPTS
* Enable NodeJS project: AX_USE_NODEJS
* 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
@ -277,11 +301,11 @@ VCS=""
VCSDEPENDS=""
if test -d .svn; then
VCS="svn"
VCSDEPENDS="subversion,"
VCSDEPENDS="svn2cl, subversion, subversion-tools,"
echo -e " \e[32msuccess\e[0m detected ${VCS}"
elif test -d .git; then
VCS="git"
VCSDEPENDS="git,"
VCSDEPENDS="git2cl, git,"
echo -e " \e[32msuccess\e[0m detected ${VCS}"
else
echo -e " \e[33mignored\e[0m"
@ -434,6 +458,9 @@ 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
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
@ -477,6 +504,8 @@ vcs2cl() {
if test -x $(which ${VCS}2cl); then
if test "${VCS}" = "git"; then
${VCS}2cl > ChangeLog
elif test "${VCS}" = "svn"; then
${VCS}2cl --break-before-msg -a -i
elif test -n "${VCS}"; then
${VCS}2cl
fi
@ -508,7 +537,7 @@ copy build-in-docker.sh
copy build-resource-file.sh
copy sql-to-dot.sed
copy mac-create-app-bundle.sh
AUTHOR=$(gpg -K | sed -n 's,uid *,,p' | sort | head -1)
AUTHOR=$(gpg -K 2>/dev/null | sed -n 's,uid *\(\[ultimate\] *\)\?,,p' | head -1)
if test -z "${AUTHOR}"; then
AUTHOR="FIRSTNAME LASTNAME (URL) <EMAIL>"
fi
@ -524,7 +553,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)
@ -536,7 +569,9 @@ AX_INIT_STANDARD_PROJECT
#AX_USE_CXX
#AX_USE_LIBTOOL
#AX_USE_SCRIPTS
#AX_USE_NODEJS
#AX_USE_DOXYGEN
#AX_USE_PERLDOC
#AX_USE_DEBIAN_PACKAGING
#AX_USE_RPM_PACKAGING
#AX_USE_CPPUNIT
@ -564,6 +599,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}
@ -654,10 +703,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>
@ -674,7 +730,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>
@ -756,7 +813,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
@ -800,7 +857,350 @@ ${HEADER}dist_bin_SCRIPTS =
MAINTAINERCLEANFILES = makefile.in
EOF
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am
if testtag AX_USE_NODEJS; then
checkdir nodejs
checkdir nodejs/public
checkdir nodejs/public/images
checkdir nodejs/etc
checkdir nodejs/etc/systemd
fi
to --condition AX_USE_NODEJS nodejs/makefile.am <<EOF
${HEADER}EXTRA_DIST = @PACKAGE_NAME@.js package.json.in public routes sockets views
nodejsdir = \${pkgdatadir}/nodejs
sysconfdefaultdir = \${sysconfdir}/default
sysconfinitdir = \${sysconfdir}/init
dist_sysconf_DATA = etc/@PACKAGE_NAME@.json
dist_sysconfdefault_DATA = etc/default/@PACKAGE_NAME@
dist_sysconfinit_DATA = etc/init/@PACKAGE_NAME@.conf
all: node_modules
node_modules: package.json.in
HOME=. npm install
clean-local:
-rm -r node_modules .npm
install-data-hook:
test -d \$(DESTDIR)\${nodejsdir} || mkdir -p \$(DESTDIR)\${nodejsdir}
chmod -R u+w \$(DESTDIR)\${nodejsdir}
cp -r . \$(DESTDIR)\${nodejsdir}
uninstall-local:
-chmod -R u+w \$(DESTDIR)\${nodejsdir}
-rm -rf \$(DESTDIR)\${nodejsdir}
MAINTAINERCLEANFILES = makefile.in
EOF
to --condition AX_USE_NODEJS nodejs/${PACKAGE_NAME}.js <<EOF
${CHEADER}try {
process.on('uncaughtException', function(e) {
console.log("**** UNCAUGHT EXCEPTION ****");
console.log(e);
console.log(e.stack);
process.exit(1);
});
/**
* Module dependencies.
*/
var express = require('express')
, routes = require(__dirname+'/routes');
var app = module.exports = express.createServer();
var io = require('socket.io').listen(app);
var package = require(__dirname+'/package.json');
var config = require(package.path.config);
var authentication = require(__dirname+'/authentication')(config.restrict);
var sockets = require(__dirname+'/sockets')(io, authentication);
// Configuration
process.argv.forEach(function(val, index) {
if (index<2) {return}
if (index!=2 || isNaN(val)) {
console.log("**** ERROR: Unexpected Argument - allowed is only a port number");
process.exit(1);
}
config.port = parseInt(val);
});
if (typeof config.port != 'number') {
console.log("**** WARNING: no valid port given, defaults to 8888");
config.port = 8888;
}
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', routes.index);
app.listen(config.port, function() {
console.log("Express server listening on port %d in %s mode",
app.address().port, app.settings.env);
});
} catch (e) {
console.log("**** EXCEPTION ****");
console.log(e);
console.log(e.stack);
process.exit(1);
}
EOF
to --condition AX_USE_NODEJS nodejs/package.json.in <<EOF
{
"name": "@PACKAGE_NAME@",
"version": "@PACKAGE_VERSION@",
"private": true,
"dependencies": {
"express": "~2.5.8",
"stylus": "~0.53.0",
"ejs": ">= 0.0.1",
"socket.io": "~1.4.4",
"socketio-auth": "0.0.5",
"ldapauth": "git+https://github.com/DimensionSoftware/node-ldapauth.git"
},
"description": "@DESCRIPTION@",
"main": "@PACKAGE_NAME@.js",
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "@AUTHOR@",
"license": "@LICENSE@",
"path": {
"prefix": "@PREFIX@",
"sysconf": "@SYSCONFDIR@",
"pkgdata": "@PKGDATADIR@",
"localstate": "@LOCALSTATEDIR@",
"log": "@LOCALSTATEDIR@/log/@PACKAGE_NAME@.log",
"config": "@SYSCONFDIR@/@PACKAGE_NAME@.json",
"nodejs": "@PKGDATADIR@/nodejs"
}
}
EOF
to --condition AX_USE_NODEJS nodejs/etc/${PACKAGE_NAME}.json <<EOF
{
"port": 8888,
"restrict": {
"passwords": {
"foo": ["sha256", "fcde2b2edxx56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9"]
},
"ldap": {
"url": "ldap://dev.marc.waeckerlin.org",
"adminDn": "cn=tmp,ou=system,ou=people,dc=dev,dc=marc,dc=waeckerlin,dc=org",
"adminPassword": "secret",
"searchBase": "ou=person,ou=people,dc=dev,dc=marc,dc=waeckerlin,dc=org",
"searchFilter": "(uid={{username}})"
}
}
}
EOF
to --condition AX_USE_NODEJS nodejs/etc/default/${PACKAGE_NAME} <<EOF
#EXEC_${PACKAGE_NAME^^}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}"
#${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME^^}.log"
#${PACKAGE_NAME^^}="${PACKAGE_NAME}"
#${PACKAGE_NAME^^}_PORT="8888"
EOF
to --condition AX_USE_NODEJS nodejs/etc/init/${PACKAGE_NAME}.conf <<EOF
#!upstart
description "$(head -1 README)"
author "$(head -1 AUTHORS)"
start on (local-filesystems and net-device-up)
stop on runlevel [!2345]
respawn
script
echo \$\$ > /var/run/${PACKAGE_NAME}.pid
# there are some useful defaults
# do not edit this file, overwrite values in /etc/default/${PACKAGE_NAME}
EXEC_${PACKAGE_NAME^^}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}"
${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log"
${PACKAGE_NAME^^}_USER="${PACKAGE_NAME}"
${PACKAGE_NAME^^}_PORT=""
[ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME}
if test -n "\${${PACKAGE_NAME^^}_USER}"; then
exec sudo -u "\${${PACKAGE_NAME^^}_USER}" \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1
else
exec \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1
fi
end script
pre-start script
${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log"
[ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME}
# Date format same as (new Date()).toISOString() for consistency
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> \${${PACKAGE_NAME^^}_LOG}
end script
pre-stop script
${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log"
[ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME}
rm /var/run/${PACKAGE_NAME}.pid
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> \${${PACKAGE_NAME^^}_LOG}
end script
EOF
to --condition AX_USE_NODEJS nodejs/etc/systemd/system/${PACKAGE_NAME}.service <<EOF
[Unit]
Description=$(head -1 README)
[Service]
ExecStart=/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME} > /var/log/${PACKAGE_NAME}.log
Restart=on-abort
[Install]
WantedBy=multi-user.target
EOF
to --condition AX_USE_NODEJS nodejs/public/javascripts/${PACKAGE_NAME}.js <<EOF
${CHEADER}var socket = null;
function init() {
socket = io.connect();
/*
socket
.io
.on("connect", connect)
.on("reconnect", connect)
.on("disconnect", disconnected)
.on("error", disconnected);
socket
.on("authenticated", authenticated)
.on("unauthorized", unauthorized)
.on("fail", error);
*/
}
/// On Load, Call @ref start
/*
\$(window.onbeforeunload = function() {
return "Are you sure you want to navigate away?";
});
*/
\$(init);
EOF
to --condition AX_USE_NODEJS nodejs/public/stylesheets/style.styl <<EOF
body
padding: 50px
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif
a
color: #00B7FF
EOF
to --condition AX_USE_NODEJS nodejs/routes/index.js <<EOF
${CHEADER}var package = require(__dirname+"/../package.json");
exports.index = function(req, res) {
res.render('index', {
packagename: package.name,
packageversion: package.version
});
};
EOF
to --condition AX_USE_NODEJS nodejs/sockets/index.js <<EOF
module.exports = function(io, authentication) {
var module={};
function broadcast(signal, data) {
console.log("<= signal: "+signal);
io.sockets.emit(signal, data);
}
function fail(txt, data) {
console.log("** "+txt, data);
}
function connection(socket, userdata) {
console.log("=> new connection from "+userdata.username);
function emit(signal, data, info) {
if (typeof data == 'string' && !data.match("\n")) {
console.log("<- signal: "+signal+"("+data+")");
} else {
console.log("<- signal: "+signal);
}
if (info) console.log(info);
socket.emit(signal, data);
}
function fail(txt, data) {
console.log("** "+txt, data);
emit("fail", txt);
}
/*
socket
.on("xxx", xxx)
.on("yyy", yyy;
*/
}
// Handle Connection
require('socketio-auth')(io, {
authenticate: function (socket, data, callback) {
console.log("=> authenticate: ", data.username);
//get credentials sent by the client
var username = data.username;
var password = data.password;
authentication(data.username, data.password,
function() {
console.log("####LOGIN-SUCESS####");
callback(null, true)
},
function() {
console.log("####LOGIN-FAIL####");
callback(new Error("wrong credentials"))
});
},
postAuthenticate: connection,
timeout: "none"
});
return module;
}
EOF
to --condition AX_USE_NODEJS nodejs/views/index.ejs <<EOF
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width initial-scale=1" />
<link href="stylesheets/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript" src="javascripts/${PACKAGE_NAME}.js"></script>
<title>$(head -1 README)</title>
</head>
<body>
<h1>$(head -1 README)</h1>
<p>generated by bootstrap, please edit</p>
</body>
</html>
EOF
to --condition AX_USE_NODEJS nodejs/views/layout.ejs <<EOF
<%- body %>
EOF
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
@ -811,16 +1211,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
@ -836,6 +1271,94 @@ 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>&#160;<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
@ -856,12 +1379,16 @@ if testtag AX_USE_DOXYGEN; then
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@"'
@ -888,9 +1415,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
@ -899,7 +1437,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
@ -922,15 +1459,15 @@ if testtag AX_USE_DEBIAN_PACKAGING; then
to debian/changelog.in <<EOF
@PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low
* Please see ChangeLog of @PACKAGE@
@DEB_CHANGELOG@
-- @AUTHOR@ @BUILD_DATE@
-- @PACKAGER@ @BUILD_DATE@
EOF
BUILD_DEPENDS="debhelper, ${VCSDEPENDS} 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, fakeroot, $(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
Maintainer: @AUTHOR@
Maintainer: @PACKAGER@
Build-Depends: ${BUILD_DEPENDS}
Package: @PACKAGE_NAME@
@ -999,8 +1536,12 @@ Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
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
@ -1111,7 +1652,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

@ -2,15 +2,20 @@
set -o errtrace
# build and test everything in a fresh docker installation
myarch=$(dpkg --print-architecture)
if test "${arch}" = "amd64"; then
myarch="amd64|i386"
fi
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=()
arch=$(dpkg --print-architecture)
wait=0
if test -e ./build-in-docker.conf; then
# you can preconfigure the variables in file build-in-docker.conf
@ -27,6 +32,7 @@ while test $# -gt 0; do
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 " -a, --arch <arch> build for given hardware architecture"
echo " -t, --targets targets specify build targets, default: ${targets}"
echo " -r, --repo <url> add given apt repository"
echo " -k, --key <url> add public key from url"
@ -78,6 +84,9 @@ while test $# -gt 0; do
(-i|--image) shift;
img="$1"
;;
(-a|--arch) shift;
arch="$1"
;;
(-t|--targets) shift;
targets="$1"
;;
@ -183,8 +192,13 @@ function ifthenelse() {
set -x
docker pull $img
DOCKER_ID=$(docker run -d ${dirs[@]} ${envs[@]} -e HOME="${HOME}" -w /workdir $img sleep infinity)
DOCKER_ID=$(docker create ${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
if ! [[ $arch =~ $myarch ]]; then
docker cp "/usr/bin/qemu-${arch}-static" "${DOCKER_ID}:/usr/bin/qemu-${arch}-static"
fi
docker start "${DOCKER_ID}"
docker exec ${DOCKER_ID} useradd -u$(id -u) -m -d"${HOME}" $(id -un)
case $mode in
(apt)
OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends'

@ -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>

@ -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>&#160;<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>

Binary file not shown.

@ -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
}
}

@ -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"

@ -1463,7 +1463,7 @@ if testtag AX_USE_DEBIAN_PACKAGING; then
-- @PACKAGER@ @BUILD_DATE@
EOF
BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release, fakeroot, default-jre-headless|default-jre, $(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)"
BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release, fakeroot, $(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

@ -10,7 +10,7 @@ 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"

Loading…
Cancel
Save