## 3.3 Pickling Options

The linker supports the following default options for pickles.

`--compress`

  > `--compress=``N`, `-z` `N`

  The created pickle is compressed with level `N` (a single digit). By default the compression level `N` is `0`, that is, no compression is employed.

`--executable`

  > `--executable` (`-x`), `--noexecutable` (default)

  Output the pickled functor as being executable (that is, with an additional header).

`--execheader=`STRING

  When invoked with option `-x` the linker first outputs a header so that the output file may be interpreted by the operating system as an executable. Under Unix, the default behaviour is to use the following as header:

  > `#!/bin/sh
  > exec ozengine $0 "$@"`

  The `--execheader` option allows you to specify a different header.

`--execpath=`STRING

  Uses the header given above in the description of `--execheader`, except that `ozengine` is replaced by STRING.

`--execfile=`FILE

  Reads in FILE and uses this as header. Under Windows, the default behaviour is to use the file provided in ozhome`/bin/ozwrapper.bin`, where ozhome is Mozart's installation folder. `ozwrapper.bin` is a Windows executable that launches `ozengine`.

`--execwrapper=`FILE

  Reads in ozhome`/bin/`FILE and uses it as header for executable files. Apart from `ozwrapper.bin`, an `ozwrapperw.bin` is supplied that launches `ozenginew` instead of `ozengine`. This option provides a convenient way to use this alternative wrapper.

`--target=unix`, `--unix`
`--target=windows`, `--windows`

  When creating an executable functor, do it for the specified target platform rather than for the current host platform.