Lee, John John.Lee at logicacmg.com
Mon Oct 13 13:51:46 CEST 2003

I agree with the complainant to some extent... the fpcmake files are very
complicated, and make itself isn't the easiest utility to use for non
(l)unix'ites -that's putting it vvvv mildly!-. However, I suppose whatever
we do is going to be complicated, so we have to live with it. 

The main problem is when someone mods the make process (as has happened a
few times recently eg re cross, re the paths to utilities), and accidentally
breaks something - as is currently the case with go32v2 & win32 snapshot
making under win9x (still broken!). The big problem is, because it's so
complicated, that there are only only a few developers who have access to
all the various operating systems/targets can who can fix it. 

Regards John 

> On Sun, Oct 12, 2003 at 01:55:41PM +0200, Florian Klaempfl wrote:
> > Yakov Sudeikin wrote:
> > >Let's get rid of fpcmake. Pascal is good because you do not need this 
> > >old-crap-make-utility to compile your programs! All you need is a
> > 
> > Not of you have hundred of files in a dozens of directories and you want

> > to compile these source for more than one target.
> The trouble I've found with fpcmake, is it's not that easy to create the
> make files with. Quite difficult indeed. Mind you though, I've never
> used any of the GNU Make utils either, eg: autoconf, etc...

FPC uses makefiles for the _core_ distribution for some reasons:

The primary reason is to build a sequence of packages with complex
directories. More over the RTL also has dependancies within directories.
(some units must be built first).

FPCMAKE is a way to keep makefile maintenance lower.

Other reasons are:

- to combine compiler processing with non-compiler processing (e.g. generate
	an includefile from some other file)
- to parameterise the build process (you can build full cross-snapshots with
   one command currently in 1.1).
- make is a fairly standard tool, and available on most platforms. FPCMAKE
  is only needed after alterations and while installing. This eases
  bootstrapping on totally foreign systems.

autoconf and automake are much more complicated, but do a lot more
(interrogate the operating system about it's possbilities)
So part of the "lower" parts of the RTL are configured by these tools for
many platforms.

This is currently not possible for non C/C++ systems, since C headers can't
100% reliable autoconverted to Pascal. Maybe in the future if some OSes
start providing the API in a more accessable format, this becomes possible.

fpc-devel maillist  -  fpc-devel at lists.freepascal.org

This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.

LogicaCMG global sponsors, Gartner Symposium, Cannes, 4th -7th November 2003


Please note that LogicaCMG does not have control over content from,or availability of, this website

More information about the fpc-devel mailing list