summaryrefslogtreecommitdiff
path: root/m4
AgeCommit message (Collapse)AuthorFilesLines
2016-02-26build: Use AC_SUBST instead of AC_DEFINE for BUILD_DEVEL_DOCSGuillem Jover1-2/+2
2016-02-26build: Add new gcc-6 warningsGuillem Jover1-0/+2
2015-12-25libdpkg: Add experimental multithreaded xz compressor supportGuillem Jover1-0/+3
This should speed up compression on multicore systems. This code has only been build tested against latest xz-utils git tree, but not run tested, as the package in Debian is too old. Rrquires xz >= 5.2.0.
2015-12-12build: Add an configure option to choose the kind of documentationGuillem Jover1-0/+17
The option --disable-devel-docs can be used to override the current default, which is to build development documentation.
2015-05-30build: Use system libmd if availableGuillem Jover1-1/+15
This fixes a build failure on at least FreeBSD, and possibly other BSD systems, where the md5.h header provided by libmd maps the md5 functions to namespaced ones, and then there is a mismatch between the always included functions from libcompat and from libmd.
2015-01-28build: Add new gcc 5 warningsGuillem Jover1-0/+4
Warn on features not present in ISO C99 but present in ISO C11, on sizeof for an array argument, on switch keyword with bool values, and logical not on the left handside of a comparison.
2015-01-28build: Check for -Wformat-security with -WformatGuillem Jover1-1/+1
This flag does not work anymore in gcc 5 w/o also passing -Wformat.
2015-01-28build: Make va_copy check cross-compilableGuillem Jover1-17/+14
We are only checking if the va_copy symbol is available, do not try to run the test program.
2015-01-28build: When cross-building assume a working snprintf on SUS >= v3Guillem Jover1-2/+17
SUSv2 and earlier had conflicting semantics with the C99 snprintf() ones. Because we expect a C99 environment, assume that if we are using SUSv3 or newer then we have a working snprintf() implementation.
2015-01-28build: Rework DPKG_C_C99 macro to define HAVE_C_C99 just onceGuillem Jover1-23/+30
Use the opportunity to fix the indentation.
2014-10-06build: Fix compiler flag detection with non-GCC compilersGuillem Jover1-1/+1
We enable -Werror when checking the flags so that on compilers like clang which just emit a warning on unknown warning options, instead of erroring out, we get proper detection. We could just use stuff like -Werror=unknown-warning-option and -Werror=unused-command-line-argument, but then we would need to detect if those are available as they might make the compiler error out if they are no supported. So just using the blanket -Werror, although more broad, makes the code less complicated.
2014-08-19libcompat: Only test the strerror() if sys_errlist and sys_nerr are presentGuillem Jover1-0/+16
These are deprecated symbols, and some systems which do have strerror() do not have these variables, most notably GNU/Hurd. So do not try to test the current implementation there as it will fail. Closes: #758199
2014-08-15libcompat: Only build the compatibility selinux code if requestedGuillem Jover1-2/+3
If we are not using libselinux, then we cannot build the selinux compatibility code as it requires the library. Also fixes build failures on non-Linux systems, where the library is not available. Closes: #757637
2014-08-09libcompat: Add a setexecfilecon() function out from dpkg codeGuillem Jover1-0/+2
This is now a fallback implementation in case libselinux is too old.
2014-08-09dpkg: Use SELinux setexecfilecon() if available instead of ad-hoc codeGuillem Jover1-0/+4
There's no point in duplicating all this code in dpkg, when this is provided now by libselinux.
2014-08-09build: Refactor compiler option checks into a new functionGuillem Jover1-78/+77
2014-05-28libdpkg: Uppercase compressor enum valuesGuillem Jover1-1/+1
2014-06-04build: Uppercase enum in C99 test codeGuillem Jover1-2/+2
2014-05-17build: Switch to use libtool for the static librariesGuillem Jover2-1/+30
This makes it possible to embed libcompat inside libdpkg, so that the static library that we ship is self contained with the required compatibility code, specifically the MD5 functions. This also prepares the build system for when we start building a shared library, although it disables it by default. Closes: #746122
2014-04-26build: Use --coverage instead of -fprofile-arcs and -ftest-coverageGuillem Jover1-2/+2
Noticed while investigating the lack of branch coverage. It appears the option is supported for a very long time, at least since gcc 4.1.x.
2014-04-21build: Test for required compound literalsGuillem Jover1-1/+5
And clarify the comment on the designated initializers.
2014-04-21build: Set TAR variable at build time instead of hardcoding itGuillem Jover1-0/+10
This allows for non-GNU systems to use another value for their GNU tar, which usually is either gnutar or gtar.
2014-04-21build: Do not link s-s-d against libihash and libshouldbeinlibc on GNU/HurdGuillem Jover1-2/+0
These libraries are not used now, and the linking is unnecessary and superfluous. The libps interfaces used to expose or required the caller to use functions from those other libraries long time ago, not anymore though.
2013-12-05dselect: Use C++11 nullptr instead of 0 or NULLGuillem Jover1-0/+49
It is way more descriptive, and has a better type. Check for C++11 compiler support and fallback nullptr to 0 if unavailable.
2013-12-05build: Reword C99 compiler check outputGuillem Jover1-2/+2
Specify the current compiler being used, and shorten the message checking for an option to enable C99 support.
2013-12-05build: Check availability of warning flags at build timeGuillem Jover1-14/+78
This fixes a build failure with old g++ compilers not accepting -Wc++11-compat.
2013-10-27build: Add -Wc++11-compat and -Wlogical-op to the dafault warningsGuillem Jover1-2/+2
2013-10-27build: Remove -Wno-unused-value from default CXXFLAGSGuillem Jover1-2/+1
The ncurses bug (#542031) has long been fixed.
2013-07-18build: Allow changing the default dpkg-deb compressor on configureGuillem Jover1-0/+17
This will allow downstreams to choose something better than gzip as their default compressor, for example xz. Or when xz becomes the default to revert back to something else.
2013-03-18build: Use AC_MSG_ERROR instead of obsolete AC_ERRORGuillem Jover1-1/+1
2012-06-08libdpkg: Add liblzma compression supportGuillem Jover1-0/+7
Use liblzma if available instead of external commands to handle .xz and .lzma compressed files. Among other things, this means the xz-utils package no longer has to be part of the base system. Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Guillem Jover <guillem@debian.org>
2012-06-06build: Add new run-script to run local scriptsGuillem Jover1-2/+1
This sets up the environment to be able to run the local scripts using local modules and data files.
2012-04-14build: Switch from --without- to --disable- for programs to be builtGuillem Jover1-11/+11
The standard way to select if a specific component of the build is to be enabled or disabled is through --enable-foo and --disable-foo options, --with-foo and --without-foo are used for selecting external modules to be used.
2011-11-22build: Report feedback on program, directory and coverage supportGuillem Jover2-0/+5
2011-11-16build: Map the BSD u_intN_t types to C99 uintN_t if not definedGuillem Jover1-1/+22
The md5 module imported from OpenBSD is using these BSD types, but those are not present on at least Solaris. Define them to their corresponding C99 types, so that the imported code has to be modified as less as possible. Reported-by: Andrew Stormont <andrew.stormont@nexenta.com>
2011-10-13build: Check for needed programs when configuring for distributionGuillem Jover1-0/+9
When building a distribution tarball, the full gettext suite is required because the *.gmo files are shipped in there. A lex program is also required because the tarball ships the pre-generated *.c files. Reported-by: Cyril Brulebois <kibi@debian.org>
2011-10-13build: Error out if the pkg-config m4 macros are missing on autoreconfGuillem Jover1-0/+1
Reported-by: Cyril Brulebois <kibi@debian.org>
2011-09-29build: Let the user override PERL_LIBDIR at configure timeGuillem Jover1-1/+4
The variable is declared as precious via AC_ARG_VAR, but assigned to unconditionally.
2011-09-29build: Abort if the perl interpreter is not found or usableGuillem Jover1-2/+5
The build system requires a perl interpreter to retrieve its library directory path and to execute dpkg-architecture.pl.
2011-07-30build: Error out if the host dpkg architecture cannot be determinedGuillem Jover1-1/+5
Continuing will only produce a buggy dpkg.
2011-07-30build: Use the detected perl to invoke dpkg-architecture.plGuillem Jover1-1/+2
This will help building dpkg on systems where perl is not at /usr/bin/perl, which we were already taking into consideration for the resulting scripts but not during build.
2011-07-07libdpkg: Add new progname module handling functionsGuillem Jover1-0/+23
2011-03-14build: Check for %j and %z format modifiers supportGuillem Jover1-0/+12
We use those to create binary output, so we require them to be working.
2011-03-14build: Add -Wformat-security and -Wpointer-arith to default warningsGuillem Jover1-0/+1
2011-01-16Remove --enable-sync-sync codepathJonathan Nieder1-28/+0
Using sync() on unpack causes _all_ filesystems to be sync'd, which is not so great when one of those is a thumb drive, mounted over a network, or otherwise slow. Remove the sync-instead-of-fsync codepath due to those side-effects and to simplify maintenance. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Guillem Jover <guillem@debian.org>
2011-01-08build: Fail configure if curses is needed but no headers are presentGuillem Jover1-2/+7
Reported-by: Raphael Geissert <geissert@debian.org> Tested-by: Raphael Geissert <geissert@debian.org> Signed-off-by: Guillem Jover <guillem@debian.org>
2010-11-25Merge branch 'sid' (through tag '1.15.8.6')Guillem Jover1-11/+23
Conflicts: debian/changelog m4/dpkg-funcs.m4 man/dpkg.1
2010-11-25build: Disable usage of synchronous sync(2) by defaultGuillem Jover1-11/+23
It causes undesired I/O on unrelated file systems. It also makes the code behave differently on Linux systems. Allow the possibility to enable it again for the benefit of downstreams, which might want to use it regardless of its problems. Although this code path will most probably be removed in the near future. Closes: #588339, #595927, #600075
2010-11-19Cleanup white spacesGuillem Jover2-2/+0
Remove trailing spaces. Remove blank lines not separating different code blocks. Remove blank lines at the end of the file.
2010-11-19Cleanup and improve source code commentsGuillem Jover1-6/+6
Global review, which includes the following changes to try to increase consistency, update and improve the source code comments: - Spelling fixes. - Use American English forms. - Uppercase NULL, NUL and ASCII. - Use “Note: ” instead of the slightly cryptic “NB: ” form. - Write comments as proper sentences, including capitalizations and ending dots. - Move comments before the code, function or variable they refer to. - Move general function comments outside the body. - Convert function and variable description comments to doxygen. - Use one space before dot, exclamation and question marks. - Use ‘’ or “” instead of `' style quoting. - Remove author names from comments, already visible from “git blame”. - Mark strings for translators with “TRANSLATORS: ”. - Remove useless or outdated comments. - Fix comment indentation. - Standardize comment format: /* Short text comment. */ /* Long text, * comment. */ /* * Section text. */