lutin/lutin_concept.html

149 lines
7.2 KiB
HTML

<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>lutin: build system and packager: Basic concept</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">lutin: build system and packager 2.0.0</a>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Basic concept </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Lutin is a compleate builder system. It is designed to answers all the application problems. The library and the distribution problem are partially manage (no real use-case)</p>
<h1>Technologie: </h1>
<p>Lutin is designed in Python 2.X or 3.X to answers at the multiplatform problems. On Linux or MacOs, it is really easy to compile with Makefile, cmake, but on Windows it is an other problem. The first version of Lutin has been designed in Makefile, but we need to wait 20 minutes before the first build on Windows. In Python it is fast as Linux.</p>
<p>Lutin is not based over an other builder, but compile code itself.</p>
<h1>Features: </h1>
<p>Lutin is designed to:</p><ul>
<li>support many hardware platform (X86/X64/ARM...);</li>
<li>support many operation system (windows, Ios, Android ...);</li>
<li>support complex worktree and depedency;</li>
<li>build only when needed;</li>
<li>create platform specific packages (application bundle);</li>
</ul>
<h1>global overview: </h1>
<p>Every build system is based on multiple concept depending of their own designed.</p>
<p>For lutin we can différentiate 4 basics concepts:</p><ul>
<li>Mudule: Interface to create a part of an application, that contain binary, scipt, datas ...</li>
<li>Target: methode to creata an application or a library (may be internal: medium level)</li>
<li>Builder: Methode to transform element in other, for example: compile a cpp in object file, or object files in binary.</li>
<li>System: Many OS manage basic element contain in the OS, This part permit to find generic module availlable in the system.</li>
</ul>
<h1>Module: </h1>
<p>When you use lutin, you migth first create a module, This is the basis of the framework. It permit to describe your "module", all it contain, and the deendency.</p>
<p>We can separate a module in some part:</p><ul>
<li>Binary:<ul>
<li>A binary is an end point element.</li>
<li>It can be transform in a complete standalone bundle, or in an part installable.</li>
</ul>
</li>
<li>Library:<ul>
<li>This represent an element that is used by other application</li>
</ul>
</li>
</ul>
<h1>Target: </h1>
<p>A target represent the "board" to build the module, we can separate MacOs, IOs, Linux ... and all platform that exist</p>
<p>You can generate a new one or use satandard that are provided</p>
<h1>Builder: </h1>
<p>By default lustin manage many methode to build element like cpp, java, asm files ...</p>
<h1>System: </h1>
<p>This element provide all elements availlable in the Linux distribution.</p>
<p><b>Index:</b></p><ul>
<li>mainpage</li>
<li><a class="el" href="lutin_concept.html">Basic concept</a></li>
<li><a class="el" href="lutin_use.html">How to use lutin</a></li>
<li><a class="el" href="lutin_module.html">Create a new Module:</a> </li>
</ul>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 9 2016 12:15:03 for lutin: build system and packager by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>