2.3 What is a Hollywood plugin?

A Hollywood plugin is a shared library that is dynamically loaded by Hollywood at run time. Every Hollywood plugin has to export a number of function symbols that Hollywood can call when necessary. The actual file format of a plugin is platform-dependent. Here is an overview of the file formats used by Hollywood plugins on the individual platforms:

Windows:
Hollywood plugins have to be compiled as standard Windows DLLs. Hollywood loads plugins using LoadLibrary().

macOS:
Hollywood plugins have to be compiled as dynamic libraries (dylib). Hollywood loads plugins using dlopen().

Linux and Android:
Hollywood plugins have to be compiled as shared objects. Hollywood loads plugins using dlopen().

AmigaOS and compatibles:
Hollywood plugins have to be compiled as executables that can be loaded via LoadSeg(). As AmigaOS doesn't supported named symbol export, some glue code is necessary to allow access to named symbols. See AmigaOS glue code for details. Another speciality on AmigaOS is that you cannot use certain functions from the standard ANSI C runtime library. See AmigaOS C runtime limitations for details.

Please note that although Hollywood uses common file formats like DLLs on Windows, dylibs on macOS, and shared objects on Linux/Android, the file extension of a Hollywood plugin always has to be *.hwp. Otherwise Hollywood won't be able to detect plugins.


Show TOC