<div dir="ltr"><br><div>Mattias,</div><div><br></div><div><br></div><div>Autotool, cmake and pkgconfig are tools for configuring and building C/C++ projects.</div><div>The tools are very helpful because they allow the developers/software builders to detect software dependencies, version requirements, and also configure software features at build-time. For example,</div><div>let's say we want to build gtk-2, we would do the following steps:</div><div><br></div><div>1. Download the source code & unzip it</div><div>2. We want to configure it, without opengl support (just to illustrate this example)</div><div> ./configure --disable-opengl</div><div><br></div><div>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 version 1.1 (for example).</div><div><br></div><div>4. If the dependencies are satisfied, pkg-config also tells auto-tool where to look for the libraries, by giving the CFLAGS and LFLAGS </div><div><br></div><div>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; </div><div>its a standard way to build software, and it becomes very easier to manage when one has to build a linux distribution.</div><div><br></div><div>Object pascal and Lazarus projects are a little bit different. I normally build those projects manually with lazarus. lazbuild is nice, but it encapsulates many features from developers. I understand you can use -k option to pass options to the linker etc... But let say, you have 200+ pascal programs and libraries, how are you build them effective?</div><div><br></div><div><br></div><div>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 for different architectures, lazbuild may not be enough. </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 30, 2015 at 5:22 PM, Mattias Gaertner <span dir="ltr"><<a href="mailto:nc-gaertnma@netcologne.de" target="_blank">nc-gaertnma@netcologne.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 30 Jan 2015 16:42:55 -0500<br>
Toan Pham <<a href="mailto:tpham3783@gmail.com">tpham3783@gmail.com</a>> wrote:<br>
<br>
>[...]<br>
<span class="">> lazbuild does the work, but then i even want to get away from lazbuild<br>
> dependency.<br>
> I muck around with fpcmake but then, it too can't really create a proper<br>
> makefile project.<br>
> for some reasons, fpcmake failed to know where to locate the LCL gtk2<br>
> interface directory.<br>
> The best way is probably to do it manually, like autoconfigure and<br>
> pkg-config.<br>
<br>
</span>I'm not sure what you mean with autoconfigure and<br>
pkg-config do it "manually".<br>
If you want the full features you need lazbuild. If you don't want to<br>
use lazbuild then you have to explain what kind of project/packages<br>
you want to build.<br>
What exactly should be done automatically and what manually?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Mattias<br>
<br>
--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
</div></div></blockquote></div><br></div>