0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-10-10 00:25:06 -04:00
Commit Graph

59 Commits

Author SHA1 Message Date
H. Peter Anvin
467828c431 Even more path hacks for the rpm build
- append /html if htmldir = docdir

- Run autogen.sh with --cleanenv

- Actually use PDFZ and not just Z in doc/Makefile.in.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-10-02 17:31:58 -07:00
H. Peter Anvin
a179a1a826 install: add option for installing .pdf.xz; fix RPMs
- Add an option to use "make install" to install .pdf.xz

- Fix RPM spec file to put the documentation in doc/nasm instead of
  doc/nasm-doc.

- RPM doesn't like unversioned Obsoletes; set a valid cutoff.

- Make nasm-doc depend on nasm.

- Add zlib-devel as a build dependency.

- Add EXTRA_CFLAGS and EXTRA_LDFLAGS for some automated platforms.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-10-02 17:11:52 -07:00
H. Peter Anvin
7415a1e5f8 Build: update various build installation directories
Modernize and improve the handling of build directories.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-10-02 16:08:04 -07:00
H. Peter Anvin
4acc3dbccc Fix more license headers 2025-10-01 12:05:34 -07:00
H. Peter Anvin
55b179ef37 doc: add a few more items to the clean target
Add a few more things that should be cleaned up when making the
documentation...

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-09-29 16:30:57 -07:00
H. Peter Anvin
1d63ae2a3b doc: update the documentation, and auto-generate some indexes
There are currently six variations of each conditionals, and there may
be more in the future (e.g. %while). Stop trying to enumerate them all
everywhere.

Add support for index copying in the document processor.

Have pptok.pl auto-generate index metadata for conditional
preprocessor directives.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-09-05 17:12:06 -07:00
H. Peter Anvin
83534f1f37 Merge remote-tracking branch 'origin/master' into apx.wip
Resolved Conflicts:
	Makefile.in
	Mkfiles/msvc.mak
	Mkfiles/openwcom.mak
	asm/assemble.c
	asm/nasm.c
	asm/parser.c
	doc/Makefile.in
	include/nasm.h
	include/tables.h
	output/legacy.c
	travis/test/br3392531.stderr
	travis/test/br3392716.stderr
	travis/test/org.stderr
	x86/insns.dat

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-08-25 21:09:15 -07:00
H. Peter Anvin
6ad3bab7fe doc: break the documentation into chapters
Make the source code for the documentation a little easier to deal
with by breaking it into individual chapter files. Add support to
rdsrc.pl for auto-generating dependencies.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-08-13 15:55:37 -07:00
H. Peter Anvin
67339f6965 insns: rename addflags.pl to preinsns.pl; use insns.xda for doc
The former addflags.pl now does more general preprocessing, so rename
it from addflags.pl to preinsns.pl.

To generate the instruction list in the documentation, use the
post-preprocessed insns.xda file.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-08-11 21:34:02 -07:00
H. Peter Anvin
aa03a95edd doc: improve the build from source documentation
Update and improve the build from source documentation, including add
an auto-generated list of Perl build dependencies.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2024-05-20 10:54:26 -07:00
H. Peter Anvin
b11cd3a426 warnings: more improvements to warnings generation
Try to better sort out the necessary dependencies for warning
generation.

Fix regex for cleaning up nasmdoc markup: nasmdoc markup does not
nest, although it may include \} sequences.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 14:18:34 -07:00
H. Peter Anvin
7e80d6b834 Make: handle warning files while building in a directory
The dependency on the warning files breaks when we are building in a
directory *and* the files already exist from being shipped with the
distribution tarballs. The make VPATH simply isn't sophisticated
enough to deal with it, so let the C compiler handle it by #including
the generated file from a dummy C file.

Reported-by: Rudi Heitbaum <rudi@heitbaum.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-01-17 13:05:55 -08:00
H. Peter Anvin (Intel)
941c75a2b2 Makefile portability improvement, build nasmdoc.pdf.xz
Significantly improve the portability/reliability of a general
make command. Build a .pdf.xz version of the documentation,
using an uncompressed pdf as basis.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-05-26 14:13:31 -07:00
Andrey Matyukov
4df1386eb0 doc: Update for upcoming 2.15 release
Update release notes and documentation for 2.15

Signed-off-by: Andrey Matyukov <andrey.matyukov@intel.com>
Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
2020-05-06 20:37:09 +00:00
H. Peter Anvin
18e87ce7bd doc: we really need a Fontmap file
It turns out that we need a Fontmap file after all, *and* -I. to make
gs find it. Inconsistent results came from stray Fontmap files from
previous debug attempts.

Now generate both fontpath and Fontmap, and hopefully at least one of
them should work. We might, in fact, need both, one for gs to know
where the files are and one for gs to know it is allowed to read them.

