summaryrefslogtreecommitdiff
path: root/Makefile.in
Commit message (Collapse)AuthorAgeFilesLines
* warnings: define warning classes at point of usemkwarningsH. Peter Anvin (Intel)2018-12-131-1/+18
| | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/nasm-2.14.xx'H. Peter Anvin (Intel)2018-12-131-2/+3
|\ | | | | | | | | | | | | | | | | | | | | Resolved Conflicts: Makefile.in Mkfiles/msvc.mak Mkfiles/openwcom.mak asm/nasm.c nasmlib/alloc.c Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * malloc: handle potential infinite loop in nasm_alloc_failed()H. Peter Anvin (Intel)2018-12-131-1/+1
| | | | | | | | | | | | | | | | | | It is possible on memory exhaustion that nasm_fatal() might cause another allocation error, thus calling nasm_alloc_failed() again. If we find us in nasm_alloc_failed() for a second time, try to get a message out and then call abort(). Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | nasmlib: Add nasm_(v)asprintf()H. Peter Anvin (Intel)2018-12-121-1/+1
| | | | | | | | | | | | | | | | | | Add a version of (v)asprintf(), which allocates a string on the heap. Unlike the standard version of (v)asprintf(), we return the pointer; if one wants the length of the string then one can simply use the %n pattern. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | strlist: merge the strtbl and strlist interfacesH. Peter Anvin (Intel)2018-12-111-1/+0
| | | | | | | | | | | | | | | | The currently-unused strtbl was basically a slightly different version of strlist, with the find and linearize capabilities. Merge these two together by augmenting strlist to have the same capabilities. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | Move srcfile.c to asm/H. Peter Anvin2018-12-101-2/+2
| | | | | | | | | | | | srcfile.c is not used by anything outside asm/, so move it there. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | ctype: create our own ctype tableH. Peter Anvin2018-11-281-1/+1
|/ | | | | | | | Create our own ctype table where we can do the tests we want to do cheaply, instead of calling ctype functions and then adding additional tests all over the code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: fix building RDOFFH. Peter Anvin2018-06-181-1/+1
| | | | | | | Apparently it isn't just NMAKE which is sensitive to the ordering of .SUFFIXES, it apparently applies just as well to Unix make. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* MSVC: fix dependency generation and building RDOFF under MSVCH. Peter Anvin2018-06-181-17/+16
| | | | | | | | | | | | 1. The mkdep.pl program didn't handle excluded dependencies correctly, causing it to error out due to config/config.h not existing. 2. NMAKE is sensitive to the order suffixes appear in .SUFFIXES, causing it to try to use the builtin rule .c.exe instead of .c.obj -> .obj.exe. 3. NMAKE doesn't handle the && operator between commands. 4. The !ifdef jungle around dependency generation was wrong. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Makefile.in: remove duplicated $(ALL_CFLAGS)H. Peter Anvin2018-06-151-3/+3
| | | | | | We really don't need every C compiler flag repeated twice. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Eliminate filename length restrictions, remote ofmt->filename()H. Peter Anvin2017-12-201-1/+4
| | | | | | | | | | | Get rid of remaining dependencies on FILENAME_MAX, which ought to have been removed a long time ago. Remove ofmt->filename(); all implementations pretty much do the same thing and there is absolutely no reason to duplicate that functionality all over the place. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Makefile.in: fix typo in pathnameH. Peter Anvin2017-11-291-1/+1
| | | | | | tools/ not qtools/ Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* More autoconf modernizations; upgrade AC_PREREQ to 2.69H. Peter Anvin2017-11-081-18/+17
| | | | | | | | | | Make further autoconf rule improvements and update the required version of autoconf to 2.69. That version is now 5+ years old and although there might be older versions which have the prerequisite macros they are known to have lots of bugs, and we can't really test them. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Make dependency generation a bit more robustH. Peter Anvin2017-11-061-18/+49
| | | | | | | Improve the corner cases where we might end up with bogus dependencies. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: don't store dependency information in gitH. Peter Anvin2017-11-011-436/+45
| | | | | | | Make it possible to keep dependency information separate from the Makefiles, so we don't have to deal with it noisifying the git logs. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* make alldepsH. Peter Anvin2017-11-011-52/+55
|
* ilog2(): inline functions if practicalH. Peter Anvin2017-09-271-16/+18
| | | | | | | For many (most?) targets these will be very small functions, so inline them. However, just in case make these external library functions. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* build: Merge CPPFLAGS into ALL_CFLAGSCyrill Gorcunov2017-07-061-4/+4
| | | | | | | | | | | | This is a fix for a4f6ca5a33d - We should not use sole CPPFLAGS when compiling, but rather merge it into ALL_CFLAGS - nasm.spec.in should use DESTDIR since INSTALLROOT now renamed to it Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Make buildsystem respect GNU conventionsDavid Seifert2017-07-061-20/+21
| | | | | | | | | | | | | | | | | | | | | | * 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>
* Merge remote-tracking branch 'origin/elf'H. Peter Anvin2017-04-291-240/+267
|\
| * Clean up byteorder functionsH. Peter Anvin2017-04-241-243/+264
| | | | | | | | | | | | | | Move byte order handling functions to their own header file, and try to be more specific about how exactly to handle things. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * output: generic string table implementationH. Peter Anvin2017-04-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Several output formats use "string tables", which is a collection of null-terminated (C) strings which are referenced by a byte offset into the string table. A single string can be referenced an arbitrary number of times. As this is quite simple to implement with a hash table, we do exactly that. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Makefile.in: better filter for Perl dependenciesH. Peter Anvin2017-04-261-2/+2
|/ | | | | | Be a bit smarter about what to require and what to ignore. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasmlib: add path-splitting functionsH. Peter Anvin2017-04-231-11/+15
| | | | | | | | | Some debugging formats may need to be able to split paths into directory name and filename, at least. This is kind of iffy, at least across platforms, but that isn't really expected to be an issue in practice... we hope. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.spec: s/Build-Requires/BuildRequires/H. Peter Anvin2017-04-231-1/+1
| | | | | | Fix incorrectly spelled tag. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.spec: use a sed file to insert perl dependenciesH. Peter Anvin2017-04-231-2/+2
| | | | | | There are just too many ways that an inline sed script can screw up. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.spec: sync with Fedora spec file, auto-generate Perl dependsH. Peter Anvin2017-04-231-2/+11
| | | | | | | | Sync up with how the Fedora spec file has evolved. Auto-generate the Perl build dependencies. Add --enable-lto: it makes especally the rdoff files much smaller. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rdoff: use nasm-provided safe memory allocation and I/OH. Peter Anvin2017-04-171-16/+24
| | | | | | | | | We already have abort-on-error memory allocation and I/O operations in nasmlib, so use them for rdoff as well. Delete long-since-obsolete rdoff Mkfiles directory. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Makefile.in: add $(X) to the list of suffixesH. Peter Anvin2017-04-061-1/+1
| | | | | | | If $(X) is not empty, it needs to be added as a suffix, otherwise the rule .$(O)$(X) won't do anything at all. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: more fixes to rdoff commandsH. Peter Anvin2017-04-061-2/+2
| | | | | | The rdoff command links are cantankeous. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: fix install_rdf some more...H. Peter Anvin2017-04-061-2/+3
| | | | | | Apparently I have a hard time getting this right today. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: missing \ broke "make install_rdf"H. Peter Anvin2017-04-061-1/+1
| | | | | | | A missing backslash broke "make install_rdf", and therefore broke the build robot. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: fix dumb mistakesH. Peter Anvin2017-04-061-3/+3
| | | | | | | Fix a few dumb but serious mistables in Makefile.in that prevented anything from actually getting linked. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile.in: make rules for rdoff only define dependenciesH. Peter Anvin2017-04-061-7/+6
| | | | | | | MSVC command-line syntax doesn't allow us to share these rules if explicit. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rdoff: move rdoff build into main Makefile to make it build on WindowsH. Peter Anvin2017-04-061-10/+100
| | | | | | | NSIS packages rdoff, and we really want to be able to build the full NSIS package on an MSVC platform. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* BR 3392397: WMAKE uses a nonstandard syntax for phony targetsH. Peter Anvin2017-04-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The standard syntax for a phony target in Make is: target: <dependencies> .PHONY: target ... however, Watcom WMAKE seems to use target: <dependencies> .SYMBOLIC and furthermore, seems to *require* it. Therefore, remove the "perlreq" target from the automatically distributed region and move it into the specific region; it should not need to change anyway since the PERLREQ list itself is still synced. If it was only a matter of the .SYMBOLIC versus .PHONY token it would be easy enough to change that in syncfiles.pl, but this syntax change is big enough that it doesn't make enough sense to worry about. Reported-by: sezero <sezero@users.sourceforge.net> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefiles: distribute file generation rules via syncfiles.plH. Peter Anvin2017-04-031-32/+41
| | | | | | | | Distribute the file generation rules to auxiliary Makefiles via syncfiles.pl. These rules are OS- and Make-dialect-generic enough that our mangling script handles them well enough. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Rename insns-iflags.pl -> insns-iflags.ph, add missing dependencyH. Peter Anvin2017-04-031-10/+10
| | | | | | | insns-iflags.ph is included from another Perl script, so rename it .ph (Perl header). Add missing dependency to the main Makefile. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add generic perfect string hashes, use for directivesH. Peter Anvin2017-04-031-107/+120
| | | | | | | | | | | | | | Add a generic facility for generating perfect string hashes, where all that is needed is an enum and a string table. The existing mechanism using a custom Perl script wrapped around a module continues to be available for any use case where this particular approach isn't sophisticated enough. Much of this patch comes from renaming "enum directives" to "enum directive" as a result of the string hash generator expecting a set of uniform naming conventions. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Run "make alldeps"H. Peter Anvin2017-03-081-5/+5
| | | | | | Missing dependencies strike again :( Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Add a generic pragma-handling infrastructureH. Peter Anvin2017-03-071-0/+6
| | | | | | | Add infrastructure for handling %pragmas with a variety of namespaces, etc., etc... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* asm/*: Move directive processing to its own file, refactor error handlingH. Peter Anvin2017-03-071-112/+123
| | | | | | | | Move directive processing to its own file, and move nasmlib/error.c to asm/error.c (it was not used by the disassembler); remove some extern declarations from .c files, and do some general code cleanups. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Rename directiv.c to directbl.c to free up the name directiv.cH. Peter Anvin2017-03-071-5/+5
| | | | | | | | We want to move the directive handling to a separate file, so change the filename of the directive table handler to something a bit more specific. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* make clean: clean up more things that ought to beH. Peter Anvin2017-03-011-5/+10
| | | | | | | | Cleaning up hasn't really kept up to date with source code changes. Try make it better for now; this also ought to make it easier to do the corresponding cleaning in the *.mak files. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Run make alldepsH. Peter Anvin2017-02-281-0/+5
|
* exprlib: move dumping code to a separate C fileH. Peter Anvin2017-02-281-1/+1
| | | | | | | Most of the time we don't need the dumping code, so move it to a separate C file to the linker can exclude it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Makefile: move all non-main objects into libnasm.aH. Peter Anvin2017-02-281-20/+22
| | | | | | | | | | | | There is no fundamental reason for all objects that don't contain a main() function to not be part of libnasm.a; this allows the linker to do its job optimally, especially in the presence of debugging code which may not be needed under normal conditions. If we do end up with function name conflicts the library might have to be split, but it would be better to simply avoid that case. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* nasmlib/file: move memory-mapping functions out of file.cH. Peter Anvin2017-02-231-2/+5
| | | | | | | | Move memory-mapping functions from file.c into a separate mmap.c. This will be cleaner especially once (if) we end up doing a Windows implementation, which is likely to look entirely different. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Move canned OpenWatcom config to config/watcom.h.H. Peter Anvin2016-10-191-168/+198
| | | | | | | Move the canned OpenWatcom configuration file to config/watcom.h. Also exclude config/config.h from being a dependency for MSVC. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Run make alldepsH. Peter Anvin2016-10-141-1/+1
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>