Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

OSACOMPILE(1)             BSD General Commands Manual            OSACOMPILE(1)

     osacompile -- compile AppleScripts and other OSA language scripts

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

     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

     -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 compati-bility compatibility
     bility 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 exten-sion extension
     sion to determine what type of file to create.  If the filename ends with ``.app'', it creates a bun-dled bundled
     dled 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

     To produce a script compatible with classic Mac OS:

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

     osascript(1), osalang(1)

Mac OS X                       November 12, 2008                      Mac OS X

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.