GBS Logo HELP HOME Generic Build Support (GBS) - User Manual
Home Bottom Doc. Button
Release RMC-06.02
(2024-04-29)


- Home
Getting Started
- Quick Start
- Release Notes
- Install Notes
- Create a GBS-WA/System
- FAQ
- Terms and Conditions (The Fine Print)
Basics
- Definitions & Acronyms
- Introduction
- Top Level Directory Structure
- Full Directory Structure
- Handling SubSystems & Steps
- Procedures
- Software Configuration Management Support

Manual Pages
- The Command-Line Interface
- All Commands
- The gbssys... Commands
- Generating Code (Building)
- Libraries & Executables and Testing
- Exporting Deliverables
- Auditing
- Customisations (Session)
- Customisations (User)
- Customisations (Admin)
- Integration with other Tools
- Plugins (Admin)
- Environment Variables (EnvVars)
User Files
- The GLKBT (glk/glb/glt) Files
Internal (.gbs) Files
- GBS Files - General
- audit.gbs
- broadcast.gbs
- build.gbs
- export.gbs
- flags_*.gbs
- subsys.gbs (.bat/.sh)
- incs_*.gbs
- owners.gbs
- sca_*.gbs
- scope.gbs
- site.gbs (.bat/.sh)
- steps.gbs
- switch.gbs (.bat/.sh)
- system.gbs
- tool.gbs
Various
- Development
- About
- Metrics Help

Full Documentation
- All Docs - Printable


Thank you for using Generic Build Support (GBS), the generic build environment created by Randy Marques, Netherlands.

Generic Build Support is a way of setting up a directory structure combined with generic scripts to accommodate Build Automation for almost any kind of software project.
Building information is kept in dedicated files enabling automatic generation of make files, independent of platform or SCMS.

The key aspect of GBS is the directory structure.
Its strict[1] nature makes sure that everything has its place so that it can be easily retrieved and it is assured that any GBS command will run on any SubSystem created according to the GBS Directory Structure rules.
This directory structure makes it possible to swap and/or share software between projects (interchange ability) and ensures an unified way of working.
And yes: where needed there is all the freedom you need!
You can run GBS parallel on Windows 10, Windows 10 WSL and Linux systems, sharing the same physical directory structure.

GBS depends only on Perl (Version 5.16.3 or later, preferably with PerlTkx). No extra packages are required when using ActiveState Perl
This version was developed on Windows 10 using Perl 5.16.3 from ActiveState (with PerlTkx)
It was tested on Windows 10, Windows 10 WSL 1 and Ubuntu 22.04 - GNOME. (On VirtualBox 7.0)
Many thanks to Martin Smiths of the Netherlands who did the beta-testing on Manjaro 18.04 - Xfce.
Although not tested: There is no reason why GBS should not run on Unix or Windows 7
No clue if it works on Windows 11.

For a simple project you can start using GBS quickly and keep in mind that everything has its place.
I strongly suggest reading the 'Getting Started' part of the documentation.
Following the instructions in Create a GBS-WA/System will quickly set you on track.

The power of GBS lies in its concept.
So on the long run this means that in order for you to use GBS to its full extent, you must understand the concept of GBS and use it as intended. Rest assured: it is very simple.
Understand GBS by:
GBS is OpenSource under the MIT License and as such free to use:
  • You are not allowed to modify released code.
  • You are, however, allowed to download the code, modify it and create your own release.
  • You should use GBS as intended.

Note: The free and OpenSource versions of GBS are not compatible with pre version 2.00 releases

Before you start using GBS, please take a moment to read the Terms and Conditions
[1] Strict really means that no deviations are allowed.

Important Bottom Doc. Button Top Document Button Down Section Button Blank Down Chapter Button Blank

This document is just what it is named. A User Manual.
It does not describe the background, concepts or philosophy of GBS.
It therefore cannot be used to determine whether GBS is usable in a particular environment or project.
It certainly cannot be used to assess the full potential and usability of GBS.
For above purposes the interested user should read the GBS Concepts (PDF).

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

  • Fits perfectly in an Agile environment
  • Fully portable and relocatable directory structure
  • Multiple platform support: Windows 10, Windows WSL 1 & Linux (Windows 7, Unix)
  • Same physical directory structure used for all platforms (on shared network-drives)
  • Generated, full compliant 'make' files
    • 100% reliable (incremental) builds
    • Generated Files Cross Reference
  • Allows subdivision into SubSystems and Components
  • Any number of SubSystems and/or Components
  • Any number of libraries and/or executables per Component
  • Strict applicable scoping rules
  • Support for embedded generation of 3rd party software
  • Integrated support for any compiler
  • Integrated support for SCA tools like QAC/QAC++, PC-Lint and C++Test
  • Support for multi-site environments
  • Command-line oriented
    • Support for GUI integration (e.g. Visual Studio, Slick Edit, Eclipse, Crimson Editor, Notepad++, gedit)
  • Comprehensive GUI covering all GBS commands
  • Automated directory creation and structure setup
  • Independent from Software Configuration Management System (SCMS)
    • SCMSs supported (for automated structure creation): Git and Subversion.
  • Built-in Parallel generation
  • Background generation ('at' jobs) with extensive log files
  • Prepared for tools like SoftFab, BuildForge, Hudson and CruiseControl
  • Uniform way of working
  • Simple in use. Easy to learn. Powerfully due to simplicity and consistency
  • Suitable for small, medium and large systems
  • Only dependent on Perl (Version 5.16.3 or later, preferably with PerlTkx)
    • Note that for GBS Perl need not be in the PATH, so any use of other Perl versions is not disturbed
  • No, repeat No user written scripts

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

General

GBS Release Notes
Contains up-to-the-minute release information about GBS.

GBS FAQ
Frequently Asked Questions

Installation Notes

Windows and Linux

index.html