From db434cf2cc02918a9f882e27ff018873af3eb453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Sat, 2 Feb 2019 09:00:21 +0100 Subject: [PATCH] build system updated --- INSTALL | 137 +++++++++++++++++++++++++++++++++++- README.md | 9 ++- ax_init_standard_project.m4 | 4 +- bootstrap.sh | 20 +++--- build-in-docker.sh | 2 +- 5 files changed, 156 insertions(+), 16 deletions(-) mode change 120000 => 100644 INSTALL diff --git a/INSTALL b/INSTALL deleted file mode 120000 index f812f5a..0000000 --- a/INSTALL +++ /dev/null @@ -1 +0,0 @@ -/usr/share/automake-1.14/INSTALL \ No newline at end of file diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..2ff81d3 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/README.md b/README.md index cdafa7f..99ef5e4 100644 --- a/README.md +++ b/README.md @@ -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. +**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. @@ -117,9 +119,10 @@ Known Limitations In the Web ---------- - - The official project page is on: https://mrw.sh/libraries/libxml-cxx - - The official documentation is on: https://doc.mrw.sh/libxml-cxx - - The official repositories are on: https://repository.mrw.sh + - [Official project page](https://mrw.sh/libraries/libxml-cxx) + - [Full Doxygen library documentation](https://doc.mrw.sh/libxml-cxx) + - [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 diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 880499d..369f3b2 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -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 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 @@ -962,8 +962,8 @@ AC_DEFUN([AX_PKG_CHECK], [ # $2 = pathes to search for AC_DEFUN([AX_REQUIRE_HEADER], [ AC_CHECK_HEADER($1, [], [ + found=0 if test -n "$2"; then - found=0 for d in $2; do if test -f "${d}/$1"; then AC_MSG_NOTICE([found file ${d}/$1]) diff --git a/bootstrap.sh b/bootstrap.sh index dc22024..66c2b96 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,7 +1,7 @@ #! /bin/bash ## @file ## -## $Id$ +## $Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $ ## ## $Date: 2004/08/31 15:57:19 $ ## $Author: marc $ @@ -41,7 +41,7 @@ while test $# -gt 0; do (--no-vcs|-n) novcs=1;; (--exclude-vcs|-x) shift; excludevcs+=("$1");; (--version|-v) - echo "$Id$"; + echo "$Id: bootstrap.sh 52 2015-11-03 15:38:21Z marc $"; exit;; (--help|-h) less <> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" 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 for key in "${keys[@]}"; do wget -O- "$key" \