Mattias,
Autotool, cmake and pkgconfig are tools for configuring and building C/C++ projects.
The tools are very helpful because they allow the developers/software builders to detect software dependencies, version requirements, and also configure software example,
let's say we want to build gtk-2, we would do the following steps:
1. Download the source code & unzip it
2. We want to configure it, without opengl support (just to illustrate this example)
./configure --disable-opengl
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).
4. If the dependencies are satisfied, pkg-config also tells auto-tool where to look for the libraries, by giving the CFLAGS and LFLAGS
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; its a standard way to build software, and it becomes very easier to manage when one has to build a linux distribution.
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?
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.
On Fri, Jan 30, 2015 at 5:22 PM, Mattias Gaertner <
Show quoted text 31 lines
wrote:
On Fri, 30 Jan 2015 16:42:55 -0500
Toan Pham wrote:
>[...]
> lazbuild does the work, but then i even want to get away from lazbuild
> dependency.
> I muck around with fpcmake but then, it too can't really create a proper
> makefile project.
> for some reasons, fpcmake failed to know where to locate the LCL gtk2
> interface directory.
> The best way is probably to do it manually, like autoconfigure and
> pkg-config.
I'm not sure what you mean with autoconfigure and
pkg-config do it "manually".
If you want the full features you need lazbuild. If you don't want to
use lazbuild then you have to explain what kind of project/packages
you want to build.
What exactly should be done automatically and what manually?
Mattias
--
_______________________________________________
Lazarus mailing list
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150130/c9fc0f8d/attachment.html>