We only compile for a single platform, the one inside our container.
Since we do that, we can massively simplify this build.
Change-Id: Ic7d088fd85f2cf88838cb83524aaf1c8b2e858bf
c++17 (which our compiler supports) has std::optional<T> that can
be used for thigns that return a value or nothing (like this) Use
that.
add in some consts and pass parameters by const reference.
use std::uint32_t instead of uint. Initialize it with the constructor
initializer list instead of in the body of the constructor, and use
uniform initialization syntax to do so.
Initialize the cache instantiation using uniform initialization.
Use a few more autos so that we don't have to type const as much.
There's a ton of stuff in here that's holdovers from the days of
Drizzle, such as intel c compiler and solaris support, that can
just flat go away. There's also support for being able to turn off
a bunch of various things with m4 parameters that were there to let
us deal with legacy MySQL code. We don't need any of those. We can
also just depend on autoconf archive for more functions and align
with the behavior there rather than carrying local logic.
While we're at it, rename both pandora and zuul prefixed things to
opendev. pandora-build is what we were calling the collection of
autoconf stuff 10 years ago, but is a long-dead project. That said,
none of this is specific to zuul, but might still be useful for
general C++ "I want to build things cleanly and stricly like
Drizzle did". Use opendev for now, with the thought that perhaps
we'll extract these into their own repo to be used by people
should they choose.
Perhaps a better prefix choice would be "DRIZZLE_" - since these
are "build things inspired by Drizzle" - but maybe that implies
a provenance that doesn't exist.
Update copyright for the files that have essentially been rewritten.
For the ones that are still legitimately based on the original code,
add a Red Hat header line.
These can be consumed directly via gnulib and autoconf-archive
packages these days. (yay!) Remove the copies from the tree and
add gnulib and autoconf-archive to bindep.
As part of doing this, switch to using the autoconf-archive version
of debug flag handling, AX_CHECK_ENABLE_DEBUG.
Use AX_CXX_CHECK_LIB from autoconf archive instead of
AC_LIB_HAVE_LINKFLAGS which is from gettext and causes a bunch of
other stuff to need to be copied in.
We had a few things turned off in drizzle because of the inherited
codebase and the pain of cleaning them up. Turn them back on.
Also, we don't actually need the additional lib settings in the
libcpprest test.