Difference between revisions of "Build System Analysis:build.pl versus makefile"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Created page with "{{Build Environment Effort}} = build.pl versus central makefile = In order to refactor our build system, the functionality of build.pl and how it can be translated into a ce...")
 
Line 3: Line 3:
 
= build.pl versus central makefile =
 
= build.pl versus central makefile =
  
In order to refactor our build system, the functionality of build.pl and how it can be translated into a central makefile have been analyzed:
+
In order to refactor our build system, the functionality of build.pl and how it can be translated into a central makefile have been analyzed.
 +
 
 +
The following table contains all build.pl options, with description (build --help), and the make (in main) equivalent
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 11: Line 13:
 
! Makefile
 
! Makefile
 
|-
 
|-
| row 1, cell 1
+
| --all
| row 1, cell 2
+
| build all projects from very beginning till current one
| row 1, cell 3
+
| make <module>
 
|-
 
|-
 
| row 2, cell 1
 
| row 2, cell 1
Line 19: Line 21:
 
| row 2, cell 3
 
| row 2, cell 3
 
|}
 
|}
 +
 +
 +
 +
 +
--from      - build all projects dependent from the specified (including it) till current one
 +
 +
--genPO      - extract en-US PO file(s), no build/deliver (usable for '-all' and '-from' keys)
 +
 +
--exclude_branch_from    - exclude module(s) and its branch from the build
 +
 +
--mode OOo  - build only projects needed for OpenOffice.org
 +
 +
--prepare    - clear all projects for incompatible build from prj_name till current one [for platform] (cws version)
 +
 +
--with_branches- the same as "--from" but with build all projects in neighbour branches
 +
 +
--skip      - do not build certain module(s)
 +
 +
--since      - build all projects beginning from the specified till current one (the same as "--all:prj_name", but skipping prj_name)
 +
 +
--checkmodules      - check if all required parent projects are availlable
 +
 +
--show      - show what is going to be built
 +
 +
--file      - generate command file file_name
 +
 +
--deliver    - only deliver, no build (usable for '-all' and '-from' keys)
 +
 +
-P          - start multiprocessing build, with number of processes passed
 +
 +
--server    - start build in server mode (clients required)
 +
 +
  --setenvstring  - string for configuration of the client environment
 +
 +
  --port          - set server port, default is 7890. You may pass several ports, the server will be started on the first available
 +
                            otherwise the server will be started on first available port from the default range 7890-7894
 +
  --client_timeout  - time frame after which the client/job is considered to be lost. Default is 120 min
 +
 +
--dlv_switch - use deliver with the switch specified
 +
 +
--help      - print help info
 +
 +
--ignore    - force tool to ignore errors
 +
 +
--html      - generate html page with build status
 +
                      file named unxlngx6.pro.build.html will be generated in /share/opensource/aoo/branches/l10n40/main
 +
 +
--html_path      - set html page path
 +
 +
--dontgraboutput - do not grab console output when generating html page
 +
 +
--genconf    - generate/modify workspace configuration file
 +
 +
--add            - add active module(s) to configuration file
 +
 +
--remove        - removeactive  modules(s) from configuration file
 +
 +
--removeall|--clear          - remove all active modules(s) from configuration file
 +
 +
--stoponerror      - stop build when error occurs (for mp builds)
 +
 +
--interactive      - start interactive build process (process can be managed via html page)
 +
  Custom jobs:
 +
--job=job_string        - execute custom job in (each) module. job_string is a shell script/command to be executed instead of regular dmake jobs
 +
 +
--pre_job=pre_job_string        - execute preliminary job in (each) module. pre_job_string is a shell script/command to be executed before regular job in the module
 +
 +
--post_job=job_string        - execute a postprocess job in (each) module. post_job_string is a shell script/command to be executed after regular job in the module
 +
 +
default: build current project

Revision as of 08:53, 18 October 2013

Edit.png

Build Environment Effort

Quick Navigation

About this template


build.pl versus central makefile

In order to refactor our build system, the functionality of build.pl and how it can be translated into a central makefile have been analyzed.

The following table contains all build.pl options, with description (build --help), and the make (in main) equivalent

Option Description Makefile
--all build all projects from very beginning till current one make <module>
row 2, cell 1 row 2, cell 2 row 2, cell 3



--from - build all projects dependent from the specified (including it) till current one

--genPO - extract en-US PO file(s), no build/deliver (usable for '-all' and '-from' keys)

--exclude_branch_from - exclude module(s) and its branch from the build

--mode OOo - build only projects needed for OpenOffice.org

--prepare - clear all projects for incompatible build from prj_name till current one [for platform] (cws version)

--with_branches- the same as "--from" but with build all projects in neighbour branches

--skip - do not build certain module(s)

--since - build all projects beginning from the specified till current one (the same as "--all:prj_name", but skipping prj_name)

--checkmodules - check if all required parent projects are availlable

--show - show what is going to be built

--file - generate command file file_name

--deliver - only deliver, no build (usable for '-all' and '-from' keys)

-P - start multiprocessing build, with number of processes passed

--server - start build in server mode (clients required)

  --setenvstring  - string for configuration of the client environment
  --port          - set server port, default is 7890. You may pass several ports, the server will be started on the first available
                           otherwise the server will be started on first available port from the default range 7890-7894
  --client_timeout  - time frame after which the client/job is considered to be lost. Default is 120 min

--dlv_switch - use deliver with the switch specified

--help - print help info

--ignore - force tool to ignore errors

--html - generate html page with build status

                      file named unxlngx6.pro.build.html will be generated in /share/opensource/aoo/branches/l10n40/main

--html_path - set html page path

--dontgraboutput - do not grab console output when generating html page

--genconf - generate/modify workspace configuration file

--add - add active module(s) to configuration file

--remove - removeactive modules(s) from configuration file

--removeall|--clear - remove all active modules(s) from configuration file

--stoponerror - stop build when error occurs (for mp builds)

--interactive - start interactive build process (process can be managed via html page)

  Custom jobs:

--job=job_string - execute custom job in (each) module. job_string is a shell script/command to be executed instead of regular dmake jobs

--pre_job=pre_job_string - execute preliminary job in (each) module. pre_job_string is a shell script/command to be executed before regular job in the module

--post_job=job_string - execute a postprocess job in (each) module. post_job_string is a shell script/command to be executed after regular job in the module

default: build current project

Personal tools