lutin.module.Module Class Reference

Public Member Functions

def get_name (self)
 
def get_type (self)
 
def get_depends (self)
 
def get_header (self)
 
def add_extra_flags (self)
 
def remove_compile_warning (self)
 
def image_to_build (self, target, copy_list)
 
def files_to_build (self, target, copy_list)
 
def paths_to_build (self, target, copy_list)
 
def gcov (self, target, generate_output=False)
 
def build (self, target, package_name)
 
def clean (self, target)
 
def add_tools (self, list)
 
def add_depend (self, list)
 
def add_optionnal_depend (self, module_name, compilation_flags=["", export=False, src_file=[], header_file=[])
 
def add_path (self, list=".", type='c', export=False)
 
def add_flag (self, type, list, export=False)
 
def compile_version (self, compilator_type, version, same_as_api=True, gnu=False)
 
def add_src_file (self, list)
 
def add_header_file (self, list, destination_path=None, clip_path=None, recursive=False)
 
def add_generated_header_file (self, data_file, destination_path, install_element=False)
 
def copy_image (self, source, destination='', sizeX=-1, sizeY=-1)
 
def copy_file (self, source, destination='')
 
def copy_path (self, source, destination='')
 
def display (self)
 
def get_pkg (self, name)
 
def set_pkg (self, variable, value)
 
def add_pkg (self, variable, value)
 

Detailed Description

Module class represent all system needed for a specific module like.

  • type (bin/lib ...)
  • dependency
  • flags
  • files
  • ...

Member Function Documentation

def lutin.module.Module.add_depend (   self,
  list 
)

Add a dependency on this module.

Parameters
[in]self(handle) Class handle
[in]list([string,...] or string) Name(s) of the modules dependency
Returns
None
def lutin.module.Module.add_extra_flags (   self)

add Some copilation flags for this module (and only this one)

Parameters
[in]self(handle) Class handle
Returns
None
def lutin.module.Module.add_flag (   self,
  type,
  list,
  export = False 
)

Add compilation flags.

Parameters
[in]self(handle) Class handle
[in]type(string) inclusion group name 'c', 'c++', 'java' ...
[in]list([string,...] or string) List of path to include
[in]export(bool) export the flat that has been requested to add if module is present.
Returns
None
def lutin.module.Module.add_generated_header_file (   self,
  data_file,
  destination_path,
  install_element = False 
)

Many library need to generate dynamic file configuration, use this to generat your configuration and add it in the include path.

Parameters
[in]self(handle) Class handle
[in]data_file(string) Data of the file that is generated
[in]destination_path(string) Path where to install data
[in]install_element(bool) add the file in the include path and not only in the generate path
Note
this does not rewrite the file if it is not needed
Returns
None
def lutin.module.Module.add_header_file (   self,
  list,
  destination_path = None,
  clip_path = None,
  recursive = False 
)

An an header file in the install directory.

Parameters
[in]self(handle) Class handle
[in]list([string,...] or string) List of element that is needed to install
[in]destination_path(string) Path to install the files (remove all the path of the file)
[in]clip_path(string) Remove a part of the path set in the list and install data in generic include path
[in]recursive(bool) when use regexp in file list ==> we can add recursive property
1 my_module.add_header_file([
2  'include/ewol/widget.h',
3  'include/ewol/context/context.h',
4  ])

Here the user need to acces to the file wrote:

1 #include <include/ewol/cotext/context.h>

We can simplify it:

1 my_module.add_header_file([
2  'include/ewol/widget.h',
3  'include/ewol/context/context.h',
4  ],
5  destination_path='ewol')

Here the user need to acces to the file wrote:

1 #include <ewol/context.h>

==> the internal path has been removed

An other way is:

1 my_module.add_header_file([
2  'include/ewol/widget.h',
3  'include/ewol/context/context.h',
4  ],
5  clip_path='include')

Here the user need to acces to the file wrote:

1 #include <ewol/context/context.h>

==> it just remove the include data

With a copy all methode:

1 my_module.add_header_file(
2  'include/*.h',
3  recursive=True)

Here the user need to acces to the file wrote:

1 #include <ewol/context/context.h>

==> it just remove the include data

Returns
None
def lutin.module.Module.add_optionnal_depend (   self,
  module_name,
  compilation_flags = ["",
  export = False,
  src_file = [],
  header_file = [] 
)

Add an optionnal dependency on this module.

Parameters
[in]self(handle) Class handle
[in]module_name(string) Name of the optionnal dependency
[in]compilation_flags([string,string]) flag to add if dependency if find.
[in]export(bool) export the flat that has been requested to add if module is present.
[in]src_file([string,...]) File to compile if the dependecy if found.
[in]header_file([string,...]) File to add in header if the dependecy if found.
Returns
None
def lutin.module.Module.add_path (   self,
  list = ".",
  type = 'c',
  export = False 
)

Add a path to include when build.

Parameters
[in]self(handle) Class handle
[in]list([string,...] or string) List of path to include (default: local path) only relative path...
[in]type(string) inclusion group name 'c', 'c++', 'java' ...
[in]export(bool) export the include path.
Returns
None
def lutin.module.Module.add_pkg (   self,
  variable,
  value 
)

add an element in tha package property

Parameters
[in]self(handle) Class handle
[in]variable(string) Variable to set: show set_pkg
[in]value(string) Value assiciated at the package
Returns
None
def lutin.module.Module.add_src_file (   self,
  list 
)

Add source file to compile.

Parameters
[in]self(handle) Class handle
[in]list([string,...] or string) File(s) to compile
Returns
None
def lutin.module.Module.add_tools (   self,
  list 
)

Add a tools in dependency.

Parameters
[in]self(handle) Class handle
[in]list([string,...] or string) Name(s) of the tools
Returns
None
def lutin.module.Module.build (   self,
  target,
  package_name 
)

Build the current the module and install in staging path.

Parameters
[in]self(handle) Class handle.
[in]target(handle) lutin.target.Target object.
[in]package_name(string) Package name (not the module name). Used to know where to install element in the staging.
Returns
(handle) lutin.heritage.heritage.

call here to build the module

def lutin.module.Module.clean (   self,
  target 
)

Clean the build environement (in build, staging)

Parameters
[in]self(handle) Class handle
[in]target(handle) Target object
Returns
(bool) True if clean is done

call here to clean the module

def lutin.module.Module.compile_version (   self,
  compilator_type,
  version,
  same_as_api = True,
  gnu = False 
)

Set the compilation version of the.

Parameters
[in]self(handle) Class handle
[in]compilator_type(string) type of compilator: ["c++", "c"]
[in]version(int) year of the C/C++ version [1989, 1990, 1999, 2003, 2011, 2014, 2017, ...]
[in]same_as_api(bool) export the vertion on the API (otherwise the API version is the lowest)
[in]gnu(bool) Force gnu interface
Returns
None
def lutin.module.Module.copy_file (   self,
  source,
  destination = '' 
)

Copy the file in the module datas.

Parameters
[in]self(handle) Class handle
[in]source(string) filename of the souce to copy
[in]destination(string) Destination path to install data
Returns
None
def lutin.module.Module.copy_image (   self,
  source,
  destination = '',
  sizeX = -1,
  sizeY = -1 
)

copy image in the module datas

Parameters
[in]self(handle) Class handle
[in]source(string) Source filename of the image
[in]destination(string) Destination filename in the image
[in]sizeX(int) new image width
[in]sizeY(int) new image height
Returns
None
def lutin.module.Module.copy_path (   self,
  source,
  destination = '' 
)

Copy the path in the module datas.

Parameters
[in]self(handle) Class handle
[in]source(string) path of the souce to copy
[in]destination(string) Destination path to install data
Returns
None
def lutin.module.Module.display (   self)

Display help of the module (dump)

Parameters
[in]self(handle) Class handle
Returns
None
def lutin.module.Module.files_to_build (   self,
  target,
  copy_list 
)

Send files in the build data directory.

Parameters
[in]self(handle) Class handle
[in]target(handle) Target object
[in]copy_list([{},...]) When copy file, this API permit to remove unneeded files
Returns
None
def lutin.module.Module.gcov (   self,
  target,
  generate_output = False 
)

Process GCOV on the Current module.

Parameters
[in]self(handle) Class handle
[in]target(handle) Target object
[in]generate_output(bool) Generate the output gcov file of every library file (to debug wich branch is used)
Returns
None
def lutin.module.Module.get_depends (   self)

Get module dependency.

Parameters
[in]self(handle) Class handle
Returns
([string,...]) List of module that depend on
def lutin.module.Module.get_header (   self)

Get all header.

Parameters
[in]self(handle) Class handle
Returns
([string,...]) List of module install header
def lutin.module.Module.get_name (   self)

Get name of the module.

Parameters
[in]self(handle) Class handle
Returns
(string) Name of the current module
def lutin.module.Module.get_pkg (   self,
  name 
)

Get packaging property variable.

Parameters
[in]self(handle) Class handle
[in]name(string) Variable to get: "COMPAGNY_TYPE", "COMPAGNY_NAME", "ICON", "MAINTAINER", "SECTION", "PRIORITY", "DESCRIPTION", "VERSION", "VERSION_CODE", "NAME", "ANDROID_MANIFEST", "ANDROID_JAVA_FILES", "RIGHT", "ANDROID_RESOURCES", "ANDROID_APPL_TYPE", "ADMOD_ID", "APPLE_APPLICATION_IOS_ID", "LICENSE", "ANDROID_SIGN", "ADMOD_POSITION"
Returns
(string) Value assiciated at the package
def lutin.module.Module.get_type (   self)

Get type of the module ("BINARY", "LIBRARY", ...)

Parameters
[in]self(handle) Class handle
Returns
(string) string with type of the Module
def lutin.module.Module.image_to_build (   self,
  target,
  copy_list 
)

Send image in the build data directory.

Parameters
[in]self(handle) Class handle
[in]target(handle) lutin.target.Target class
[in]copy_list([{},...]) When copy file, this API permit to remove unneeded files
Returns
None
def lutin.module.Module.paths_to_build (   self,
  target,
  copy_list 
)

Send compleate folder in the build data directory.

Parameters
[in]self(handle) Class handle
[in]target(handle) Target object
[in]copy_list([{},...]) When copy file, this API permit to remove unneeded files
Returns
None
def lutin.module.Module.remove_compile_warning (   self)

remove all unneeded warning on compilation ==> for extern libs ...

Parameters
[in]self(handle) Class handle
Returns
None
def lutin.module.Module.set_pkg (   self,
  variable,
  value 
)

Set packaging variables.

Parameters
[in]self(handle) Class handle
[in]variable(string) Variable to set: "COMPAGNY_TYPE", "COMPAGNY_NAME", "ICON", "MAINTAINER", "SECTION", "PRIORITY", "DESCRIPTION", "VERSION", "VERSION_CODE", "NAME", "ANDROID_MANIFEST", "ANDROID_JAVA_FILES", "RIGHT", "ANDROID_RESOURCES", "ANDROID_APPL_TYPE", "ADMOD_ID", "APPLE_APPLICATION_IOS_ID", "LICENSE", "ANDROID_SIGN", "ADMOD_POSITION"
[in]value(string) Value assiciated at the package
Returns
None

The documentation for this class was generated from the following file:
  • lutin/lutin/module.py