GBS Logo HOME Generic Build Support (GBS) - User Manual
The export.gbs files Bottom Doc. Button

Contents Bottom Doc. Button Top Document Button Down Section Button Blank

Description
Purpose| General| Contents| Notes
Example of an export.gbs
Example of an export.gbs using INSTALL

Description Bottom Doc. Button Top Document Button Down Section Button Up Section Button

Purpose Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Blank

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:

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 Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

Please refer to .gbs files: General information

Additional for this file:

The combination of 1 destination-line flowed by a number of source-lines is called a destination-set.

Contents: Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

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: Bottom Doc. Button Top Document Button Down Section Button Up Section Button Blank Up Chapter Button

Example of an export.gbs: Bottom Doc. Button Top Document Button Down Section Button Up Section Button

#===============================
#  [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: Bottom Doc. Button Top Document Button Blank Up Section Button

#========================================================
#   [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###

export.html