The core problem seems to be that gs will find OTF fonts by its normal
discovery mechanisms, but for some reason don't seem to use them
unless it can find them in a Fontmap, Font directory, of CIDFont
directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2019-10-04 13:09:30 -07:00
H. Peter Anvin (Intel)
3d10569bbe doc: actually build and propagate fontpath file
The machinery was built in, but the option wasn't invoked from the
Makefile.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2019-08-06 23:07:44 -07:00
H. Peter Anvin (Intel)
723ab481a6 warnings: define warning classes at point of use
It is extremely desirable to allow the user fine-grained control of
warnings, but this has been complicated by the fact that a warning
class has had to be defined in no less than three places (error.h,
error.c, nasmdoc.src) before it can be used in source code. Instead,
use a script to define these via magic comments at the point of use.

This hopefully will encourage creating new classes as needed.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2018-12-13 21:53:31 -08:00
H. Peter Anvin
ceeaf11e66 Make dependency generation a bit more robust
Improve the corner cases where we might end up with bogus
dependencies.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-11-06 22:37:37 -08:00
David Seifert
a4f6ca5a33 Make buildsystem respect GNU conventions
* CPPFLAGS is a user variable and should be respected
  when compiling .c files. Think of -D_FORTIFY_SOURCE=2.

* Pass ALL_CFLAGS when linking too. This is recommended
  for certain edge cases (-flto)

* Use DESTDIR instead of INSTALLROOT for staging dir
  Every other build system (Automake, CMake, Meson) uses
  DESTDIR. This integrates better into distro and other
  build systems that have standard hooks for DESTDIR.

* $(MAKE) -C <dir> is better than cd'ing into a <dir>

* Use Autoconf's ${docdir} and ${htmldir} for installing
  the documentation. This makes handling documentation
  easier and respects user choice.

Signed-off-by: David Seifert <soap@gentoo.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2017-07-06 01:28:57 +03:00
H. Peter Anvin
984c6011ba doc/genps: make sure we pick up nasmlogo.eps when building cross-dir
When building in a different directory, we still want to make sure we
pick up nasmlogo.eps.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-17 01:38:41 -07:00
H. Peter Anvin
d31a74e301 doc: add a local.css specifically to be overridden locally
Add a file local.css which is referenced *after* nasmdoc.css, thus
overriding the latter.  This file intentionally has no actual content,
which means it can be overridden locally for any desired content,
e.g. indexing into web fonts or overriding any of the style.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-16 23:52:23 -07:00
Ed Beroset
74fa0a736a configure.ac, doc/Makefile.in: fix out-of-directory build
Missed some necessary updates.

Signed-off-by: Ed Beroset <beroset@ieee.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-14 15:28:18 -07:00
Ed Beroset
d219c55643 configure, doc/Makefile.in: fix out-of-directory build
Fix bit rot for out of directory builds.

Signed-off-by: Ed Beroset <beroset@mindspring.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-14 09:54:17 -07:00
H. Peter Anvin
ebb8a46386 doc: don't try to install info files we no longer build
No more info files, so don't try to install them...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-14 02:55:37 -07:00
H. Peter Anvin
22fe5b0760 doc: generate proper XHTML for the contents and index
The table of contents and index needed rework to be valid (X)HTML.
The TOC in particular needed some fairly significant rework - it is
supposed to be an ordered list, after all.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-14 01:50:13 -07:00
H. Peter Anvin
5194f77bfd doc: add indented paragraphs, valid XHTML, CSS style sheet
Add indented paragraphs, which can be used to continue an item in a
bulleted list.

Produce valid strict XHTML, and include a style sheet with a navbar
and other fancy things.

Remove archaic output formats.  Now only text, XHTML, and PDF are
supported.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-13 22:12:05 -07:00
H. Peter Anvin
f13effec22 doc: add the option to generate an uncompressed PDF
An uncompressed PDF is about twice as big, but if one is using an
external compression program (e.g. .pdf.xz) it compresses far better.
Use it for the RPM specfile.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-10 16:10:28 -07:00
H. Peter Anvin
e8a9041c58 doc/Makefile.in: drop nasmdoc.ps as a usable documentation file
There is no sane reason to use nasmdoc.ps over nasmdoc.pdf since, oh,
about 20 years.  nasmdoc.ps doesn't embed the fonts (and if it did, it
would be very large, whereas nasmdoc.pdf only contains the characters
we explicitly need), and support for PDF is generally much better than
support for PostScript.

