eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'LibraryDefinition':



Class: LibraryDefinition



rev: 1.136 date: 2019/03/08 11:17:16
user: cg
file: LibraryDefinition.st directory: libbasic
module: stx stc-classLibrary: libbasic

Class protocol:

description - compilation
o  primaryTarget
the primary make target in Make.proto/bc.mak

description - project information
o  description
Returns a description string which will appear in nt.def / bc.def

o  fileDescription
Return a description string which will appear in nt.def / bc.def and the rc-file

o  productName
Returns a product name which will appear in <lib>.rc.
Under win32, this is placed into the dll's file-info.
This method is usually redefined in a concrete application definition

o  productType
Returns the product type for autopackage

file generation
o  basicFileNamesToGenerate
answer a dictionary (filename -> generator method) with all the build-support files,
that have to be generated for this package

o  generate_libInit_dot_cc
stx_libbasic2 generate_libInit_dot_cc
bosch_dapasx_datenbasis generate_libInit_dot_cc
bosch_dapasx_application generate_libInit_dot_cc

file mappings
o  bc_dot_mak_mappings
(self package copyFrom:(self package lastIndexOfAny:':/')+1),'.$(RES)'.

o  extensionLine_libInit_dot_cc_mappings

o  libInit_dot_cc_mappings
stx_libbasic libInit_dot_cc_mappings

o  make_dot_proto_mappings

file mappings support
o  commonSymbolsFlag
some libraries are compiled with COMMONSYMBOLS -
This saves a lot of space in the generated dll/so files;
However, it also requires the librun to be rebuilt, whenever one of
the commonSymbols-libs changes.
Therefore, NEVER do this for end-user or application libraries;
ONLY do it for a subset of the predefined, eXept-provided standard stx libraries

o  generateExtensionLine_libInit_dot_cc
DapasXProject generateExtensionLine_libInit_dot_cc
DapasX_Datenbasis generateExtensionLine_libInit_dot_cc

file templates
o  bc_dot_def
the template code for the bc.def file

o  bc_dot_mak
answer a template for the bc.mak makefile.
Any variable definition %(Variable) will be later replaced by the mapping.
$% characters have to be duplicated

o  extensionLine_libInit_dot_cc

o  libInit_dot_cc
the template code for the libInit.cc file

o  make_dot_proto
,' at ',Timestamp now printString

misc ui support
o  iconInBrowserSymbol
( an extension from the stx:libtool package )
the browser will use this as index into the toolbariconlibrary

o  lib_dot_rc

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  definitionClassOfApplicationBundle
Return the applicationDefinition of the applicationBundle or nil.
This is the applicationDefinition of the package which gets actually deployed.
For example, for all stx libraries, this will be stx_projects_smalltalk.
For expecco, this would be exept_expecco_application.
The algorithm here follows the parent hierarchy (not the class hierarchy) of the package name.
Some classes may explicitly redefine this (if the folder structure is not hierarchical).
This information is currently used for automatic check of language translations.

Notice: libraries which are used by more than one project, should only return the one
which is their 'natural' bundle - usually defined by the position in the package hierarchy.
This is a little experimental - may change.

usage example(s):

     exept_expecco definitionClassOfApplicationBundle

o  isAbstract

o  projectType

o  supportedLanguages
Returns a list of languages that (should be / are) supported by this application or library.
Currently this is only used by lint, to verify that the corresponding languages are
present in the resource files.

sanity checks
o  searchForInconsistencies
self searchForInconsistencies
DapasX_Datenbasis searchForInconsistencies

o  searchForNeverCompiledSuperclasses
self searchForNeverCompiledSuperclasses
DapasX_Datenbasis searchForNeverCompiledSuperclasses

o  isLibraryDefinition
stx_libboss isLibraryDefinition
ProjectDefinition isLibraryDefinition
LibraryDefinition isLibraryDefinition

ST/X; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Sat, 28 May 2022 20:23:44 GMT