summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* 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...
* Do not fork and exec gunzip(1), just link with libz instead.Ingo Schwarze2015-07-191-2/+2
| | | | | | | As discussed with deraadt@, that's cleaner and will help tame(2). Something like this was also suggested earlier by bapt at FreeBSD. Minus 50 lines of code, deleting one interface function (mparse_wait), no functional change intended.
* * remove FreeBSDismsIngo Schwarze2015-05-201-3/+9
| | | | | | | * purge and sort headers * add build and compat glue * and LICENSE information for soelim(1)
* Add man.conf(5). After adding some additional functionality,Ingo Schwarze2015-03-271-0/+3
| | | | | one of the next steps will be to use it in addition to manpath(1) rather than as an alternative to it.
* make MANPATH_DEFAULT compile-time configurableIngo Schwarze2015-03-221-0/+2
|
* Compat glue needed for Solaris 9 and 10.Ingo Schwarze2015-03-191-0/+19
| | | | | | | Thanks to Sevan Janiyan <venture37 at geeklan dot co dot uk> for reporting the Solaris 10 issues, to Jan Holzhueter <jh at opencsw dot org> for some additional insight, and to OpenCSW in general for providing me with a Solaris 9/10/11 testing environment.
* Pass the CC set in configure.local to Makefile.local.Ingo Schwarze2015-03-181-0/+1
| | | | Issue found while testing on opencsw.org.
* When manpath(1) is available, enable HAVE_MANPATH even when buildingIngo Schwarze2015-03-111-3/+1
| | | | | without database support. Required now that we have man(1) even without database support.
* Delete the -V option. It serves no purpose but keeps confusing people.Ingo Schwarze2015-02-161-6/+0
| | | | | | | | Keeping track of the versions of installed software is the job of the package manager, not of the individual binaries. If individual binaries include version numbers, that tends to goad people into writing broken configuration tests that inspect version numbers instead of properly testing for features.
* strtonum(3) compat glueIngo Schwarze2015-02-161-0/+6
|
* Support homebrew-style linking on Mac OS X.Ingo Schwarze2015-01-211-1/+3
| | | | Idea found together with Alexis Hildebrandt <surryhill at gmail dot com>.
* version 1.13.2VERSION.1.13.2Ingo Schwarze2014-12-131-1/+1
|
* Support choosing alternative binary and manual names from configure.local,Ingo Schwarze2014-12-091-0/+24
| | | | to help downstream distributions avoid naming conflicts.
* Integrate the makewhatis binary into the mandoc binaryIngo Schwarze2014-12-091-2/+5
| | | | | just like we do it on OpenBSD. Smaller and neater. While here, let ./configure set INSTALL_TARGETS.
* On Linux, wcwidth() needs _XOPEN_SOURCE, or just _GNU_SOURCE for simplicity.Ingo Schwarze2014-08-281-1/+1
| | | | | | Besides, signedness of wchar_t and wint_t may differ, it i only guaranteed that each wchar_t can be represented as a wint_t. A problem report by Daniel Levai reminded me to fix this.
* Do not require getsubopt() to provide extern char *suboptarg.Ingo Schwarze2014-08-171-3/+1
| | | | | | | | | | | | | | | | | | | | We don't use it anyway in mandoc. Like this, fewer systems need the compat implementation. In particular, we can now use the stock getsubopt() on glibc and musl. Besides, the comment in the BSD getsubopt.c that error messages are tricky without *suboptarg is massively overblown. If you simply save a copy of the pointer you pass into getsubopt(), that's quite usable for an error message. People start campaigning for the addition of *suboptarg to C libraries on the grounds that mandoc wants it, but actually, i consider library functions manipulating global data quite ugly, so stop pushing people into that questionable direction. While here, add an explicit Copyright header to the test file. While it's obviously to me what Kristaps intended, others might consider this file copyrightable and wonder what's up.
* When BUILD_DB is active, link apropos(1) into the mandoc binary.Ingo Schwarze2014-08-161-0/+4
| | | | | This is the first step on the way to a man(1) implementation. The new ./configure is flexible enough to make this step quite easy.
* Improve build system and autodetection.Ingo Schwarze2014-08-161-24/+364
| | | | | | | | | * Make ./configure standalone, that's what people expect. * Let people write a ./configure.local from scratch, not edit existing files. * Autodetect wchar, sqlite3, and manpath and act accordingly. * Autodetect the need for -L/usr/local/lib and -lutil. * Get rid of config.h.p{re,ost}, let ./configure only write what's needed. * Let ./configure write a Makefile.local snippet, that's quite flexible.
* work around lack of d_namlen and ALIGN/ALIGNBYTES on LinuxIngo Schwarze2014-08-111-0/+1
|
* Provide a fallback version of fts(3) for systems lacking it.Ingo Schwarze2014-08-111-0/+1
| | | | | | I chose the OpenBSD version because it apparently contains various bugfixes that never made it into libnbcompat. To reduce size and complexity, i stripped out the features we don't need.
* Clarifications in comments and standard output suggested byIngo Schwarze2014-08-101-0/+2
| | | | Paul Onyschuk <ptmelville at gmail dot com> (Alpine Linux)
* Do not hardcode stuff in ./configure that is actually user-configurableIngo Schwarze2014-08-081-3/+2
| | | | | | in the Makefile; instead, pass it down via the environment just like CFLAGS. Nice suggestion from kristaps@ hoping to make MacOS X happier.
* Since old SQLite versions do not have sqlite3_errstr(),Ingo Schwarze2014-08-051-0/+2
| | | | | | | | | provide a dummy fallback implementation. Do not bother to decode the error, SQLite error codes are not useful enough for that to be worthwhile. Note that using sqlite3_errmsg(db) would be a bad idea: On malloc() failure, db is NULL, which would cause a segfault. Issue noticed by kristaps@.
* remove strnlen(3) compat, we no longer use itIngo Schwarze2014-08-041-1/+0
|
* let the build system cope with the recent ohash changesIngo Schwarze2014-06-201-3/+3
|
* Audit malloc(3)/calloc(3)/realloc(3) usage.Ingo Schwarze2014-04-231-0/+1
| | | | | | | * Change eight reallocs to reallocarray to be safe from overflows. * Change one malloc to reallocarray to be safe from overflows. * Change one calloc to reallocarray, no zeroing needed. * Change the order of arguments of three callocs (aesthetical).