build system updated

master
Marc Wäckerlin 6 years ago
parent f402e34c30
commit db434cf2cc
  1. 1
      INSTALL
  2. 136
      INSTALL
  3. 9
      README.md
  4. 4
      ax_init_standard_project.m4
  5. 20
      bootstrap.sh
  6. 2
      build-in-docker.sh

@ -1 +0,0 @@
/usr/share/automake-1.14/INSTALL

@ -0,0 +1,136 @@
Install Software
================
There are prebuilt software packages in the repositories, look in
https://repository.mrw.sh for your operating system.
Note: PublicKey has changed on Novmber 1st 2015, please import the new
key.
Linux
-----
There are package repositories for most distributions at https://repository.mrw.sh.
### Ubuntu and Debian
To accept my signature, install my key:
wget -O- https://repository.mrw.sh/PublicKey \
| sudo apt-key add -
You can install all software using your package manager (`apt`), first install the repository:
sudo apt-get install -y wget software-properties-common apt-transport-https
sudo apt-add-repository https://repository.mrw.sh
sudo apt-get update -y
Then you can install any project you wish, e.g. [`webtester`](https://mrw.sh/development/webtester):
sudo apt-get install webtester -y
### OpenSUSE
To accept my signature, install my key:
wget https://repository.mrw.sh/PublicKey
rpm --import PublicKey
You can use your packagemanager (`zypper` or _YaST_). First install the repostitory:
zypper ar https://repository.mrw.sh/opensuse/marc-waeckerlin.repo
Then install packages from the repository, e.g. [`webtester`](https://mrw.sh/development/webtester):
zypper install webtester
In case of trouble: Check if your version of OpenSUSE is supported,
use `lsb_release -rs` to get the version of your OpenSUSE:
https://drepository.mrw.sh/opensuse
### Fedora
To accept my signature, install my key:
wget https://repository.mrw.sh/PublicKey
rpm --import PublicKey
You can use your packagemanager (`dnf`). First install the repository:
dnf install 'dnf-command(config-manager)'
dnf config-manager --add-repo https://repository.mrw.sh/fedora/marc-waeckerlin.repo
Then install packages from the repository, e.g. [`webtester`](https://mrw.sh/development/webtester):
dnf install webtester
In case of trouble: Check if your version of Fedora is supported, use `lsb_release -rs` to get the version of your Fedora: https://repository.mrw.sh/fedora
### CentOS
To accept my signature, install my key:
wget https://repository.mrw.sh/PublicKey
rpm --import PublicKey
You can use your packagemanager (`yum`). First install the repository:
yum install wget
wget -O/etc/yum.repos.d/marc-waeckerlin.repo https://repository.mrw.sh/centos/marc-waeckerlin.repo
Then install packages from the repository, e.g. [`webtester`](https://mrw.sh/development/webtester):
yum install webtester
In case of trouble: Check if your version of CentOS is supported, use lsb_release -rs to get the version of your CentOS: https://repository.mrw.sh/centos
### Mageia
To accept my signature, install my key:
wget https://repository.mrw.sh/PublicKey
rpm --import PublicKey
You can use your packagemanager (`dnf`). First install the repository:
dnf install 'dnf-command(config-manager)'
dnf config-manager --add-repo https://repository.mrw.sh/mageia/marc-waeckerlin.repo
Then install packages from the repository, e.g. [`webtester`](https://mrw.sh/development/webtester):
dnf install webtester
### Other Linux Distributions
Either use the nearest possible distribution, or use alien to convert from another distribution to your preferred package format, or compile the project yourself (see below).
Windows
-------
Download from https://repository.mrw.sh/windows
MacOSX
------
You need e.g. Mac Ports to compile. Install the following dependencies:
sudo port install subversion svn2cl doxygen graphviz cppunit libtool boost log4cxx qt5-mac
Fix libtool-bug:
sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
Compile from Source
-------------------
For all unsupported operating systems, including MacOSX.
To compile, please download the tar-sources from: https://repository.mrw.sh/sources
Then untar the package and use the common commands, e.g. for version `1.0.2` of a project named project, that means:
tar xzf project-1.0.2.tar.gz
cd project-1.0.2
./bootstrap.sh
./configure
make
sudo make install

@ -16,6 +16,8 @@ This library does not need any kind of C++ code parser or special pre compiler.
C++ classes can inherit `xml::Serialize` and become serializable this way. All you need to do is to overwrite one single method, where you declare XML tag names for the class name and for all members. C++ classes can inherit `xml::Serialize` and become serializable this way. All you need to do is to overwrite one single method, where you declare XML tag names for the class name and for all members.
**Note:** All *links* below require the generated [Doxygen](https://doc.mrw.sh/libxml-cxx) documentation.
More rationale: See also [Related Pages](pages.html) in the doxygen project documentation. More rationale: See also [Related Pages](pages.html) in the doxygen project documentation.
@ -117,9 +119,10 @@ Known Limitations
In the Web In the Web
---------- ----------
- The official project page is on: https://mrw.sh/libraries/libxml-cxx - [Official project page](https://mrw.sh/libraries/libxml-cxx)
- The official documentation is on: https://doc.mrw.sh/libxml-cxx - [Full Doxygen library documentation](https://doc.mrw.sh/libxml-cxx)
- The official repositories are on: https://repository.mrw.sh - [Official repositories](https://repository.mrw.sh)
- [Download and installation instructions](https://mrw.sh/doc/mrw.sh/src/branch/master/installation.md)
Missing a Feature, Found a Bug Missing a Feature, Found a Bug

@ -1,4 +1,4 @@
## @id $Id$ ## @id $Id: ax_init_standard_project.m4 204 2016-09-29 18:29:53Z marc $
## 1 2 3 4 5 6 7 8 ## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890
@ -962,8 +962,8 @@ AC_DEFUN([AX_PKG_CHECK], [
# $2 = pathes to search for # $2 = pathes to search for
AC_DEFUN([AX_REQUIRE_HEADER], [ AC_DEFUN([AX_REQUIRE_HEADER], [
AC_CHECK_HEADER($1, [], [ AC_CHECK_HEADER($1, [], [
found=0
if test -n "$2"; then if test -n "$2"; then
found=0
for d in $2; do for d in $2; do
if test -f "${d}/$1"; then if test -f "${d}/$1"; then
AC_MSG_NOTICE([found file ${d}/$1]) AC_MSG_NOTICE([found file ${d}/$1])

@ -1,7 +1,7 @@
#! /bin/bash #! /bin/bash
## @file ## @file
## ##
## $Id$ ## $Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $
## ##
## $Date: 2004/08/31 15:57:19 $ ## $Date: 2004/08/31 15:57:19 $
## $Author: marc $ ## $Author: marc $
@ -41,7 +41,7 @@ while test $# -gt 0; do
(--no-vcs|-n) novcs=1;; (--no-vcs|-n) novcs=1;;
(--exclude-vcs|-x) shift; excludevcs+=("$1");; (--exclude-vcs|-x) shift; excludevcs+=("$1");;
(--version|-v) (--version|-v)
echo "$Id$"; echo "$Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $";
exit;; exit;;
(--help|-h) less <<EOF (--help|-h) less <<EOF
SYNOPSIS SYNOPSIS
@ -131,7 +131,6 @@ GENERATED FILES
* ax_init_standard_project.m4 - auxiliary macro definition file * ax_init_standard_project.m4 - auxiliary macro definition file
* ax_cxx_compile_stdcxx.m4 - auxiliary macro definition file * ax_cxx_compile_stdcxx.m4 - auxiliary macro definition file
* ax_check_qt.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-debbuilddeps.sh - script to install debian package dependencies
* resolve-rpmbuilddeps.sh - script to install RPM 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.sh - script to build the project encapsulated in a docker container
@ -450,7 +449,7 @@ checkdir() {
if ! test -d "$1"; then # create path if ! test -d "$1"; then # create path
run mkdir -p "$1" run mkdir -p "$1"
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
run ${VCS} add "$1" run --no-check ${VCS} add "$1"
fi fi
fi fi
} }
@ -498,7 +497,7 @@ to() {
run chmod $mode $1 run chmod $mode $1
if test $exists -eq 0; then if test $exists -eq 0; then
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
run ${VCS} add "$1" run --no-check ${VCS} add "$1"
if test "${VCS}" = "svn"; then if test "${VCS}" = "svn"; then
run svn propset svn:keywords "Id" "$1" run svn propset svn:keywords "Id" "$1"
fi fi
@ -523,10 +522,14 @@ copy() {
if test "${1%/*}" != "$1"; then if test "${1%/*}" != "$1"; then
test -d "${1%/*}" || svn mkdir "${1%/*}" test -d "${1%/*}" || svn mkdir "${1%/*}"
fi fi
if ! test -e "${source}"; then
ignored "$1" not found
return
fi
run cp "${source}" "$1" run cp "${source}" "$1"
if test $exists -eq 0; then if test $exists -eq 0; then
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then
run ${VCS} add "$1" run --no-check ${VCS} add "$1"
if test "${VCS}" = "svn"; then if test "${VCS}" = "svn"; then
run svn propset svn:keywords "Id" "$1" run svn propset svn:keywords "Id" "$1"
fi fi
@ -575,7 +578,7 @@ vcs2cl() {
fi fi
if test $exists -eq 0; then if test $exists -eq 0; then
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "ChangeLog" "${excludevcs[@]}"; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "ChangeLog" "${excludevcs[@]}"; then
run ${VCS} add ChangeLog run --no-check ${VCS} add ChangeLog
fi fi
fi fi
} }
@ -593,7 +596,6 @@ copy ${MY_NAME}
copy ax_init_standard_project.m4 copy ax_init_standard_project.m4
copy ax_cxx_compile_stdcxx.m4 copy ax_cxx_compile_stdcxx.m4
copy ax_check_qt.m4 copy ax_check_qt.m4
copy makefile_test.inc.am
copy resolve-debbuilddeps.sh copy resolve-debbuilddeps.sh
copy resolve-rpmbuilddeps.sh copy resolve-rpmbuilddeps.sh
copy build-in-docker.sh copy build-in-docker.sh
@ -1508,7 +1510,7 @@ if testtag AX_USE_DOXYGEN; then
sed -i ':a;/\\$/{s///;N;s/ *\n */ /g;ba}' doc/doxyfile.in sed -i ':a;/\\$/{s///;N;s/ *\n */ /g;ba}' doc/doxyfile.in
if test $exists -eq 0; then if test $exists -eq 0; then
if test -n "${VCS}" -a $novcs -eq 0 && ! contains "doc/doxyfile" "${excludevcs[@]}"; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "doc/doxyfile" "${excludevcs[@]}"; then
run ${VCS} add doc/doxyfile.in run --no-check ${VCS} add doc/doxyfile.in
if test "${VCS}" = "svn"; then if test "${VCS}" = "svn"; then
run svn propset svn:keywords "Id" doc/doxyfile.in run svn propset svn:keywords "Id" doc/doxyfile.in
fi fi

@ -295,7 +295,7 @@ case "$mode" in
docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /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" docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences"
done done
if test -n "${keys[@]}"; then # fix dependency bug in cosmic and stretch if test -n "${keys[*]}"; then # fix dependency bug in cosmic and stretch
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- gnupg docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- gnupg
for key in "${keys[@]}"; do for key in "${keys[@]}"; do
wget -O- "$key" \ wget -O- "$key" \

Loading…
Cancel
Save