fixed C++11 dependency; fixed backward compatibility to OpenSSL older than 1.1.0

master
Marc Wäckerlin 5 years ago
parent a5fdbbb592
commit 7ba69b5f60
  1. 35
      ax_init_standard_project.m4
  2. 46
      build-in-docker.sh
  3. 2
      configure.ac
  4. BIN
      doc/plantuml.jar
  5. 6
      src/openssl.hxx

@ -365,7 +365,7 @@ AC_DEFUN([AX_USE_CXX], [
CXXFLAGS="${CXXFLAGS//-g -O2/}"
CFLAGS="${CFLAGS//-g -O2/}"
# pass compile flags to make distcheck
# pass compile flags to make distcheck
AM_DISTCHECK_CONFIGURE_FLAGS="CXXFLAGS='${CXXFLAGS}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
AC_SUBST(AM_DISTCHECK_CONFIGURE_FLAGS)
@ -391,6 +391,20 @@ maintainer-clean-cxx-targets:
EOF
])
# require specific C++ version
AC_DEFUN([AX_USE_CXX_11], [
AX_USE_CXX
AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
])
AC_DEFUN([AX_USE_CXX_14], [
AX_USE_CXX
AX_CXX_COMPILE_STDCXX([14], [noext], [mandatory])
])
AC_DEFUN([AX_USE_CXX_17], [
AX_USE_CXX
AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
])
# use this in configure.ac to support old school C
AC_DEFUN([AX_USE_C], [
AC_LANG(C)
@ -637,7 +651,6 @@ 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 2>/dev/null) | sort -V | head -1))
PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf
AC_SUBST(PDF_DOC)
if test "$have_doxygen" = "no"; then
@ -662,28 +675,12 @@ AC_DEFUN([AX_USE_DOXYGEN], [
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 @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"';
doc: doxyfile
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

@ -7,7 +7,7 @@ if test "${arch}" = "amd64"; then
myarch="amd64|i386"
fi
mode=
img="mwaeckerlin/ubuntu:latest"
img=
repos=()
keys=()
dns=()
@ -81,24 +81,27 @@ while test $# -gt 0; do
echo
exit 0
;;
(-m|--mode) shift;
(-m|--mode)
shift;
mode="$1"
case "$mode" in
(deb|apt) img="mwaeckerlin/ubuntu:latest";;
(rpm|zypper) img="opensuse:latest";;
(yum) img="centos:latest";;
(dnf) img="fedora:latest";;
(win)
img="mwaeckerlin/ubuntu:latest"; host="${host:---host=i686-w64-mingw32}"
targets="all install"
flags+=("--prefix=/workdir/usr")
packages+=("mingw-w64")
;;
(*)
echo "**** ERROR: unknown mode '$1', try --help" 1>&2
exit 1
;;
esac
if test -z "$img"; then
case "$mode" in
(deb|apt) img="mwaeckerlin/debbuildenv";;
(rpm|zypper) img="opensuse:latest";;
(yum) img="centos:latest";;
(dnf) img="fedora:latest";;
(win)
img="mwaeckerlin/debbuildenv"; host="${host:---host=i686-w64-mingw32}"
targets="all install"
flags+=("--prefix=/workdir/usr")
packages+=("mingw-w64")
;;
(*)
echo "**** ERROR: unknown mode '$1', try --help" 1>&2
exit 1
;;
esac
fi
;;
(-i|--image) shift;
img="$1"
@ -243,6 +246,9 @@ function ifthenelse() {
set -x
if test -z "$img"; then
img="mwaeckerlin/debbuildenv"
fi
docker pull $img
DOCKER_ID=$(docker create ${dns[@]} ${dirs[@]} ${envs[@]} -w /workdir $img sleep infinity)
trap 'traperror '"${DOCKER_ID}"' "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' SIGINT INT TERM EXIT
@ -262,8 +268,8 @@ if test -z "$mode"; then
(*deb*) mode=deb;;
(*rpm*) mode=rpm;;
(*) case "$img" in
(*ubuntu*|*debian*|*mint*) mode=deb;;
(*fedora*|*centos*|*mageia*) mode=rpm;;
(*deb*|*ubuntu*|*debian*|*mint*) mode=deb;;
(*rpm*|*fedora*|*centos*|*mageia*) mode=rpm;;
(*mingw*|*win*) mode=win;;
(*) mode=deb;;
esac;;

@ -10,7 +10,7 @@ AM_INIT_AUTOMAKE([1.9 tar-pax])
AX_INIT_STANDARD_PROJECT
# languages
AX_USE_CXX
AX_USE_CXX_11
AX_USE_LIBTOOL
AX_USE_DOXYGEN
AX_USE_DEBIAN_PACKAGING

Binary file not shown.

@ -26,6 +26,12 @@
#include <openssl/err.h>
#include <vector>
#if OPENSSL_VERSION_NUMBER < 0x10100000L
inline const unsigned char* ASN1_STRING_get0_data(ASN1_STRING *x) {
return ASN1_STRING_data(x);
}
#endif
#include <openssl/x509v3.h> // BASIC_CONSTRAINTS
#include <openssl/bn.h>
#include <cryptaux.hxx>

Loading…
Cancel
Save