Contents
Description
Example of an export.gbs
Example of an export.gbs using INSTALL
Description
Purpose
The export.gbs files are used to fill the res/subsys and subsys/export
directories.
They (the export.gbs files) can reside in 2 locations:
- Full-GBS SubSystems:
- Component - From Component res and/or export
- SubSystem - From res to res and/or export and from ext to export
- Non-GBS SubSystems:
- Subsystem - From SubSystem to res and/or export
The export.gbs files located in the GBS_COMPONENT_PATH directories are used to
specify which files of the Component are to be exported to a relative directory in
RES/$GBS_SUBSYS and/or EXPORT when using the gbsexport command.
The export.gbs files located in the GBS_SUBSYS_PATH directories are used to
specify which files of the SubSystem, any RES and/or EXT are to be exported to a relative directory in
RES/$SUBSYS and/or EXPORT when using the gbsexport command.
Files can be exported to $GBS_RES_PATH/$GBS_SUBSYS and/or to $GBS_EXPORT_PATH depending on
the existence of these directories or selective by means if the to_base prefix.
Besides copying files it is also possible to create (msi) install programs.
By default:
Exported directories are created with mode: u=rwx,go=rx,o=x
Exported files are created with mode: ugo:r
General
Please refer to .gbs files: General information
Additional for this file:
- Lines with no leading white-space define the destination (output_directory)
- Following lines with leading white-space define the source (from_file)
- Keywords are case sensitive
- The .include directive is not allowed
The combination of 1 destination-line flowed by a number of source-lines is called a destination-set.
Contents:
Syntax:
- destination_line
- source_line
- ...
- destination_line := [to_base:]to_path['|'chmods] [build-line-selection]
- source_line := copy_line | install_line
- copy_line := [from_base:][from_path]from_file [to_file]['|'chmods]
- install_line := INSTALL:command [args...] to_file['|'chmods]
Destination lines (to_path) can be appended with a Build Selector enabling skipping of the
whole destination_set dependent on the current Build.
Refer to GBS-files: General for explanation of
the build-line-selection mechanism.
Semantics:
- to_base := EXPORT | RESSUB | ANY
- Specifies explicit output location.
- ANY: Default. Export to RESSUB and/or EXPORT depending on their existence
- RESSUB: Base is GBS_RES_PATH/SUBSYS
- EXPORT: Base is to GBS_EXPORT_PATH
- to_path
- Relative to to_base
- ../ or '*' not allowed
- from_base := CMP | EXT | RES | SILO | SUB |
GBSEXT_name_PATH | INSTALL
- Specifies explicit input location.
- CMP: Base is GBS_COMPONENT_PATH
- CMP: is the default for Component export.gbs and should not be specified (custom)
- CMP: may only be specified in a Component export.gbs
- EXT: Base is GBS_EXT_PATH. Files MUST exist
- RES: Base is GBS_RES_PATH
- SILO: Base is GBS_SILO_PATH
- SUB: Base is GBS_SUBSYS_PATH
- SUB: is the default for Gen and Non-Full-GBS Subsystem export.gbs
- SUB: Only specific directories can be selected (audit, export, build, comp, tool)
- GBSEXT_name_PATH: Base is the directory defined by that Environment Variable
- INSTALL: cannot be specified in a Component export.gbs
- INSTALL: Base is the same location as the export.gbs file
- from_path
- Relative to from_base
- ../ or '*' not allowed
- Default is from_base
- from_file
- ../ or '*' not allowed
- Use $GBS_BLD_src_type to specify Build specific generated file-types
- to_file
- Optional. Mandatory for INSTALL:
- Specifies a (different) output name for the file.
A dot indicates the same as the input file name
- chmods
- chmod_comma-list
- Use to change the default file/directory permissions
- chmod := Unix_symbolic_mode_notation>
- E.g.: u=rwx,go=r or 0755
- For the chmod notation refer to Wikipedia chmod
- command
- Command that will invoke the (msi) install create program
- Before execution the CWD will be set to the same locations as the export.gbs file
- Best way to work is to use the copy_lines to create a directory/file structure and
then use an install_line to create an installer using that directory/file structure
- args
- Argument(s) for command
- Optional
- General:
- Paths containing non-current Build Build-names will be skipped for the current Build.
Notes:
- No wild-cards allowed (e.g.: *.h)
- file/directory specifications containing spaces are supported:
All occurrences of %_ (Linux), $_ (Win32) and %20 (all) are replaced by spaces.
Example of an export.gbs:
#===============================
# [otv_al_s:ocs] export.gbs
#===============================
RESSUB:inc/$GBS_BUILD == mingw
inc/http_init.h
inc/lsm.h
inc/oco.h
inc/ocs.h
inc/ocs_cfg.h
RESSUB:lib/$GBS_BUILD == mingw
bld/$GBS_BUILD/ocs$GBS_BLD_GLB
EXPORT:bin == mingw
bld/$GBS_BUILD/ocs$GBS_BLD_GLBK |ugo:x
## EOF ##
Example of an export.gbs using INSTALL:
#========================================================
# [profielsw] export.gbs
#========================================================
base
base/bin
app\Task24Profiel\bin\Release\Task24Profiel.exe
base/bin/DUT
data\bin\DUT\_NL%20Profiel%20Leesmij.txt
data\bin\DUT\CV%20TemplateB.dotm
data\bin\DUT\leegcv.ini
data\bin\DUT\wizard.ini
base/bin/ENG
data\bin\ENG\_English%20Profile%20ReadMe.txt
data\bin\ENG\CV%20TemplateB.dotm
data\bin\ENG\leegcv.ini
data\bin\ENG\wizard.ini
base/Doc
data\Doc\Help.html
data\Doc\userguide.doc
base/Doc/Images
data\Doc\Images\Balkknop.jpg
data\Doc\Images\CVWizardMain.jpg
data\Doc\Images\image002.jpg
data\Doc\Images\TASK24.ico
install
INSTALL:%GBSEXT_ADVANCED_INSTALLER_PATH%\AdvancedInstaller.com /build Task24Profiel.aip setup.msi
###EOF###
|