aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* garbage collect unused EXAMPLEDIR, forgotten in the CSS cleanup;Ingo Schwarze2015-11-071-2/+1
| | | | noticed by Peter Bray <pdb_ml at yahoo dot com dot au>
* Install the soelim(1) binary and manual to the right places.Ingo Schwarze2015-11-071-3/+5
| | | | Bug reported by Peter Bray <pdb_ml at yahoo dot com dot au>.
* merge pledge(2) support from OpenBSDIngo Schwarze2015-11-061-1/+2
|
* Use getprogname(3) rather than __progname.Ingo Schwarze2015-11-061-1/+3
| | | | | | | 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.
* Unify the three stylesheets into a single CSS file.Ingo Schwarze2015-11-051-9/+5
| | | | Many thanks to bentley@ for doing this work.
* demandoc(1) needs to link against -lutil, tooIngo Schwarze2015-11-051-2/+2
|
* In order to become able to generate syntax tree nodes on the roff(7)Ingo Schwarze2015-10-201-1/+3
| | | | | | | | level, validation must be separated from parsing and rewinding. This first big step moves calling of the mdoc(7) post_*() functions out of the parser loop into their own mdoc_validate() pass, while using a new mdoc_state() module to make syntax tree state handling available to both the parser loop and the validation pass.
* Major character table cleanup:Ingo Schwarze2015-10-131-2/+1
| | | | | | | | | | | | | * Use ohash(3) rather than a hand-rolled hash table. * Make the character table static in the chars.c module: There is no need to pass a pointer around, we most certainly never want to use two different character tables concurrently. * No need to keep the characters in a separate file chars.in; that merely encourages downstream porters to mess with them. * Sort the characters to agree with the mandoc_chars(7) manual page. * Specify Unicode codepoints in hex, not decimal (that's the detail that originally triggered this patch). No functional change, minus 100 LOC, and i don't see a performance change.
* Reduce the amount of code by moving the three copies of the ohashIngo Schwarze2015-10-131-1/+4
| | | | | callback functions into one common place, preparing for the use of ohash for some additional purposes. No functional change.
* Finally use __progname, err(3) and warn(3).Ingo Schwarze2015-10-111-2/+6
| | | | | | | | | | 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.
* Initial, still somewhat experimental implementation to leverageIngo Schwarze2015-07-171-1/+4
| | | | | | | | | | | | | | | less(1) -T and :t ctags(1)-like functionality to jump to the definitions of various terms inside manual pages. To be polished in the tree, so bear with me and report issues. Technically, if less(1) is used as a pager, information is collected by the mdoc(7) terminal formatter, first stored using the ohash library, then ultimately written to a temporary file which is passed to less via -T. No change intended for other output formatters or when running without a pager. Based on an idea from Kristaps using feedback from many, in particular phessler@ nicm@ millert@ halex@ doug@ kspillner@ deraadt@.
* Fix the "depend" target and regenerate Makefile.depend:Ingo Schwarze2015-07-141-4/+4
| | | | | | | * do not process the test-*.c files, they are not built via make * add the missing compat_stringlist.c and soelim.c * read.c now uses roff_int.h * roff.c no longer uses libmdoc.h
* Link compat_reallocarray.o into soelim; needed onIngo Schwarze2015-05-211-3/+3
| | | | platforms having neither stringlist nor compat_reallocarray.
* * remove FreeBSDismsIngo Schwarze2015-05-201-4/+16
| | | | | | | * purge and sort headers * add build and compat glue * and LICENSE information for soelim(1)
* First step towards parser unification:Ingo Schwarze2015-04-021-3/+5
| | | | | | Replace enum mdoc_type and enum man_type by a unified enum roff_type. Almost mechanical, no functional change. Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.
* Parse the new man.conf(5) "output" directive.Ingo Schwarze2015-03-271-3/+3
| | | | The next step will be to actually use the parsed data.
* Add man.conf(5). After adding some additional functionality,Ingo Schwarze2015-03-271-1/+5
| | | | | one of the next steps will be to use it in addition to manpath(1) rather than as an alternative to it.
* Compat glue needed for Solaris 9 and 10.Ingo Schwarze2015-03-191-2/+11
| | | | | | | 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.
* release 1.13.3VERSION_1_13_3Ingo Schwarze2015-03-131-3/+3
|
* Delete the -V option. It serves no purpose but keeps confusing people.Ingo Schwarze2015-02-161-1/+3
| | | | | | | | 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-2/+5
|
* Enable the integrated man(1) even when database support is disabled,Ingo Schwarze2015-02-031-5/+5
| | | | | | using the file system lookup fallback code, also reducing the number of preprocessor conditional directives. Hopefully, it will make some small Linux distros happy.
* Support choosing alternative binary and manual names from configure.local,Ingo Schwarze2014-12-091-11/+18
| | | | to help downstream distributions avoid naming conflicts.
* Integrate the makewhatis binary into the mandoc binaryIngo Schwarze2014-12-091-19/+12
| | | | | just like we do it on OpenBSD. Smaller and neater. While here, let ./configure set INSTALL_TARGETS.
* Some sorting and some more comments.Ingo Schwarze2014-12-091-19/+28
| | | | Drop DISTDIR from www-install target.
* Install "man" as a hardlink to "mandoc" during db-install.Ingo Schwarze2014-12-091-12/+8
| | | | | Install man(1) manual in db-install, not base-install. Get rid of the useless variables BASEBIN, DBBIN, CGIBIN.
* developer documentation regarding header filesIngo Schwarze2014-12-011-1/+3
|
* AT&T is unlikely to release an new version of Research UNIX any time soon.Ingo Schwarze2014-11-281-2/+1
| | | | | So, it's pointless to make adding version strings easy for downstream. One source file less to maintain.
* Retire support for CSRG supplementary document titles. These areIngo Schwarze2014-11-281-5/+2
| | | | | long obsolete and were never written in mdoc(7) in the first place. Removes 100 lines from source files.
* Drop useless architecture table. Validating architecture namesIngo Schwarze2014-11-281-6/+3
| | | | | | is a job for makewhatis(8)/mandoc.db(5), not for the parser. Removes 150 lines from source files and 4k (1%) from the binary. Bloat found by deraadt@.
* integrate preconv(1) into mandoc(1);Ingo Schwarze2014-10-251-11/+4
| | | | enhances functionality and reduces code and docs by more than 300 lines
* Have Makefile build mandoc(1) before it tries to generate the HTML.Kristaps Dzonsons2014-09-271-1/+3
|
* Now that we have man(1) functionality, add a man(1) manual page.Ingo Schwarze2014-08-211-2/+5
| | | | | I'm importing the totally unchanged OpenBSD version such that all changes can easily be tracked in CVS.
* Fully integrate apropos(1) into mandoc(1).Ingo Schwarze2014-08-171-5/+5
| | | | | | | | | Switch the argmode on the progname, including man(1). Provide -f and -k options to switch the argmode. Store the argmode inside struct search, generalizing the flags. Derive the deftype from the argmode when needed instead of storing it. Store the outkey inside struct search instead of passing it alone. While here, get rid of the trailing blanks in Makefile.depend.
* When BUILD_DB is active, link apropos(1) into the mandoc binary.Ingo Schwarze2014-08-161-11/+9
| | | | | 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-110/+20
| | | | | | | | | * 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.
* typo in comment; Guy Harris <guy at alum dot mit dot edu>Ingo Schwarze2014-08-121-2/+2
|
* work around lack of d_namlen and ALIGN/ALIGNBYTES on LinuxIngo Schwarze2014-08-111-2/+4
|
* Provide a fallback version of fts(3) for systems lacking it.Ingo Schwarze2014-08-111-5/+6
| | | | | | 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.
* Get rid of HAVE_CONFIG_H, it is always defined; idea from libnbcompat.Ingo Schwarze2014-08-101-3/+3
| | | | | | Include <sys/types.h> where needed, it does not belong in config.h. Remove <stdio.h> from config.h; if it is missing somewhere, it should be added, but i cannot find a *.c file where it is missing.
* Clarifications in comments and standard output suggested byIngo Schwarze2014-08-101-4/+5
| | | | Paul Onyschuk <ptmelville at gmail dot com> (Alpine Linux)
* Do not hardcode stuff in ./configure that is actually user-configurableIngo Schwarze2014-08-081-2/+3
| | | | | | in the Makefile; instead, pass it down via the environment just like CFLAGS. Nice suggestion from kristaps@ hoping to make MacOS X happier.
* add INSTALL and bump VERSIONIngo Schwarze2014-08-081-3/+4
|
* Since old SQLite versions do not have sqlite3_errstr(),Ingo Schwarze2014-08-051-1/+4
| | | | | | | | | 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@.
* Portability fix:Ingo Schwarze2014-08-051-4/+5
| | | | | | | | * POSIX syntax is 'include Makefile.depend', not '.include "Makefile.depend"' * gmake(1) runs the build rule for the included file (duh), so delete the rule * consequently, we have to mark the 'depend' maintainer target .PHONY * as it's now .PHONY anyway, drop some prerequisites that are now useless Issue noticed by kristaps@.
* Sync library documentation with reality.Ingo Schwarze2014-08-051-2/+9
| | | | | Split mandoc_escape(3), mandoc_malloc(3), and mchars_alloc(3) out of mandoc(3), adding lots of new information.
* Switch to autogenerated dependency rules; they are less error-prone.Ingo Schwarze2014-08-051-95/+79
| | | | Provide a maintainer target to regenerate them.
* Properly partition the build system and install some missing stuff:Ingo Schwarze2014-08-051-15/+56
| | | | | | | | | | | * Introduce targets base-build, db-build, cgi-build. * Introduce targets base-install, db-install, cgi-install. * Introduce a BUILD_TARGETS variable to contain db-build and cgi-build. * Introduce an INSTALL_TARGETS variable and fill it using BUILD_TARGETS. * Install the whatis(1) and makewhatis(8) binaries. * Install the apropos(1), whatis(1), and makewhatis(8) manuals. * Install mandoc_aux.h. * Do not build manpage(1) by default.
* Various minor corrections:Ingo Schwarze2014-08-051-6/+17
| | | | | | | | * Do not unconditionally use -I/usr/local/include and -L/usr/local/lib. * Do not install programs and libs root-writeable. * Add missing test-strcasestr.c and test-strsep.c to TESTSRCS. * Add missing cgi.h.example and mandoc_html.3 to SRCS. * Add missing mandoc_html.3.html to WWW_MANS.