OpenMake Blog

Topics include Build Acceleration, CD Integration, News, and Tricks.

Common Meister Compiler Plugins

Common Compile Plugins - covers most of Your Compile Needs

Meister standardizes your software compiles using compiler plugins. The following plugins are included with Meister. If you are needing more complex plugins, such as database management or mobile development, check out our advanced plugins.

C/C++ Compiler Plugins

Name

Description

CPP Executable

Creates a standard executable by using xlC_r to compile and link C and C++ programs

CPP Shared Library

Specific to C++ and the use of mangled class names. Creates a standard C++ shared library by using xlC_r to compile C and C++ programs.   Uses makeC++SharedLib for Linking.

Entry Shared Library

This shared library contains an entry point option for cc in the Link Build Task.  The shared library is created by using the ar command to create the final object

Entry Shared Object

This shared library contains an entry point option for cc in the Link Build Task.  The shared object is not formatted by ar.

AIX Executable

Creates an executable target from .c code using the default c compiler. It has two tasks; Compile and Link. The Compile Build Task converts source code to .o object files. The Link Task links .o object files and libraries to create the Final Target executable.

Yacc C File

Used to generate a C source file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.

Yacc C Header File

Used to generate a C source header file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.

Java Compile Plugins

Name

Description

Ant Java Doc

Used to create documentation using the Ant Javadoc task.  It generates an index.hml file.  This file's timestamp is compared against Java and Classpath dependencies' timestamps in incremental builds. Because a standard file name "index.hml" is used for all JavaDoc Targets, it is recommended that each Javadoc Target be created in a separate directory, e.g. javadoc1/index.html, javadoc2/index.html, etc.

Java Set Classpath

.classpath Builds a .classpath file. It uses the Set Classpath to resolve all classpath files. The result can then be included in a different TGT.

 Java Jar

Builds a .jar file. It uses the Set Classpath, Ant Javac and Ant Jar Build Tasks to compile and package up all of the dependencies that need to be included in the final target .jar file.

Java War

Builds a .war file. It uses the Set Classpath, Ant Javac and Ant War Build Tasks to compile and package up all of the dependencies that need to be included in the final target .war file. All of the directory structure requirements of a .war file are built into the Build Service.

Java Ear

 Builds an .ear file. It uses the Set Classpath, Ant Javac and Ant Ear Build Tasks to compile and package up all of the dependencies that need to be included in the final target .ear file. Note that there may be no dependencies in the "Set Classpath" and "Ant Javac" Build Tasks if there is no .java source to compile for the .ear file. All of the directory structure requirements of a .ear file are built into the Build Service.

Java Javadoc

Used to create documentation using the javadoc program.  It generates an index.hml file.  This file's timestamp is compared against Java and Classpath dependencies' timestamps in incremental builds. Because a standard file name "index.hml" is used for all JavaDoc Targets, it is recommended that each Javadoc Target be created in a separate directory, e.g. javadoc1/index.html, javadoc2/index.html, etc.Because of the wide variation in the use of the Javadoc command, customization of the JDK Javadoc Task may be required. There will be no need to modify the Java Javadoc Build Service The Target Name should be index.html or <subdirectory>/index.html.  Typical Tasks would be 1. Set Classpath, 2. JavaDoc.

 Java Javadoc Jar

Used to create documentation using the javadoc program.  Generates an index.hml file.  This file's timestamp is compared against Java and Classpath dependencies' timestamps in incremental builds. Because a standard file name "index.hml" is used for all JavaDoc Targets, it is recommended that each Javadoc Target be created in a separate directory, e.g. javadoc1/index.html, javadoc2/index.html, etc.Because of the wide variation in the use of the Javadoc command, customization of the JDK Javadoc Task may be required. There will be no need to modify the Java Javadoc Build Service The Target Name should be index.html or <subdirectory>/index.html.  Typical Tasks would be 1. Set Classpath, 2. JavaDoc.

 Java Compile

Uses the Ant "javac" task to compile Java code files.  All dependencies added to this Build Task will be compiled using the compiler specified in the "compiler" Option parameter.

 Microsoft Compiler Plugins

Name

Description

 MSBuild Dynamic Link Library

Creates a .NET EXE using a .NET Solution file as a dependency. The EXE can be  VB, C#, or C++. Built against the .NET 2.0 Framework

 MSBuild Executable

Creates a .NET EXE using a .NET Solution file as a dependency. The EXE can be  VB, C#, or C++. Built against the .NET 2.0 Framework

 MSBuild Website

Creates a final results extension: .webproject

 .NET Solution Dynamic Link Library

Creates a .NET DLL using a .NET Solution file as a dependency.  The DLL can be VB, C#, or C++.

 .NET Solution Executable

Creates a .NET EXE using a .NET Solution file as a dependency.  The EXE can be  VB, C#, or C++.

  Yacc C

Used to generate a C source header file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.

 Yacc C Header File

Used to generate a C source header file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.

Gnu Exe

Creates a standard executable. It uses gcc to compile and link C and C++ programs.

Gnu DLL

Creates a standard DLL.  It uses the gcc to compile and link C and C++ programs.

Wise Installer

Uses Wise Installer to create the disk images for the installer.  The dependencies are .wsi, .dll and.exe files.

InstallShield

Uses Installshield to create the disk images for the Installer.  The dependencies are the setup.rul, .ipr, .dll and .exe files.

Perl Script

Will execute a set of Perl scripts listed as dependencies in the Target file.  The order that the scripts will be executed is random.  If a particular order is required, a "driver" Perl script should be used as the single dependency in the Target that includes the list of Perl script to execute in the correct execution order.

UNIX/Linux Plugins

Name

Description

CPP Executable

Creates a standard executable by using xlC_r to compile and link C and C++ programs

CPP Shared Library

Specific to C++ and the use of mangled class names. Creates a standard C++ shared library by using xlC_r to compile C and C++ programs.   Uses makeC++SharedLib for Linking.

Entry Shared Library

This shared library contains an entry point option for cc in the Link Build Task.  The shared library is created by using the ar command to create the final object

Entry Shared Object

This shared library contains an entry point option for cc in the Link Build Task.  The shared object is not formatted by ar.

AIX Executable

Creates an executable target from .c code using the default c compiler. It has two tasks; Compile and Link. The Compile Build Task converts source code to .o object files. The Link Task links .o object files and libraries to create the Final Target executable.

Yacc C File

Used to generate a C source file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.

Yacc C Header File

Used to generate a C source header file from a yacc source file when the C file needs to have a different name from the yacc file. There is also a Build Task under available tasks with the same rule that can be imported into any build service that compiles C code.