Commit Graph

19 Commits

Author SHA1 Message Date
H. Peter Anvin
d235408c65 preproc: standard macros now C-safe, %aliases off, fix %? recursion
Enough users expect the namespace starting with underscore to be safe
for symbols. Change our private namespace from __foo__ to
__?foo?__. Use %defalias to provide backwards compatiblity (by using
%defalias instead of %define, we handle the case properly where the
user changes the value.)

Add a preprocessor directive:

%aliases off

... to disable all smacro aliases and thereby making the namespace
clean.

Finally, fix infinite recursion when seeing %? or %?? due to
paste_tokens(). If we don't paste anything, the expansion is done.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2019-08-27 16:42:41 -07:00
H. Peter Anvin (Intel)
177a05d0ce perl files: clean up warnings
Clean up some perl warnings, some of which were legitimate (apparently
undef doesn't actually take a list of arguments, a common enough
mistake that it is mentioned in the man page!, and a list of variables
after "my" can be cantankerous), and some of which were nuisance but
were easy enough to clean up.

Maybe this can resolve the problems with very old version of Perl?

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2019-08-09 13:30:19 -07:00
H. Peter Anvin
f7606613d0 Handle multiple standard macro sets sanely
The ordering of the macro sets ended up changing due to the recent
file reorganization.  Instead of forcing the order again, handle
multiple macro sets (rather than just two) in a coherent manner.

macros/macros.pl could use a cleanup of duplicated code, however.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2016-07-13 14:23:48 -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
e6ee1a859b Add copyright verbiage to Perl scripts; update LICENSE
This adds copyright verbiage to the Perl scripts.  Scripts that are
known to be clean w.r.t. the 2-clause BSD license are given that
license; unclear ones are given the "LGPL for now".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-28 16:54:44 -07:00
H. Peter Anvin
d8979222e9 nasm.nsi: add NASM Manual; automate version generation
Add the NASM Manual (as a PDF) to the Windows installer, and abstract
out the version number.
2009-04-06 19:12:34 -07:00
H. Peter Anvin
b6e36102e6 version.pl: snapshot releases *only* have digits in the tail
Snapshot releases have *only* digits in the tail.  "git describe"
produces tails that have digits in them, but aren't numeric.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-01 12:57:05 -07:00
H. Peter Anvin
9ee0ceadff For snapshot releases, expand out the mangled version numbers.
For snapshot releases, expand out the mangled version number,
e.g. 2.05.00.0.20081025.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-25 12:41:29 -07:00
H. Peter Anvin
b2783e19a3 version.pl: don't add an extra .00 for subminor if we don't need it
When producing the mangled version number, don't add a subminor if
there isn't a patch level or release candidate number.  Thus, 2.05p1
is 2.05.00.01, but 2.05 can just be 2.05.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 10:10:32 -07:00
H. Peter Anvin
18622eb374 version.pl: produce Makefile variables
Add a mode to version.pl to produce Makefile variables (used by
Netware Makefile.)
2008-02-05 21:29:32 -08:00
H. Peter Anvin
7065309739 Formatting: kill off "stealth whitespace"
"Stealth whitespace" makes it harder to read diffs, and just generally
cause unwanted weirdness.  Do a source-wide pass to get rid of it.
2007-10-19 14:42:29 -07:00
H. Peter Anvin
747a80e0d6 version.pl: Add support for daily snapshot releases
Add support for daily snapshot releases of the form
<ordinary version number>-<datecode>.  These are exported to programs
as the new macro __NASM_SNAPSHOT__ (only present in snapshot releases.)
2007-09-27 21:12:17 -07:00
H. Peter Anvin
9b8f0ad113 Update nasm.spec.in and make it handle rc releases
Update nasm.spec.in to match modern conventions, and make it handle rc
releases by using the "mangled" version of the name (1.99.99.91
instead of 2.0rc1).
2007-09-22 16:35:11 -07:00
H. Peter Anvin
b10f3e2dca version.pl: support version numbers of the form X.Y[.Z]rcW
Support version numbers of the form X.Y[.Z]rcW where X, Y, Z and W are
numbers.  For the numeric macros, drop them down to a lower level, so
2.0rc1 is treated as version 1.99.99.91.
2007-09-22 16:19:19 -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
H. Peter Anvin
f29b128afd Accept X.YYplZ as a valid version number (equivalent to X.YY.0.Z) and
generate Serial: tags in the RPM spec file to help clue RPM in.
2002-05-21 02:28:51 +00:00
H. Peter Anvin
5a09ee3cf3 Add __NASM_PATCHLEVEL__ and __NASM_VERSION_ID__ macros 2002-05-20 01:04:34 +00:00
H. Peter Anvin
00edfad9cb Remove unnecessary spaces in version.mac 2002-05-04 04:10:09 +00:00
H. Peter Anvin
e87613b14e Make all version information come from the single file "version".
Introduce new standard __NASM_SUBMINOR__ and __NASM_VER__ macros.
2002-05-04 03:57:52 +00:00