elice (1) - Linux Man Pages

elice: compiler for programs written in PureBasic

NAME

elice - compiler for programs written in PureBasic

SYNOPSIS

elice [options...] [-o outfile] sourcefile...

DESCRIPTION

elice is a compiler for programs written in the proprietary language PureBasic. It compiles such programs to C++ and then invokes g++ to generate an executable. Its interface is similar to that of g++.

Normal usage is to compile just one source file, which uses IncludeFile and XIncludeFile statements to incorporate whatever other source files are needed. Such include statements are resolved relative to the directory of the source file they are in. If there are multiple source files on the command line, they are compiled together to form one executable.

elice comes with a library of builtin procedures which will be included in the executable when they are needed. Depending on which builtin procedures are used, the resulting executable may be dynamically linked to other libraries such as libSDL.

OPTIONS

Most options will be passed through to g++, so you can use -g -O2 and such as usual.
-o outfile
Use outfile as the name of the resulting executable. Without -o, the default is to use the name of the first source file without its extension (for example prog.pb becomes prog).
-save-temps
Save intermediate stages of compilation (C++ with suffix .cc, preprocessed C++ with suffix .ii, assembler code with suffix .s, object code with suffix .o) in the current directory.
-v
Verbose mode. Print detailed information about the programs invoked during compilation.

EXIT STATUS

The exit status is 0 if there were no errors. elice returns 1 if there was a parse error or an error in the command line. If the invocation of g++ fails, it returns the exit code from g++.

EXAMPLES

elice -g -O2 program.pb -o program

BUGS

This program is a work in progress. It does not support the entire PureBasic language, and supports only a small selection of the builtin procedures. It was written to compile one specific program, and it is not likely to be able to compile other programs without modification.

Please let the author know if you would like to use elice to compile other free software programs and need help extending it.

REPORTING BUGS

Report bugs to <eligo [at] clueonic.net>.

AUTHOR

Written by Richard Braakman.

COPYRIGHT

Copyright 2008 Richard Braakman. Published under the GNU GPL version 2 or later. See the COPYING file for details. There are additional permissions for the use of the runtime library.

HISTORY

elice was written specifically to free the game Lost Labyrinth (http://www.lostlabyrinth.com/) and to make it playable on the author's amd64 system. Lost Labyrinth is a free software game published under the GNU GPL, but it is written in a language that had a proprietary compiler, and that compiler supported a limited set of target platforms which did not include 64-bit Linux.

Under the battle cry of "It's BASIC, how hard can it be?" the author of elice started to write a free compiler. Most of the work was done in September 2006 and it resulted in a playable game, but the compiler was not maintained and was not able to compile newer versions of Lost Labyrinth.

The first public version of elice was released in the summer of 2008, when it had been upgraded to support PureBasic version 4 and was ready for inclusion in the build system of Lost Labyrinth.

Much thanks goes to Markus D[:o]bele for having faith in early versions of elice and relying on it to build the Linux version of Lost Labyrinth.