summaryrefslogtreecommitdiff
path: root/m4
AgeCommit message (Collapse)AuthorFilesLines
2019-10-30build: Add a serial versioning to the m4 filesGuillem Jover10-0/+10
aclocal uses this to determine whether it needs to update m4 files in local trees.
2019-10-12build: Bump minimal Perl version to 5.24.1Guillem Jover1-1/+1
The Perl version in Debian stretch is 5.24.1, which is the release that will be oldstable once 1.20.x gets uploaded to Debian unstable.
2019-02-23build: Check whether this dist is a release based only on the version formatGuillem Jover1-3/+1
Using the .dist-version file implies that we need to do a two staged release process. First a «make dist», unpack the generated tarball distribution, and run that again. When the deciding factor is the format of the version. Switch to use that exclusively.
2018-10-08build: Generalize PACKAGE_CPAN_SIGN by setting PACKAGE_DIST_IS_RELEASE insteadGuillem Jover1-1/+5
Set the more generic name from within DPKG_DIST_IS_RELEASE, and use that directly in the Build.PL.in file.
2018-08-30build: Disable C optimization levels when configuring for code coverageGuillem Jover1-2/+2
Optimizations mess up the coverage reporting, as the reslting object layout changes substantialy to the point of it not matching what is being actually covered by the test suite.
2018-08-30build: Only sign the perl distribution if we are doing an actual releaseGuillem Jover1-0/+13
Forcing the signing while not actually preparing a tarball for a release disitribution, that is due to a signed tag, means that any random «make distcheck» will trigger an annoying gpg prompt.
2018-05-03build: Make PERL_MIN_VERSION also a configure output variableGuillem Jover1-4/+5
We need to rename the m4 macro to avoid infinite loops. We will need this output variable for the CPAN support.
2018-03-26Use internerr() or BUG() instead of assert()Guillem Jover1-0/+1
The problem with assert() is that it does not print the contents of the variables. It also can be disabled on NDEBUG. But we always want these consistency checks no matter what, and they are not performance sensitive anyway. Enable -Wno-nonnull-compare so that we can keep doing run-time non-NULL checks in functions, instead of just compile-time checks.
2018-03-25libcompat: Convert md5 module to use C99 int typesGuillem Jover1-20/+0
In commit 1f4d0354fc4a8c80c6463b9aaebd93822247341b we opted to map the BSD int types to the C99 to avoid modifying the imported code. But we had to modify it anyway, those types are legacy and we require the C99 ones for the rest of the codebase. So let's just switch to them, and get rid of the type compatibility mapping.
2018-03-25build: Enable gcc-7 -Wregister warning if availableGuillem Jover1-0/+1
2018-03-25build: Enable clang -Wdocumentation warning if availableGuillem Jover1-0/+1
Fix a couple of function parameter typos surfaced by the new warning. Warned-by: clang
2018-03-25build: Sort warning optionsGuillem Jover1-18/+19
This makes it easier to add new ones without accidentally adding duplicates.
2018-03-25build: Automatically replace -Wno- with -W when testing compiler flagsGuillem Jover1-6/+4
This is less error prone, less repetitive and the correct thing to do ayway. Instead of manually passing the positive form for these flags.
2018-03-25build: Mark command variables as preciousGuillem Jover1-0/+2
2017-05-20build: Add new gcc-7 warningsGuillem Jover1-0/+2
2017-05-19doc: Bump minimal Perl version to 5.20.2Guillem Jover1-1/+1
The Perl version in Debian jessie is 5.20.2, which is the release that will be oldstable once 1.19.x gets uploaded to Debian unstable.
2017-05-17build: Detect the required GNU patchGuillem Jover1-0/+15
This makes sure the perl module is using a directory traversal resistant patch implementation, currently that's only GNU patch. Fixes: CVE-2017-8283 Stable-Candidate: 1.17.x
2017-05-17build: Detect the required GNU tarGuillem Jover1-0/+3
For now we do require a GNU tar implementation, so let's check this explicitly in configure, so that downstream packagers do not get surprised when the code fails at run-time. In the future this should be lifted once we switch fully to an internal tar implementation.
2017-05-07build: Spell builtin correctlyGuillem Jover1-1/+1
This has no functional effect, it's just used for output.
2017-05-06doc: Spelling fixesJosh Soref1-1/+1
Signed-off-by: Guillem Jover <guillem@debian.org>
2017-02-26build: Do not fail on missing compression libraries or headers on check modeGuillem Jover1-1/+3
This is supposed to be the automatic detection mode, so we should cope gracefully with any of these being missing. Regression introduced in commit a166517a6d2f095c96b9661e8f2519470576a513.
2017-02-26build: Handle libmd implementations built into system libcGuillem Jover1-4/+9
As found on some BSD systems.
2017-01-26build: Disable disk pre-allocation by defaultGuillem Jover1-0/+15
Contrary to what one would expect, this seems to be causing major issues in several "modern" filesystems, as it collides with the heuristics and optimizations that these try to perform. Disable this by default, but let the builder enable it again in case this is not a problem on certain systems.
2017-01-26build: Rename DPKG_MMAP macro to DPKG_USE_MMAPGuillem Jover1-3/+3
2016-12-17build: Enable compression libs also in automatic check modeGuillem Jover1-1/+1
The code setting the compression macros when found was only acting when explicitly enabling the compression libraries.
2016-11-09build: Change DPKG_BUILD_RELEASE_DATE to use perl instead of date(1)Guillem Jover1-1/+1
As the former is more portable, and we were using GNUisms.
2016-11-09build: Fix DPKG_BUILD_RELEASE_DATE to require DPKG_PROG_PERLGuillem Jover1-0/+1
It uses perl.
2016-11-09build: Do not enable compression libraries if the headers are not usableGuillem Jover1-16/+14
2016-11-09build: Fix inversion logic in libmd configure check when requested explicitlyGuillem Jover1-1/+1
2016-11-07build: Use deterministic dates for generated man pagesReiner Herrmann1-1/+1
Pin the timezone to UTC so that the computed dates are deterministic and produce deterministic generated man pages. Closes: #843469 Signed-off-by: Guillem Jover <guillem@debian.org>
2016-10-30build: Pass --as-needed to the linker for dselect to avoid libstdc++Guillem Jover1-0/+19
We are not really using anything from libstdc++, so let's avoid the dependency entirely. This makes this the only frontend not to pull in the C++ run-time.
2016-10-30man: Generate the man pages at build timeGuillem Jover1-0/+8
This makes it possible to filter them and update several variable strings such as system and package pathnames, the release date and the dpkg suite version. And will make it possible to use UTF-8 in the source and convert to the more conservative groff escape sequences on the output.
2016-10-29build: Check for the required minimal perl versionGuillem Jover1-3/+14
We document the minimal perl version required at build and run-time, but we should instead do an actual check so that this is catched earlier and gives less surprises during the build process.
2016-10-29build: Fix and update libselinux checkGuillem Jover1-26/+12
Require libselinux 2.0.99, which introduced the selinux_status_* API. Switch to use the pkg-config file unconditionally, introduced in libselinux 2.0.89. Remove the static linking support. Perform refinement checks only if libselinux is available.
2016-10-29build: Check the availability of -Wpositive variant instead of -Wno-positiveGuillem Jover1-4/+8
At least gcc and clang do not warn on -Wno-* warning flags, only when something else needs to be reported, which defeats our test. In those cases pass an additional argument that will be what we will actually check, but not use afterwards.
2016-10-29build: Disable -Wtautological-constant-out-of-range-compareGuillem Jover1-0/+1
This emits a false positive for the test suite. Warned-by: clang
2016-10-29build: Change --with-* option logic to default to checkGuillem Jover1-25/+34
We will use the libraries if available and only error out if the user explicitly selected them via --with-<library> or if the library is a requirement for an enabled program.
2016-10-29build: Fix typo in SE Linux library detection codeGuillem Jover1-1/+1
Although this only affected the static mode. Regression introduced in commit 067295e958dcc9af87d2adfd0c697e9f87ef7b73.
2016-10-29build: Fix M4sh/Autoconf coding styleGuillem Jover10-333/+354
Indent the code in a way that makes it easier to follow. Use AS_IF instead of shell constructs. Quote all autoconf macro arguments. Add a new section to coding-style.txt describing M4sh/Autoconf.
2016-10-29build: Fix the __progname check to avoid the optimizer discarding the symbolGuillem Jover1-3/+2
Because we were assigning to another unused variable, when building the check with optimizations enabled, which is the default when using gcc as the compiler, the variable was being discarded. Instead pass it to printf() so that it cannot do so.
2016-10-29build: Clean up compiler and linker automatic flag usageGuillem Jover2-23/+30
Detect if the flags work at configure time, instead of enabling them unconditionally. Amend the description so that the above is clear. And rename the options so that downstreams realize about the change.
2016-07-03build: Remove quotes causing strange spaces in configure --help outputGuillem Jover1-3/+2
2016-07-03build: Uniformize library build optionsGuillem Jover1-30/+30
Make all of them consistently follow the pattern --with-lib<name>. Rename the m4 macros, preprocessor defines, and automake _LIBS flags.
2016-07-03build: Use libmd auotmatically if availableGuillem Jover1-4/+0
Disable it for Debian packages for now, as this would pull the library into the pseudo-essential set and requires discussion in debian-devel.
2016-07-03build: Stop allowing to set deprecated bzip2 compressor as dpkg-deb defaultGuillem Jover1-1/+1
We are trying to get rid of it, so do not make life more difficult by allowing to set it as the default dpkg-deb compressor.
2016-04-01build: Do not require passing the perl interpreter to run-scriptGuillem Jover1-1/+1
We will try to use the PERL environment variable or fallback to use perl for the scripts interpreter.
2016-04-01build: Add a configuration summary to configure outputGuillem Jover1-2/+0
Remove the notices printed inbetween the checks as this is now printed as part of the summary.
2016-04-01build: Set have_libfoo for required libraries detectedGuillem Jover1-0/+3
2016-04-01build: Make it possible to build without system libmdGuillem Jover1-5/+17
2016-04-01build: Split libps and libkvm detection into their own macros and variablesGuillem Jover1-7/+18
Do not tie these libraries in a single variable for start-stop-daemon, instead move the usage to the Makefile.am.