Changes between Version 3 and Version 4 of doc/app/palmbuild


Ignore:
Timestamp:
Nov 20, 2018 12:02:53 PM (6 years ago)
Author:
kanani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/palmbuild

    v3 v4  
    1 = {{{palmbuild}}} technical description =
     1= The PALM build script =
    22
    3 == Introduction ==
    4 {{{palmbuild}}} is the shell script to compile PALM and further utilities required for pre- and postprocessing the PALM data. It is invoked by the [wiki:doc/install/automatic automatic installer] as part of the installation process, or it can be called manually, and puts the created binaries in a folder named {{{MAKE_DEPOSITORY_<ci>}}}, where {{{<ci>}}} is the configuration identifier. It is also automatically invoked by the script [wiki:doc/app/palmrun palmrun] in two different ways, but only if {{{palmrun}}} is called manually. If {{{palmrun}}} cannot find pre-compiled PALM sources, it calls {{{palmbuild}}} to create the MAKE_DEPOSITORY. Furthermore, manual calls of {{{palmrun}}} always call {{{palmbuild}}} to generate a specific folder (names SOURCES_FOR_RUN_...) that contains all binaries for the specific run, which may be re-used by automatic restart runs (see ''automatic calls'' further below).
     3The script to compile PALM and its [utility (pre-/postprocessing) programs] is called {{{palmbuild}}}. It resides under {{{trunk/SCRIPTS}}} and is invoked by the [wiki:doc/install/automatic automatic installer] as part of the installation process. It can also be executed manually, e.g. in case of a [#svnupdate PALM code update] from the svn repository, or code modifications by the user. Each modifications of the source code requires new compilation.\\\\
    54
    6 Manual calls of {{{palmbuild}}} are required in case that a new PALM code version has been checked out from the repository, or if a modified working copy of the code shall be used for PALM runs.
    7 
    8 {{{palmbuild}}} is steered by options as well as settings in the [wiki:doc/app/palm_config configuration file]. It compiles code based on the unix makefile mechanism.
     5{{{palmbuild}}}\\\\
     6* is steered by settings, e.g. about compiler options, in the [wiki:doc/app/palm_config configuration file] .palm.config.<configuration identifier>,\\\\
     7* compiles code based on the unix makefile mechanism,\\\\
     8* adds the created binaries to the directory MAKE_DEPOSITORY_<configuration identifier>,\\\\
     9* is automatically invoked by the PALM run script [wiki:doc/app/palmrun palmrun] in case this doesn't find the respective MAKE_DEPOSITORY_<configuration identifier>.
    910
    1011\\
    11 == How to call {{{palmbuild}}} manually ==
    12 Manual calls of {{{palmbuild}}} are used to generate or update the compiled PALM sources (binaries). Specific informations e.g. about the compiler and the compiler options to be used need to be specified in the [wiki:doc/app/palm_config configuration file]. Relevant variables to be specified are ''source_path'', ''user_source_path'', ''compiler_name'', ''compiler_name_ser'', ''cpp_options'', ''make_options'', ''compiler_options'' and ''linker_options''. See [wiki:doc/app/palm_config configuration file] for a description of these variables. Since you can have different configuration files (for different compilers, compiler options, or hosts), you need to specify the configuration file to be used by {{{palmbuild}}}. Assuming a configuration file {{{.palm.config.abcde}}}, you need to enter
     12== Execute {{{palmbuild}}} ==
     13Assuming a configuration file named {{{.palm.config.default}}}, you need to type the command
    1314{{{
    14    palmbuild -c abcde
     15   palmbuild -c default
    1516}}}
    16 {{{abcde}}} is the so-called ''configuration identifier''. After entering the command, informative messages will appear in the terminal:
     17Since you can have different configuration files (for different compilers, compiler options, or hosts), you need to specify the configuration file to be used by the option {{{-c}}}. The suffix {{{default}}} in this example is the <configuration identifier>, which can be an arbitrary ASCII-character string.\\
     18
     19After entering the command, informative messages will appear in the terminal:
    1720{{{
    1821#------------------------------------------------------------------------#
     
    4447In case of a configuration file for PALM runs on a remote host, sources are copied via {{{scp}}} to the remote host and the compiler is called via {{{ssh}}} on the remote host too. Folder {{{MAKE_DEPOSITORY_abcde}}} is created under {{{base_directory}}} on the remote host.
    4548
    46 In case you have updated the PALM code, you need to call {{{palmbuild}}} again:
     49[=#svnupdate In case you have updated the PALM code, you need to call {{{palmbuild}}} again:]
    4750{{{
    4851   cd ~/palm/current_version