OSACOMPILE(1)

NAME
osacompile - compile AppleScripts and other OSA language scripts

SYNOPSIS
osacompile [-l language] [-e command] [-o name] [-d] [-r type:id] [-t type] [-c creator] [-x] [-s] [-u] [-a arch] [file ...]

DESCRIPTION
osacompile compiles the given files, or standard input if none are listed, into a single output script. Files may be plain text or other compiled scripts. The options are as follows:

-l language
    Override the language for any plain text files. Normally, plain text files are compiled as AppleScript.

-e command
    Enter one line of a script. Script commands given via -e are prepended to the normal source, if any. Multiple -e options may be given to build up a multi-line script. Because most scripts use characters that are special to many shell programs (e.g., AppleScript uses single and double quote marks, “(”, “”), and “*”), the command will have to be correctly quoted and escaped to get it past the shell intact.

-o name
    Place the output in the file name. If -o is not specified, the resulting script is placed in the file “a.scpt”. The value of -o partly determines the output file format; see below.

-x  Save the resulting script as execute-only.

The following options are only relevant when creating a new bundled applet or droplet:

-s  Stay-open applet.

-u  Use startup screen.

-a arch
    Create the applet or droplet for the specified target architecture arch. The allowable values are “ppc”, “i386”, and “x86_64”. The default is to create a universal binary.

The following options control the packaging of the output file. You should only need them for compatibility with classic Mac OS or for custom file formats.

-d  Place the resulting script in the data fork of the output file. This is the default.

-r type:id
    Place the resulting script in the resource fork of the output file, in the specified resource.

-t type
    Set the output file type to type, where type is a four-character code. If this option is not specified, the creator code will not be set.

-c creator
    Set the output file creator to creator, where creator is a four-character code. If this option is not specified, the creator code will not be set.

If no options are specified, osacompile produces a Mac OS X format script file: data fork only, with no type or creator code.

If the -o option is specified and the file does not already exist, osacompile uses the filename extension to determine what type of file to create. If the filename ends with “.app”, it creates a bundled applet or droplet. If the filename ends with “.scptd”, it creates a bundled compiled script. Otherwise, it creates a flat file with the script data placed according to the values of the -d and -r options.

EXAMPLES

To produce a script compatible with classic Mac OS:

    osacompile -r scpt:128 -t osas -c ToyS example.applescript

SEE ALSO
osascript(1), osalang(1)