It also makes the distribution file smaller to not have two redundant
files.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-10 15:34:59 -07:00
H. Peter Anvin
4319b9561d Makefile.in: add ttfmetrics.ph as a dependency
The new module ttfmetrics.ph is a dependency.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-10 06:41:13 -07:00
H. Peter Anvin
70b070f952 doc: improve the look of the documentation with better fonts
Use the Adobe Source Sans/Code Pro fonts by default.  They are Open
Source fonts by Adobe.  However, since these fonts are quite large,
let them be an external dependency and do our best to try to find them
with whatever mechanism is available on the system for finding
standard fonts.

Also have a list of substitution fonts if necessary.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-10 06:35:29 -07:00
H. Peter Anvin
cb52d49a45 doc: complete removal of unnecessary moves
Make the tool write the output (especially HTML) in a specified
subdirectory directly, and make the tool create the subdirectory if it
doesn't already exists.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-06 20:33:39 -07:00
H. Peter Anvin
77f4395247 msvc: finally make it possible to build the full Windows package
Finally make it possible to build the full Windows install package
with MSVC tools.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-04-06 20:20:04 -07:00
H. Peter Anvin
d31a86e5b1 doc: don't bother using autoconf to search for pdf tools
We have separate invocations for the various PDF tools anyway.  It
generates a slightly annoying error message, but makes some other
things a little easier.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-06 19:38:38 -07:00
H. Peter Anvin
3d74b091e9 doc: update location of insns.dat
insns.dat is now in the x86 directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-07-06 11:02:14 -07:00
H. Peter Anvin
407166001c Fix building in a separate directory from the source code
The code to handle building in a separate directory had seriously
bitrotted.  This contains a number of fixes to make it possible,
including bits like the documentation which never worked in the past.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2016-05-16 20:30:09 -07:00
H. Peter Anvin
0d55110313 doc: inslist.src is an intermediate file, move to "make clean"
inslist.src is an intermediate file, it should be in "make clean"
rather than "make spotless"; otherwise it ends up in the xdoc tarball.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-06-25 13:40:10 -07:00
H. Peter Anvin
7ae512b5a8 More "make install" fixes... 2009-07-05 18:48:50 -07:00
H. Peter Anvin
04156cd099 Move the revision history into the documentation
Clumsily convert the revision history to nasmdoc format, so it can be
included in the documentation as Appendix C.
2008-07-14 02:45:57 -04:00
H. Peter Anvin
9dee352dee doc: macroize texi2ipf and ipfc
Macroize the texi2ipf and ipfc commands (used for OS/2).
2008-06-19 11:47:13 -07:00
H. Peter Anvin
eec3b52505 doc: for ps to pdf conversion, use "acrodist", "ps2pdf" or "pstopdf"
For PostScript to PDF conversion, use whichever of "acrodist",
"ps2pdf", or "pstopdf" which we can find on the system.  I haven't
tried either acrodist or pstopdf myself, only going my the
documentation, but prefer acrodist since it is claimed to produce
smaller output files than ps2pdf.
2008-06-19 11:39:23 -07:00
H. Peter Anvin
07c1468307 doc: add missing nasmdoc.txt target 2008-06-16 21:19:34 -07:00
H. Peter Anvin
cca25b8a13 doc: Makefile fixes missing from previous checkin 2008-06-15 21:18:24 -07:00
H. Peter Anvin
8960f37b9c doc/Makefile.in: avoid deleting opt_var.txt, fix dependencies
Fix dependencies in the generation of the instruction list, and make
sure we don't delete opt_var.txt on "make spotless".
2008-01-20 21:50:02 -08:00
Charles Crayne
c17a0eb31b Add autogenerated instruction list to NASM documentation
1. Allow included files in rdsrc.pl
2. New program inslist.pl to generate instruction list from insns.dat
3. Mark certain comments in insns.dat as documentation subheaders
4. Add Instruction List appendix to nasmdoc.src
5. Update build process to invoke inslist.pl
2008-01-20 16:27:03 -08:00
H. Peter Anvin
88602aa53a ps2pdf: remove -dOptimize=true
Remove -dOptimize=true; it actually generates larger output, since the
optimization performed is "network optimization".
2007-11-08 20:29:37 -08:00
Charles Crayne
f3eea3d539 Suppress datarootdir warnings from configure 2007-10-18 23:33:06 -07:00
H. Peter Anvin
d105682096 Remove $Id$ tags (useless with git)
Remove CVS $Id$ tags, since git doesn't use them.
2007-09-12 21:05:06 -07:00
Eric Christopher
1e0de6e913 Fix documentation building for non-srcdir builds. Still bugs in .ps implementation.
Add Mach-O documentation.
2006-02-04 00:23:30 +00:00
H. Peter Anvin
7a29118879 Use a driver Perl script to run genps.pl, since Windows Make can't
handle `cat ...`
2002-05-18 22:17:28 +00:00
H. Peter Anvin
e0372c8c05 Add version number to the cover page, generated from the version file. 2002-05-18 20:36:25 +00:00