summaryrefslogtreecommitdiff
path: root/Makefile (unfollow)
Commit message (Collapse)Author
2017-05-20Replace Halibut's makefiles with autotools.Simon Tatham
This commit updates the libcharset submodule to incorporate the autotools-ification that I just pushed to that subproject, and builds on it by replacing Halibut's own makefile system similarly with an autotools setup. The new Makefile.am incorporates both of the old Makefile and doc/Makefile, so a single run of 'make' should now build Halibut itself and all the formats of its own documentation, which also means that the automake-generated 'make install' target can do the right thing in terms of putting an appropriate subset of those documentation formats in the assorted installation directories. The old Makefiles are gone, as is release.sh (which is now obsolete because autotools's 'make dist' doesn't do anything obviously wrong). The bob build script is comprehensively rewritten, but should still work - even the clang-based Windows build can use the autotools-generated makefile system, provided I do the libcharset build with a manual override of bin_PROGRAMS to prevent it trying to build the libcharset supporting utilities (which are not completely Windows-portable).
2017-05-16Makefile: apply user-provided CFLAGS to version.c.Simon Tatham
Thanks to Leah Neukirchen for pointing out that it was left out of that special-case rule.
2017-05-13Build a Windows halibut.exe using clang-cl.Simon Tatham
Or rather, clang in MS-targeted code generation but still with the Unix-style command line, which lets me use the existing Makefile with almost no change.
2017-05-13New output mode to write CHM files directly.Simon Tatham
I became aware a few months ago that enough is known about CHM files that free software _can_ write them without benefit of the MS HTML Help compiler - in particular there's a thing called 'chmcmd' in the Free Pascal Compiler software distribution which is more or less a drop-in replacement for hhc.exe itself. But although depending on chmcmd would be a bit nicer than depending on hhc.exe, Halibut has always preferred to do the whole job itself if it can. So here's my own from-scratch code to generate CHM directly from Halibut source. The new output mode is presented as a completely separate top-level thing independent of HTML mode. Of course, in reality, the two back ends share all of the HTML-generation code, differing only in a few configuration defaults and the minor detail of what will be _done_ with each chunk of HTML as it's generated (this is what the recent refactoring in b3db1cce3 was in aid of). But even so, the output modes are properly independent from a user-visible-behaviour perspective: they use parallel sets of config directives rather than sharing the same ones (you can set \cfg{html-foo} and \cfg{chm-foo} independently, for a great many values of 'foo'), and you can run either or neither or both as you choose in a given run of Halibut. The old HTML Help support, in the form of some config directives for HTML mode to output the auxiliary files needed by hhc.exe, is still around and should still work the same as it always did. I have no real intention of removing it, partly for the reasons stated in the manual (someone might find it useful to have Halibut generate the .HHP file once and then make manual adjustments to it, so that they can change styling options that the direct CHM output doesn't permit), and mostly because it wouldn't save a great deal of code or complexity in any case - the big two of the three auxiliary files (the HHC and HHK) have to be generated _anyway_ to go inside the .CHM, so all the code would have to stay around regardless.
2017-05-13Factor LZ77 and Huffman routines out of deflate.c.Simon Tatham
The general routines for analysing a buffer into an LZ77ish stream of literals and matches, and for constructing a Huffman tree in canonical format, now live in their own source files so that they can be reused for other similar compression formats. Deflate-specific details like the exact file encoding are left in deflate.c.
2015-04-26Makefile: create subdirs of the install directory too.Simon Tatham
Now you can 'make install prefix=/some/previously/nonexistent/path' and have all the necessary subdirs created for you.
2015-04-26Makefile: create install directoryAlex Dunn
2014-09-24Remove the MD5-based manifest file system.Simon Tatham
A long time ago, it seemed like a good idea to arrange that binaries of Halibut would automatically cease to identify themselves as a particular upstream version number if any changes were made to the source code, so that if someone made a local tweak and distributed the result then I wouldn't get blamed for the results. Since then I've decided the whole idea is more trouble than it's worth, so I'm retiring it completely. [originally from svn r10254]
2009-01-20Fix unintentional bash-specificity in Makefile. (Patch from ColinSimon Tatham
Watson.) [originally from svn r8422]
2007-02-03Add support for using TrueType fonts, including embedding in PostScript butBen Harris
not yet in PDF. There's a lot of cleaning up to be done, especially in the area of error, but I think it would be better committed gradually. [originally from svn r7198]
2006-12-06Update deflate.c to include nearly all the changes I've been makingSimon Tatham
in the main version. The one missing thing is the fancy new LZ77 compressor in misc/libcode/lz77.c, in whose stability I'm not yet confident enough to consider it ready for prime-time. [originally from svn r6967]
2006-11-30Add support for compressed PDF streams, using Simon's new deflate library.Ben Harris
[originally from svn r6931]
2006-05-19About time I fixed this: allow for some people's md5sum utilitiesSimon Tatham
producing output on stdout even in -c mode. [originally from svn r6707]
2006-05-14Fairly ropey font-embedding support. In particular, the PDF output isBen Harris
technically incorrect, though it works perfectly well with xpdf. To do it properly requires actually parsing the unencrypted part of a Type 1 font, which will be a bit tedious in C. [originally from svn r6685]
2006-05-13Initial support for adding fonts at run-time. Currently we only supportBen Harris
loading AFM files, we recognise them by name, and we can't embed fonts in the output (which is also invalid, though accepted by xpdf, in the PDF case). Oh, and there's no documentation. Still, it's a start. [originally from svn r6681]
2005-11-13Just to be on the safe side about avoiding other portability hazardsSimon Tatham
in future, add `-ansi -pedantic' to the Halibut default compile options and fix the few resulting warnings (mostly signed/unsigned char mismatches and commas at the ends of enums). The one remaining warning I'm still seeing is `missing initializer' for the big table in charset/iso2022.c, but I think the code genuinely is more readable this way, and I haven't found a gcc option to disable that specific warning. [originally from svn r6458]
2005-11-12`style.c' appears to have been around since 1999 and never hadSimon Tatham
anything in it! In its current form it presents the portability hazards of an empty structure and an empty source file. Therefore, I'm removing it; if I ever have a clear idea of what a user style mechanism ought to look like, it might make a reappearance, but don't hold your breath. [originally from svn r6453]
2005-01-24Use .PHONY to ensure the various fake make targets (`all', `clean',Simon Tatham
`install' etc) don't get confused by the existence of a file with the same name. Required in particular for `make install' on OS X, since otherwise its case-insensitive fs gets confused by INSTALL. [originally from svn r5189]
2004-11-17Remove the svn:externals property that pulls a copy of libcharsetSimon Tatham
into a subdirectory of `halibut'. It wasn't very good anyway (since it insisted on loading via an unauthenticated svn:// URL). The Halibut makefile now expects _either_ a subdir `charset', _or_ a directory called `charset' as a sibling of `halibut', and will work with the first of those that it finds. A new release script arranges to provide the former in source tarballs (so that building if you're an ordinary user is just as simple as it always was). [originally from svn r4808]
2004-09-19Use "$(MAKE)" for sub-makes, so as to handle systems whose default "make"Ben Harris
isn't GNU Make. [originally from svn r4548]
2004-08-09`make release' tweak to prevent tarball containing trailing NULs (fix fromJacob Nevins
putty/mkunxarc.sh) - apparently this upsets some older gzips (1.2.4). [originally from svn r4431]
2004-07-05Apparently (according to a user) WinZip complains of `trailingSimon Tatham
garbage' when handling a GNU tar archive. Using the -o flag when building the tar file creates an archive which the user said WinZip had no trouble with, and GNU tar seems just as happy with that, so `make release' now uses -o. [originally from svn r4323]
2004-06-12Initial checkin of the shiny new rewritten-from-scratch HTML backSimon Tatham
end. There's a lot more _potentiality_ for new features than there are actual new features just yet, but future highlights include: configurable flavour of HTML (3.2, 4, XHTML Transitional or Strict), proper character set support (this is half way there already), and more flexible allocation of sections between multiple HTML files. Meanwhile, immediate benefits include correct handling of special characters within `author' and `description' strings, omission of the filename part in hyperlinks within the same HTML file (in particular, this means a single output file is now totally independent of its filename), and hyperlinks to the index from the top-level contents page (I'm amazed nobody has complained at the lack of this yet!). There are no doubt some shiny new bugs as well, but I'll never find them unless people start using the thing... [originally from svn r4275]
2004-06-02rjk's `make install' patch.Simon Tatham
[originally from svn r4267]
2004-04-22bk_text and bk_info both need to know the on-screen width ofSimon Tatham
characters in order to wrap and align them properly. Therefore, they should be using wcwidth(). So here are a couple of wrappers on wcwidth(), one which filters out the Unicode characters not representable in the target charset, and one which converts _from_ a charset to Unicode before calling wcwidth(). bk_text and bk_info should now align correctly even in the face of unsupported characters and Japanese. [originally from svn r4116]
2004-04-17Link libcharset into Halibut. (This involved faffing withSimon Tatham
CVSROOT/modules, so anyone with a checked-out copy of Halibut will unfortunately need to do `cvs co' again.) [originally from svn r4088] [added anachronistic .gitmodules so that past revisions can be checked out] [this svn revision also touched charset,timber]
2004-04-13Initial work on PS and PDF output. Because these two backends shareSimon Tatham
an enormous amount of preprocessing and differ only in their final output form, I've introduced a new type of layer called a `pre-backend' (bk_paper.c is one). This takes all the information passed to a normal backend and returns an arbitrary void *, which is cached by the front end and passed on to any backend(s) which state a desire for the output of that particular pre-backend. Thus, all the page layout is done only once, and the PS and PDF backends process the same data structures into two output files. Note that these backends are _very_ unfinished; all sorts of vital things such as section numbers, list markers, and title formatting are missing, the paragraph justification doesn't quite work, and advanced stuff like indexes and PDF interactive features haven't even been started. But this basic framework generates valid output files and is a good starting point, so I'm checking it in. [originally from svn r4058]
2004-04-09Added an info(1) backend, which constructs .info files directlySimon Tatham
without going through the .texi source stage. A few things left to do, notably documentation, but the basics all seem to be there. [originally from svn r4047]
2004-04-08Add a horrid md5sum manifest mechanism similar to the one I used inSimon Tatham
the Unix PuTTY archive, to automatically generate version numbers for Halibut release builds. [originally from svn r4044]
2004-04-08Add installation instructions.Simon Tatham
[originally from svn r4043]
2004-03-23Man-page back end for Halibut. Also, a couple of additional markupSimon Tatham
features commonly used in man pages: (a) the ability to nest paragraph breaks, code paragraphs and other lists inside list items, and (b) description lists as normally used in man pages to describe command-line options. [originally from svn r3954]
2002-08-11Add `topclean' target to the top-level Makefile, to remove theSimon Tatham
output from running Halibut on a test input file. [originally from svn r1833]
2002-08-05Rename Buttress to Halibut. I _think_ I've caught everything in this pass.Simon Tatham
[originally from svn r1800]
2001-12-04Most of a Windows Help back end now appears to work. Missing areSimon Tatham
hierarchical topic navigation (menus at the bottom of non-leaf topics, and the Up button) and index support; also I want to give users the ability to specify context IDs for particular topics. Oh, and I haven't found a plausible way to express a horizontal rule in either .RTF or .HLP format. But everything else appears to be there. [originally from svn r1447]
2001-12-04Replace Buttress's old tree23 routines with my shiny new countedSimon Tatham
tree234 routines; they will be useful in the WinHelp stuff at least. [originally from svn r1444]
2000-12-21Initial checkin of xhtml backend.James Aylett
[originally from svn r828]
2000-11-22Add "make spotless" to MakefileSimon Tatham
[originally from svn r809]
1999-10-24Test architecture changedSimon Tatham
[originally from svn r251]
1999-10-20First backend! Text output now pretty much works.Simon Tatham
[originally from svn r240]
1999-10-18Further development; mid-end index handling pretty much there!Simon Tatham
[originally from svn r238]
1999-08-15Further development; bibliographies seem to workSimon Tatham
[originally from svn r200]
1999-08-09More development; not nearly finished yetSimon Tatham
[originally from svn r193]
1999-07-31Further development work. Parser nearly finishedSimon Tatham
[originally from svn r187]