sourCEntral - mobile manpages

pdf

zcc

NAME

zcc − The frontend of z88dk

SYSNOPIS

zcc [flags] [files to be compiled/linked]

DESCRIPTION

This manual page documents briefly the z88dk tools. This manual page was written for the Debian GNU/Linux distribution (but may be used by others), because the original program does not have a manual page.

Please refer to the z88dk documentation in /usr/share/doc/z88dk−doc for the complete description of the system. If /usr/share/doc/z88dk−doc not exists, please install the package z88dk−doc.

The frontend of z88dk is called zcc, it is this that you should call if you want to do any compilations.

The files can be either C files (.c), preprocessed C files(.i), compiled C files (.asm), optimised compiled file (.opt) or assembled files (.obj), any combination of them can be mixed together and the relevant processed done on them.

Processing of a file list is done on each file in turn (i.e. preprocess, compile, optimise, assemble) at the end all files may be linked into a single executable if desired.

OPTIONS

Options to control the action of the frontend:
+[file]

Name of alternate config file (must be the first argument).

Predefined alternate configs:
abc80 ABC80
aceansi Jupiter ACE, using VT−ANSI engine
cpm CP/M
msx MSX 1
mz Sharp MZ
mzansi Sharp MZ, using VT−ANSI
nc Amstrad NC100
rex REX 6000
sam Sam Coupe
svi Spectravideo SVI
m5 SORD M5
ti82 Ti82, using ROM text routines
ti82ansi Ti82, using VT−ANSI
ti83 Ti83, using ROM text routines
ti83ansi Ti83, using VT−ANSI
ti85 Ti85, using ROM text routines
ti85ansi Ti85, using VT−ANSI
ti86 Ti86, using ROM text routines
ti86ansi Ti86, using VT−ANSI
ti8x Ti83+, using ROM text routines
[ti8xansi] Ti83+, using VT−ANSI
vz VZ / Laser 200
vzansi VZ / Laser 200, using VT−ANSI
z88 Cambridge Z88
z88ansi Cambridge Z88, using VT−ANSI
z88net Cambridge Z88 with TCP/IP
zx ZX Spectrum
zx81 ZX 81
zx81ansi ZX 81, using VT−ANSI
zxansi ZX Spectrum, using VT−ANSI

−a

Produce .asm (or .opt) file only

−c

Do not link object files

−E

Preprocess files only, leave output in .i file

−o [file]

Specify output file for binary (default is a.bas for BASIC programs and a.bin for application binaries)

−On

Optimize compiler output (to .opt file) n can be either 0 (none) 1,2,3, level 2 is recommended. Level 3 is suitable for large programs (includes certain lib functions to reduce size of code(!))

−v

Verbose − echo commands as they are executed

−vn

Don’t be verbose

Options to control library usage:
−l[name]

Link in a library − supply just the name (after placing them in the correct directory).

The ’name’ are:
farz88 Z88 far support
gfx Z88 BASIC graphics lib
gfxapp Z88 application graphics lib
m Generic math routines
malloc Generic near malloc routine
mz OZ’s math routines
ndos Fake file−routines, return errors only
net Z88 socket routines for ZSock
netdev Z88 socket routines for devices
p3 +3 file support library
tigray82 Ti82 graylib routines
tigray83 Ti83 graylib routines
tigray83p Ti83+ graylib routines
tigray85 Ti85 graylib routines
tigray86 Ti86 graylib routines
z88 Some Z88 application routines, like mailboxing
zxmath ZX Spectrum ROM based math routines
zxvgs ZXVGS hardware support

−m

Generate .map files when assembling/linking

Options to control the type code produced:
−unsigned

Implicitly define everything as unsigned unless explicitly told otherwise.

−create−app

Create an application image (i.e. bank 63,62 etc)

−make−app

(App) Notify the compiler that you’re trying to make an application

−reqpag=

(App) Number of 256 byte pages required for bad application

−zorg=

(App) Origin for a Z88 application

−safedata=

(App) Amount of safedata required by your code

−defvars=

(App) Where static variables should be dropped (only valid for single file compilations, but see later)

−expandz88

(App) Expanded z88 required −no−expandz88 (App) Expanded z88 not required (these two flags toggle some startup code to check for an expanded machine)

−startup=3

Produce standalone code that can be run from a set address from BASIC. Use −zorg= to change the address

−R

(Use with above) produces relocatable code that can be loaded into a DIM’d BASIC array.

−smartpf

Intelligent printf routine handling

−no−smartpf

Turn off the intelligent printf handling

−make−lib

Shortcut to generate .o files from library .c files

−stackoffset

Sets the stack offset for shared libs (see package.txt for details)

Miscellaneous options:
−z80−verb

Allow z80asm to be verbose, this tends to generate a lot of output to the screen so may not be desired.

−cc

Intersperse C code as comments in the assembler output, warning: this *will* clobber some optimizations.

−Wall

Turn on all the compiler warnings

−Wnone

Turn off all compiler warnings

−Wn[num]

Turn off the compiler warning [num]

−W[num]

Turn on the compiler warning [num]

−asxx

Cause the compiler to emit asxx compatible code

−Cp[option]

Pass an option through to the pre−processor

−Ca[option]

Pass an option through to the assembler

In addition, the flags, −D, −I, −U are passed through to the preprocessor.

SEE ALSO

z88dk(1), z88dk−zcc(1), z88dk−z80asm(1), z88dk−appmake(1), z88dk−copt(1).

AUTHOR

z88dk was written by Dominic Morris <dom AT z88dk DOT org>, and others. This manual page was written by Krystian Wlosek <tygrys AT waw DOT pdi DOT net> using exists documentation, for the Debian GNU/Linux system.

pdf