<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 30, 2015 at 3:38 PM, Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org" target="_blank">michael@freepascal.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On Fri, 30 Jan 2015, Toan Pham wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Mattias,<br>
<br>
<br>
Autotool, cmake and pkgconfig are tools for configuring and building C/C++ projects.<br>
The tools are very helpful because they allow the developers/software builders to detect software dependencies, version requirements,<br>
and also configure software features at build-time. For example,<br>
let's say we want to build gtk-2, we would do the following steps:<br>
<br>
1. Download the source code & unzip it<br>
2. We want to configure it, without opengl support (just to illustrate this example)<br>
./configure --disable-opengl<br>
<br>
3. When we do this, auto-tool would call pkg-config (another utility), and see if it has libcairo version 2.1 and freefont library<br>
version 1.1 (for example).<br>
<br>
4. If the dependencies are satisfied, pkg-config also tells auto-tool where to look for the libraries, by giving the CFLAGS and<br>
LFLAGS <br>
<br>
in a nutshell, that's how it works. At first, the process looks like there is alot of work to build a package; but in practice; <br>
its a standard way to build software, and it becomes very easier to manage when one has to build a linux distribution.<br>
<br>
Object pascal and Lazarus projects are a little bit different. I normally build those projects manually with lazarus. lazbuild is<br>
nice, but it encapsulates many features from developers. I understand you can use -k option to pass options to the linker etc... But<br>
let say, you have 200+ pascal programs and libraries, how are you build them effective?<br>
<br>
<br>
You may think lazbuild is the solution; but let's say if you are a linux distributor and you have to build 200+ projects and libraries<br>
for different architectures, lazbuild may not be enough. <br>
</blockquote>
<br>
Why do you think so ?<br>
<br>
I have a fully automated build environment that uses lazbuild, guided by a custom written program and a shell script.<br>
It works transparantly on linux and windows. It results in an installer on both platforms: inno setup on windows, self-extracting shell script on linux, built from the same .iss file.<br>
<br>
This system compiles 40 interdependent packages/projects without human intervention; lazbuild takes care of the dependencies, paths and compiler options.<br>
Moreover, different versions of packages are handled without problems.<br>
<br>
I see no reason why it could not handle 200+ projects.<br>
<br>
Using the --pcp option I can even use different lazarus setups for daily builds and release builds.<br>
<br>
As far as I can see, Lazarus offers all you need. What do you think is missing ?<span class="HOEnZb"><font color="#888888"><br>
<br>
Michael.</font></span><br>--<br></blockquote></div><br><br></div><div class="gmail_extra">Are these ( program sources and shell script ) open to public ?<br></div><div class="gmail_extra">If "Yes" , would you please supply link(s) to download ?<br><br></div><div class="gmail_extra">Thank you very much .<br><br></div><div class="gmail_extra">Mehmet Erol Sanliturk<br><br><br></div><div class="gmail_extra"><br></div></div>