ECU(1)

NAME
euc - Euphoria to C Translator - Translates Euphoria programs to C.

SYNOPSIS
euc [-batch] [-c filename] [-cc-prefix prefix] [-d word] [-eudir dir.RB[-i path] [-l local] [-ldb localdb] [-p file_ext:command] [-strict] [-test] [-version] [-w name] [-wf filename] [-x name] [-silent] [-verbose] [-wat] [-gcc] [-clfags flags] [-lflags flags] [-com dir] [-con] [-so|-dll] [-plat platform] [-lib filename] [-lib-pic filename] [-debug] [-maxsize size] [-keep] [-stack n] [-makefile] [-makefile-full] [-emake] [-nobuild] [-force-build] [-builddir dir] [-o filename] euphoria-program

DESCRIPTION
This manual page documents briefly the euc command.

The euphoria to C translator converts euphoria source code into C source that can be compiled into native code. The resulting executable doesn't need the euphoria interpreter (eui) to run. After translation, an executable script named emake will be created in the current directory. It contains the commands required to compile and link the resulting C source files. Either stand alone executables or shared libraries can be built. The shared libraries can be used by any other program, and can also be used to pass native euphoria objects from a euphoria program that uses the library.

OPTIONS
Common options

-batch
    Executes the program but if any error occurs, the "Press Enter" prompt is not presented. The exit code will be set to 1 on error, 0 on success.

-c path-to-eu.cfg
    Specifies a configuration file to be read in to specify additional include paths for the interpreter.

-cc-prefix prefix
    Specifies the prefix for the compiler and other binary tools. This is most commonly required for cross compilers.

-copyright
    Display all copyright notices.

-d word
    Defines a word as being set. Words are processed by ifdef blocks.

-i dir
    Specifies an additional include path to the interpreter.

-l local
    Defines a locatization qualifier.

-ldb localdb
    Defines the base name for localization databases.

-p file_ext:command
    Setup a pre-processor

-pf Force pre-processing regardless of cache state.

-strict
    This turns on all warnings, overriding any with/without warning statement found in the source.

-test
    Parses the code only and issues any warnings or errors to ##STDOUT##. On error the exit code will be 1, otherwise 0. If an error was found, the normal "Press Enter" prompt will not be presented when using the ##-TEST## parameter which enables many editors/IDEs to test the syntax of your Euphoria source in real time.

-version
    Display the version number.

-w warning_name
    Resets, or adds to, the current list of wrnings that may be emitted. The list of known names is to be found in the detailed documentation subsection describing with warning. A name should appear without quotes. The first -w switch resets the list to the warning being introduced, and each subsequent -w switch adds to the list.

-wf Sets the file where the warnings should go instead of the standard error.

-x  Resets, or adds to, the list of warnings that will not be issued. This is symetric of the -w switch.

Translator Options:

-arch name
    Specify the target architecture: X86, X86_64, ARM

-builddir dir
    Generate/compile all file in the specified build directory

-cflags flags
    Flags to pass to the compiler (overrides internal compiler flags)

-com dir
    Sets the compiler directory

-con Create a console application (Windows only)

-debug
    Enabe debug mode for generated code. The resulting executable can be used with a debugger.

-dll
    Translates code to build a shared library. \make Generate an emake/emake.bat file to build the project.

-gcc
    Set the compiler to GCC

-keep
    The emake script will not delete translated C source files after it completes.

-lflags flags
    Flags to pass to the linker (overrides internal linker flags) -force-build Force building, even if file is up-to-date.

-lib filename
    Specify the euphoria runtime library to use for linking.

-lib-pic filename
    Specify the euphoria runtime library to use for linking shared objects. This library should have been built using the -fPIC (position independent code) flag. This option is meant to be used in configuration files along with -lib to be able to specify a non PIC and a PIC flag for the translator to use depending on the type of output requested. This option overrides any value passed in the -lib option when building a shared object.

-makefile
    Generate a project Makefile that can be integrated into a larger project.

-makefile-full
    Generate a Makefile that can be used to build your application.

-maxsize size
    Set the numbe rof C statements per generated file before splitting. -nobuild Do not build the project nor write a build file.

-o filename
    Set the output filename

-plat platform
    Set the platform for the translated code. Valid options are: WINDOWS, LINUX, FREEBSD, OSX, OPENBSD, NETBSD

-silent
    Do not Display status messages

-so Create a shared library.

-stack n
    Change the amount of stack size reserved for your translated program. -verbose Verbose output. Set the compiler to Watcom

SEE ALSO
eui(1), eub(1), bind(1), shroud(1).
The programs are documented fully in /usr/share/euphoria/html

AUTHOR
euphoria was written by Robert Craig <rds@rapideuphoria.com>.

This manual page was written by Matt Lewis <matthewwalkerlewis@gmail.com>.