summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* Switch the default pager from "more -s" to "less".Ingo Schwarze2020-07-201-6/+24
| | | | | | | | | | | | | | | | | | | | | | POSIX explicitly allows using a different default pager if that is documented. Nowadays, the pager provided in most operating systems is less(1). Our man(1) implementation uses less(1) features that traditional more(1) did not provide, in particular tagging. Besides, as noted by deraadt@, the user interface of less(1) is slightly more refined and preferable over the user inferface of more(1). This switch was originally suggested by Ian Ropers. In ./configure, test whether less(1) is available. If not, fall back to more(1). In ./configure.local, support overriding the automatic test by setting BINM_PAGER. As explained by jmc@ and deraadt@, the -s flag was added a very long time ago when an antique version of groff(1) had an annoying bug in terminal output that would randomly display blank lines in the middle of pages. Clearly, -s has no longer been needed for many years, so drop it from the default pager invocation. OK deraadt@ jmc@ martijn@ job@ on the OpenBSD version of this patch.
* Provide a real feature test for __attribute__().Ingo Schwarze2020-06-221-4/+3
| | | | | Looking at version numbers like __GNUC__ is always a bad idea. Believe it or not, this even makes ./configure shorter by one line.
* Only compile compat_*.c implementations that are actually needed.Ingo Schwarze2020-06-151-28/+59
| | | | | That's cleaner and it is supposed to fix compiler warnings with gcc 10 reported by Wynn Wolf Arbor <wolf at oriole dot systems> on discuss@.
* Make the ./configure script simpler, more robust, and 23 lines shorter:Ingo Schwarze2020-06-141-93/+67
| | | | | | | | | | * three rather than four arguments for singletest() * let runtest() support testing two variants of compiler flags * always report a failed test, even when another test follows * run all tests before detecting fatal conditions * rename HAVE_CMSG_XPG42 to NEED_XPG4_2 for consistency * consistently use braces for shell variable interpolation * drop archaic "X${" syntax and unusual "==" in string comparisons
* Make the "make depend" maintainer target more convenientIngo Schwarze2020-03-131-3/+14
| | | | by having it run ./configure with native fts and ohash disabled.
* No longer try to ask make(1) what the default compiler is, just use "cc".Ingo Schwarze2020-02-051-1/+1
| | | | | | | | That line was a bad idea in the first place, it tried to be too clever, and it failed in different ways on different platforms. Even when it succeeded, what make(1) considered the default wasn't always useful. Having a simple and robust default and asking users to override it when needed is better.
* delete trailing whitespace and space-tab sequences; no code change;Ingo Schwarze2019-07-011-1/+1
| | | | | patch from Michal Nowak <mnowak at startmail dot com> who found these with git pbchk in the illumos tree
* while $() is more modern than ``, it does not work with theIngo Schwarze2019-03-061-1/+1
| | | | default /bin/sh on Solaris 10, so use the classical form
* autoconfiguration test whether less(1) supports the -T option;Ingo Schwarze2019-03-061-0/+16
| | | | | needed for Alpine Linux because it uses busybox less(1) by default; based on a patch from Daniel Sabogal explained to me by Natanael Copa
* When the -S option is given to man(1) and the requested manual pageIngo Schwarze2019-03-041-1/+23
| | | | | | | | | | | | name is not found and the requested architecture is unknown, complain about the architecture rather than about the manual page name: $ man -S vax cpu man: Unknown architecture "vax". $ man -S sparc64 foobar man: No entry for foobar in the manual. Friendlier error message suggested by jmc@, who also OK'ed the patch.
* Autodetect whether _GNU_SOURCE or _OPENBSD_SOURCE are needed; theIngo Schwarze2018-08-151-41/+59
| | | | | latter is a NetBSD idiosyncrasy reported by wiz@. Also take into account that NetBSD declares getsubopt(3) in the wrong header.
* more 1.14.4 release preparations:Ingo Schwarze2018-07-311-35/+71
| | | | | | autodetect whether the compiler can use -W and -static, clearer output from ./configure, and adjust some configuration instructions
* Add strndup(3) compat implementation.Ingo Schwarze2018-02-271-1/+8
| | | | Jan Stary reports that MacOS X Snow Leopard and older lacks it.
* Basic reporting of .Xrs to manual pages that don't existIngo Schwarze2017-07-011-0/+2
| | | | | | | | | | | | in the base system, inspired by mdoclint(1). We are able to do this because (1) the -mdoc parser, the -Tlint validator, and the man(1) manual page lookup code are all in the same program and (2) the mandoc.db(5) database format allows fast lookup. Feedback from, previous versions tested by, and OK jmc@. A few features will be added to this in the tree, step by step.
* Implement automatic line breakingIngo Schwarze2017-06-121-1/+8
| | | | | inside individual table cells that contain text blocks. This cures overlong lines in various Xenocara manuals.
* Debian needs relative symlinks not only for manual pages,Ingo Schwarze2017-03-041-7/+10
| | | | | | but also for program files. Issue reported by Michael <Stapelberg at debian dot org> and by Markus <Waldeck at gmx dot de>.
* proper test for O_DIRECTORYIngo Schwarze2017-02-181-0/+3
|
* Make the directory explicit where source files are located.Ingo Schwarze2017-02-171-1/+4
| | | | | This is simple and seems to help the NetBSD build infrastructure. From Christos Zoulas <christos at NetBSD>.
* add $(LN) configuration variable; requested by Michael <Stapelberg@debian.org>Ingo Schwarze2017-02-161-1/+3
|
* Provide a variable BINM_CATMAN.Ingo Schwarze2017-02-161-0/+3
| | | | Suggested by Michael <Stapelberg@debian.org>.
* config glue for recvmsg(2) and CMSG_FIRSTHDR(3);Ingo Schwarze2017-02-081-1/+36
| | | | needed for Solaris 11
* experimental mandocd(8) and catman(8)Ingo Schwarze2017-02-041-1/+6
| | | | for development in the tree, not yet ready for production
* Put compiler arguments that may contain -l at the end; according toIngo Schwarze2017-01-121-2/+2
| | | | | the people at Alpine Linux, gcc 6 seems to fail when it's at the beginning. From Daniel Sabogal via http://git.alpinelinux.org.
* Do not install libmandoc.a by default.Ingo Schwarze2016-11-191-1/+3
| | | | | | The only environment where it is ever needed is NetBSD base. Even NetBSD ports and pkgsrc should better not install it. Triggered by a question from bentley@.
* typo in informational message: s/UTF_LOCALE/UTF8_LOCALE/Ingo Schwarze2016-10-201-1/+1
|
* Compat glue for the FreeBSD comparison function prototype for fts_open(3)Ingo Schwarze2016-10-181-14/+23
| | | | | which differs from what most other systems use. While here, improve diagnostic output of ./configure tests.
* When trying to figure out which C compiler make(1) wants to use,Ingo Schwarze2016-08-101-1/+1
| | | | | | | | | pass it the POSIX -s option. On most systems, this won't make a difference, but Bdale Garbee reported that the make(1) on his Debian system, most likely some version of gmake, breaks Makefile.local by printing some 'entering directory' messages. I failed to reproduce and Bdale didn't report back, but judging from gmake source code, this is likely to help and unlikely to do harm elsewhere.
* The concept of endianness seems to be somewhat newfangled, so theIngo Schwarze2016-08-051-0/+21
| | | | | | respective conversion functions are not yet properly standardized. Rumour has it that POSIX is working on it, though. For now, sprinkle some configuration glue.
* POSIX allows PATH_MAX to not be defined, meaning "unlimited".Ingo Schwarze2016-08-021-0/+3
| | | | | | | Found by Aaron M. Ucko <amu at alum dot mit dot edu> on the GNU Hurd, via Bdale Garbee, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624 Also add EFTYPE at two places where it was forgotten.
* Autodetect a suitable locale for -Tutf8 mode,Ingo Schwarze2016-07-311-1/+28
| | | | | | | and allow overriding it manually. Based on a patch from Svyatoslav Mishyn <juef at openmailbox dot org> tweaked by me. The idea originally came up in a conversation with Markus Waldeck.
* Autodetect if -lrt is needed for nanosleep(3).Ingo Schwarze2016-07-201-1/+19
| | | | | Helpful for Solaris 9 and 10. Reminded by Thomas Klausner.
* Linux compatibility: Work around the lack of EFTYPE and protect <err.h>.Ingo Schwarze2016-07-201-0/+3
|
* Now that our man.conf(5) format is mature and extremely simple,Ingo Schwarze2016-07-191-19/+1
| | | | | | | | delete manpath(1) support. With the mandoc-based man(1), manpath(1) is utterly useless. Just set MANPATH_DEFAULT in configure.local for sane operating system defaults, use man.conf(5) for machine- specific modifications, and use ${MANPATH}, -m, and -M for user preferences.
* Remove the dependency on SQLite without loss of functionality.Ingo Schwarze2016-07-191-65/+5
| | | | | Stop supporting systems that don't have mmap(3). Drop the obsolete names_check() now that we deleted MLINKS.
* Use __attribute__((__format__ throughout.Ingo Schwarze2016-07-191-5/+3
| | | | | | | Triggered by a smaller patch from Christos Zoulas. While here, unify style, move several config tests to config.h, and delete the useless MANDOC_CONFIG_H.
* add missing prototypes, no code change;Ingo Schwarze2016-07-151-1/+2
| | | | noticed by Christos Zoulas with -Wmissing-prototypes
* Sanitize the environment when calling make(1) to autodetect ${CC}.Ingo Schwarze2016-07-151-1/+1
| | | | Sevan Janiyan found during testing on AIX that ${CC} could leak in.
* Add support for Mac OS X's sandbox_init(3) sandbox functionality, whichKristaps Dzonsons2016-07-121-0/+3
| | | | | | | is marked as DEPRECATED in OS X after 2011 or so, but has not been removed and has no replacement. ok schwarze@
* support LDFLAGS;Ingo Schwarze2016-07-101-0/+2
| | | | suggested by Christian Neukirchen <chneukirchen at gmail dot com>
* Various people (among others Maxim Belooussov and Carsten Kunze)Ingo Schwarze2016-05-181-32/+33
| | | | | | | | | | | reported that the build system still assumed that ohash is only needed if sqlite3 is also in use, which is no longer true: The ohash library is now required no matter what. Rework sqlite3 and ohash library autodetection such that both work independently of each other. Provide LDADD for additional linker flags. Add some missing variables to configure.local.example.
* No point in trying to go on when elementary database operationsIngo Schwarze2015-11-261-0/+1
| | | | | | like preparing queries or binding variables fail; that won't yield useful results anyway but may generate huge pointless error messages. Issue reported by deraadt@.
* The sh(1) "test" builtin on Solaris 10 doesn't have -e,Ingo Schwarze2015-11-071-3/+3
| | | | | even though that's required by POSIX. Use -w and -r, that's just as good.
* provide a simple stand-alone implementation of getline(3)Ingo Schwarze2015-11-071-1/+8
| | | | for systems lacking it
* Modernization, no functional change intended:Ingo Schwarze2015-11-071-8/+1
| | | | | | Use the POSIX function getline(3) rather than the slightly dangerous BSD function fgetln(3). Remove the related compatibility code.
* In private header files, __BEGIN_DECLS and __END_DECLS are pointless.Ingo Schwarze2015-11-071-15/+4
| | | | | | | | | | | | Because these work slightly differently on different systems, they are becoming a maintenance burden in the portable version, so delete them. Besides, one of the chief design goals of the mandoc toolbox is to make sure that nothing related to documentation requires C++. Consequently, linking mandoc against any kind of C++ program would defeat the purpose and is not supported. I don't understand why kristaps@ added them in the first place.
* garbage collect unused EXAMPLEDIR, forgotten in the CSS cleanup;Ingo Schwarze2015-11-071-3/+0
| | | | noticed by Peter Bray <pdb_ml at yahoo dot com dot au>
* In ./configure, select a RE syntax for word boundaries supported by libc;Ingo Schwarze2015-11-061-0/+6
| | | | issue reported by Svyatoslav Mishyn, Peter Bray, and Daniel Levai.
* merge pledge(2) support from OpenBSDIngo Schwarze2015-11-061-0/+3
|
* Use getprogname(3) rather than __progname.Ingo Schwarze2015-11-061-1/+5
| | | | | | | Suggested by Joerg@ Sonnenberger (NetBSD). Last year, deraadt@ confirmed on tech@ that this "has the potential to be more portable", and micro-optimizing for speed is not relevant here. Also gets rid of one global variable.
* Finally use __progname, err(3) and warn(3).Ingo Schwarze2015-10-111-0/+13
| | | | | | | | | | That's more readable and less error-prone than fumbling around with argv[0], fprintf(3), strerror(3), perror(3), and exit(3). It's a bad idea to boycott good interfaces merely because standards committees ignore them. Instead, let's provide compatibility modules for archaic systems (like commercial Solaris) that still don't have them. The compat module has an UCB Copyright (c) 1993...