diff options
Diffstat (limited to 'Readme')
-rw-r--r-- | Readme | 76 |
1 files changed, 36 insertions, 40 deletions
@@ -1,53 +1,49 @@ -This directory contains the necessary files to port the C compiler -``LCC'' (available by FTP from sunsite.doc.ic.ac.uk in the directory -/computing/programming/languages/c/lcc) to compile for Linux (a.out or -ELF) or other supported operating systems by using NASM as a back-end -code generator. -This patch has been tested on lcc version 4.0. + NetWide Assembler for the SciTech MGL + ------------------------------------- -To install: +This is a modified distribution of NASM, the Netwide Assembler. NASM +is a prototype general-purpose x86 assembler. It will currently output +flat-form binary files, a.out, COFF and ELF Unix object files, +Microsoft Win32 and 16-bit DOS object files, OS/2 object files, the +as86 object format, and a home-grown format called RDF. -- Copy `x86nasm.md' into the `src' directory of the lcc tree. +This version of NASM has been modified by SciTech Software such that it +can be used to assemble source code in the SciTech MGL graphics library, +and understands enough of TASM assembler syntax such that both NASM +and TASM can be used to generate assembler modules for the MGL graphics +library. A complete macro package is provided as part of the SciTech +MGL that provides macros to help in building modules that will work with +either assembler. -- Copy either `lin-elf.c' or `lin-aout.c' into the `etc' directory. +A pre-compiled binary of NASM is provided as part of the SciTech MGL +graphics library, however you may re-build the assembler from the sources +provided. To do so make sure you have the SciTech Makefile Utilties +correctly configured for your compiler, and then simly type: -- With previous versions, you had to modify x86-nasm.md if you weren't - using ELF. There is now inbuilt support within NASM in the shape - of the __CDECL__ macro, so this modification is no longer necessary. + unset DBG + dmake OPT=1 -- Make the following changes to `bind.c' in the `src' directory: +to build an optimised, non-debug version of the assembler. If you wish +to rebuild for a different OS other than DOS or Win32, you will need to +first compile the DMAKE make program for your OS. See the DMAKE source +code for more information. - - Near the top of the file, add a line that reads - extern Interface x86nasmIR; +Licensing issues: +----------------- - - In the `bindings' array, add the lines - "x86-nasm", &x86nasmIR, - "x86/nasm", &x86nasmIR, - (in sensible looking places...) +For information about how you can distribute and use NASM, see the +file Licence. - A sample `bind.c' has been provided to show what the result of - this might look like. You might be able to get away with using it - directly... +The NASM web page is at http://www.cryogen.com/Nasm/ -- Modify the lcc makefile to include rules for x86nasm.o: this will - have to be done in about three places. Just copy any line with - `x86' on it and modify it to read `x86nasm' everywhere. (Except - that in the list of object files that rcc is made up from, do - remember to ensure that every line but the last has a trailing - backslash...) +Bug reports specific to the SciTech MGL should be posted to SciTech +Software MGL newsgroups: -- You may have to modify the contents of `lin-elf.c' or `lin-aout.c' - to reflect the true locations of files such as crt0.o, crt1.o, - ld-linux.so and so forth. If you don't know where to find these, - compile a short C program with `gcc -v' and see what command line - gcc feeds to `ld'. + news://news.scitechsoft.com/scitech.mgl.developer -- You should now be able to build lcc, using `lin-elf.c' or - `lin-aout.c' as the system-dependent part of the `lcc' wrapper - program. +Bug reports (and patches if you can) for NASM itself that are not SciTech +MGL related should be sent to the authors at: -- Symlink x86nasm.c into the `src' directory before attempting the - triple test, or the compile will fail. - -- Now it should pass the triple test, on either ELF or a.out. Voila! + Julian Hall <jules@earthcorp.com> + Simon Tatham <anakin@pobox.com> |