The MAKE_RT procedure creates a stand-alone IDL runtime distribution. In addition to the IDL binary and resource files required to execute an IDL program in runtime mode, MAKE_RT creates a platform-specific launching script that allow an end-user to easily launch a runtime application.
For further discussion of how MAKE_RT creates a runtime distribution, read the following sections:
This routine is written in the IDL language. Its source code can be found in the file make_rt.pro in the lib/utilities subdirectory of the IDL distribution.
Example
The following command will create a runtime distribution in the /home/dave/myApp directory, generating a script that launches IDL in Virtual Machine mode and load the file myapp.sav:
MAKE_RT, 'myApp', '/home/dave', SAVEFILE='myapp.sav', /VM
Syntax
MAKE_RT, Appname, Outdir, /BROWSER, /DATAMINER, /DICOMEX, /GRIB, /HIRES_MAPS, /HIRES_SHAPEFILES, IDLDIR=path, LOGFILE=path, MANIFEST=path, /OVERWRITE, /PYTHON, SAVEFILE=path, /VIDEO, /VM, /VERBOSE
Arguments
Appname
A string specifying the name of the application. An Appname directory will be created in the Outdir directory, and the launch script (if any) will be renamed using Appname as the base.
Outdir
A string specifying the full path of the directory where the runtime distribution should be created. Outdir must exist; a directory named Appname will be created in Outdir to contain the distribution.
Keywords
IDLDIR
Set this keyword equal to the full path to the IDL installation directory from which files should be copied. If this keyword is not specified, files are copied from the directory specified by the !DIR system variable.
LOGFILE
Set this keyword equal to the full path name of the file that will contain log results produced while creating the runtime distribution. If this keyword is not specified, a file named log.txt is created in the Outdir/Appname directory.
MANIFEST
Set this keyword equal to the full path to the manifest file specifying the files to be copied into the runtime distribution. If this keyword is not specified, !DIR/bin/make_rt/manifest_rt.txt will be used.
OVERWRITE
Set this keyword to overwrite existing files in the output directory. If this keyword is not set and the output directory is not empty, an error is generated and the existing files in the output directory are not overwritten.
If there are files in the output directory that are not part of the manifest, they will remain in the output directory even when OVERWRITE is set.
SAVEFILE
Set this keyword equal to the full path to the IDL SAVE file that contains your IDL application. The SAVE file is copied into the Outdir/Appname directory, and the launch script is modified to invoke this file.
If this keyword is not set, no SAVE file is copied and generic launch scripts are created. In this case, running the launch script opens a file selection dialog allowing the user to select a SAVE file to restore and run.
VERBOSE
By default MAKE_RT shows a progress bar on the command line. Set the VERBOSE keyword to instead print out the full filepath for each copied file.
VM
Set this keyword to modify the launch script so that the application specified by the SAVEFILE keyword is always invoked in Virtual Machine mode. By default, IDL will attempt to run the application in Runtime mode. See Runtime Licensing for more information.
Feature Keywords
BROWSER
Set this keyword to include support for the IDL browser widget.
Tip: If you are going to run widget applications which make use of WIDGET_BROWSER or you are using ENVI, then you should set the BROWSER keyword.
DATAMINER
Set this keyword to include support for IDL Dataminer. Note that this is a licensed feature, which means that end-users must have a Dataminer license available to use these features.
DICOMEX
Set this keyword to include support for the IDLffDicomEx object. Note that the IDLffDicomEx functionality is a licensed feature, which means that end-users must have a DicomEx license available to use the IDLffDicomEx object.
Note: The IDLffDicom object is included along with IDL, and will run with a regular IDL license and in the IDL Virtual Machine. If your application uses IDLffDicom rather than IDLffDicomEx, you do not need to set this keyword.
GRIB
Set this keyword to include support for GRIB Routines.
HIRES_MAPS
Set this keyword to include the high-resolution maps from your runtime distribution. IDL’s high-resolution map files consume about 45 megabytes of disk space, and are not included in a runtime distribution by default.
HIRES_SHAPEFILES
Set this keyword to include the high-resolution shapefiles used with the HIRES keyword to Graphics functions.
PYTHON
Set this keyword to include the embedded Python within IDL's bin directory.
Tip: If you are going to run programs which rely on the embedded Python then you should sete the PYTHON keyword.
VIDEO
Set this keyword to include support for IDLffVideoWrite.
Note: IDLffVideoWrite is a licensed feature, which means that you must have a IDLffVideoWrite license available to use IDLffVideoWrite features.
Note: IDLffVideoWrite/Read functionality is not available in IDL Virtual Machine (VM) mode if the end user of a distributed IDL VM app does not already have a purchased IDL license with the "idl_video_write" license feature. This functionality may appear to work for the developer since an IDL VM session can access auxiliary license features from the developer's full IDL license.dat file. However when used on a machine without such a license, the the IDLffVideoWrite/Read functionality will fail.
Deprecated Platform Keywords
If any of the following platform keywords are set, distributions for the specified platforms are created. If none of the platform keywords are set, a distribution that matches the platform on which IDL is currently running is created.
Note: Due to the complexities of installing different versions of IDL on a single platform, these keywords have been deprecated. They will continue to work, however, it is strongly recommended that you install IDL and run MAKE_RT separately on each platform that you want to support.
LIN64
Create a distribution for Linux machines running IDL in 64-bit mode.
MACARM64
Create a distribution for Arm-based Macs running IDL in 64-bit mode.
MACINT64
Create a distribution for Intel-based Macs running IDL in 64-bit mode.
WIN64
Create a distribution for Windows machines running IDL in 64-bit mode.
How MAKE_RT Builds its Manifest
The list of files to be copied (known as the manifest) is constructed at the time MAKE_RT runs using the following process:
- MAKE_RT reads the contents of the specified manifest file. If no manifest file is specified, MAKE_RT uses the manifest_rt.txt file located in the bin/make_rt subdirectory of the IDL distribution.
- Entries in the manifest file that begin with the IDL comment character (the semicolon) are discarded.
- Entries for platforms that are not specifically selected via the Platform Keywords are discarded. (If no platforms are specified by keyword, a distribution is created for the platform on which the MAKE_RT routine is running.)
- Entries for optional features that are not specifically selected via the Feature Keywords are discarded.
Once the manifest_rt.txt file has been trimmed according to these rules, the files are copied to Outdir.
Application Launchers
If you include the SAVEFILE keyword in a call to MAKE_RT, the procedure will generate a launch script for your chosen platform. Launch scripts are small programs that invoke IDL in Runtime or Virtual Machine mode, loading the SAVE file you specify to run the application.
The launch scripts generated by MAKE_RT are based on generic scripts located in the IDL_DIR/bin/make_rt directory (where IDL_DIR is the IDL installation directory).
Note: If you do not specify the SAVEFILE keyword, MAKE_RT generates a generic launch script that invokes IDL in Runtime or Virtual Machine mode and opens a file selection dialog, allowing the end-user to select a .sav file to restore and run.
Working with the manifest_rt.txt File
The default manifest_rt.txt file (within the IDL_DIR/bin/make_rt directory) contains entries for all of the files necessary to create a runtime IDL distribution for all supported platforms. In most cases, you can use the manifest_rt.txt file without modification, and the MAKE_RT procedure will select the appropriate files to build the distribution you specify. If you need to modify the list of files copied to your runtime distribution, you can create a custom manifest file.
Version History
7.0 |
Introduced |
7.0.4 |
Added MACINT64 keyword
|
7.1 |
Added OVERWRITE and SUNX86_64 keywords
|
8.0 |
Deprecated IDL_ASSISTANT, MACPPC32 keywords |
8.1 |
Added GRIB, HIRES_SHAPEFILES, and VIDEO keywords
|
8.2.3 |
Deprecated SUN32, MACINT32 and MACPPC32 keywords |
8.5.2 |
Deprecated LIN32 keyword |
8.6 |
Deprecated EMBEDDED keyword |
8.9 |
Deprecated WIN32 keyword |
9.0 |
Added ARM64 keyword |
9.2 |
Added BROWSER, PYTHON, and VERBOSE keywords. Deprecate the LIN64, MACARM64, MACINT64, and WIN64 keywords (they will continue to work).
|