Build-env Tools

From ISP_RAS

Jump to: navigation, search

Contents

Description

Tools from /build_env/stub_libs are used while generating stub libraries for a LSB compliant build environment. /build_env/lsbdev-cc/ directory contains lsbcc sources. The database is used to create lists of libraries corresponding to a givel LSB version. Tools from /build_env/headers perform different operations with headers described in LSB DB (consistency check, generation of of lists of headers and generation of headers themselves etc.):

Script Description
stub_libs/check_lsb_symbols checks function/variable classification of LSB required interfaces against libraries installed on system
stub_libs/mkstublibs generates source code for stub libraries
headers/check_mult_defines looks for cases where a constant is defined in ArchConst for both all architectures and individual architectures separately. Also it looks for cases where a constant is defined for all architectures but has the same value. Can fix such problems;
headers/getheaderlist generates the list of names of header that should be generated;
headers/mkdatadef generates ".defs" files, that contain information about entities defined in given header for the given architecture;
headers/mkheader generates header files;
mkfilelists creates lists of headers and libs for core and desktop
lsbdev-cc/mk_libcc_libs.pl generates shared libs list for lsbcc from specdb

Usage

stub_libs/check_lsb_symbols

check_lsb_symbols -a arch -v lsbversion [-d db_name] [-u username] [-p password] [-o hostname] [-h]
    -h             Display help
    -v lsbversion  Target LSB version
    -d db_name     Database name
    -u username    Name of user for db access
    -p password    Password for db access
    -o hostname    Hostname for DB
    -a arch        Architecture to generate shared libraries for

stub_libs/mkstublibs

mkstublibs -a arch -v lsbversion [-d db_name] [-u username] [-p password] [-o hostname] [-h]
    -h             Display help
    -v lsbversion  Target LSB version
    -d db_name     Database name
    -u username    Name of user for db access
    -p password    Password for db access
    -o hostname    Hostname for DB
    -a arch        Architecture to generate shared libraries for

mkfilelists

mkfilelists <LSB_VERSION>
    <LSB_VERSION>  Target LSB version

lsbdev-cc/mk_libcc_libs.pl

mk_libcc_libs.pl <LSB_VERSION>
    <LSB_VERSION>  Target LSB version

scripts from /build_env/headers/

check_mult_defines [-f]
    - when used with '-f' option, this scripts will propose to correct ArchConst table (reduce or expand constants).

getheaderlist -v <lsbversion>

mkheader -h <headername> -a <archname> -v <lsbversion>

mkdatadef -h <headername> -a <archname> -v <lsbversion>

Dependencies on DB

headers/check_mult_defines

Table Insert Select
ArchConst + +
Architecture - +
Constant - +

headers/getheaderlist

Table Insert Select
Header - +

headers/mkdatadef

Table Insert Select
ArchConst - +
Architecture - +
ArchType - +
Constant - +
ConstantAttribute - +
Header - +
HeaderGroup - +
Interface - +
Parameter - +
Type - +
TypeMember - +

headers/mkheader

Table Insert Select
ArchConst - +
Architecture - +
ArchType - +
BaseTypes - +
ClassInfo - +
Constant - +
ConstantAttribute - +
Header - +
HeaderGroup - +
Interface - +
Parameter - +
Type - +
TypeMember - +
VMIBaseTypes - +

stub_libs/check_lsb_symbols

Table Insert Select
Architecture - +
ArchLib - +
ArchType - +
Interface - +
LGInt - +
LibGroup - +
Library - +
Version - +

stub_libs/mkstublibs

Table Insert Select
ArchInt - +
Architecture - +
ArchLib - +
ArchType - +
Interface - +
LGInt - +
LibGroup - +
Library - +
Version - +

mkfilelists

Table Insert Select
Header - +
Library - +
ModLib - +
SubModule - +

lsbdev-cc/mk_libcc_libs.pl

Table Insert Select
Library - +
ModLib - +
SubModule - +
Personal tools