Show quoted text 36 lines
> On Tue, 13 Nov 2007 13:28:47 +0100 (CET)
> "Peter Vreman" wrote:
>
>> > On Tue, 13 Nov 2007 09:21:36 +0100 (CET)
>> > "Peter Vreman" wrote:
>> >
>> >>[...]
>> >> >> fpc -n -FUunits\i386-win32\ -Fu..\..\src\ -Fuunits\i386-win32\*
>> >> >> myexample.pp
>> >> >>
>> >> >> 1. What strikes me is that the command line has the option -n in
>> >> >> it. It appears that this command line option is hard coded in
>> >> >> TBuildEngine.GetCompilerCommand. I strongly believe it should
>> >> >> become a property named DefaultConfigFile which is by default
>> >> >> set to True ie no '-n'.
>> >>
>> >> This is by design to prevent dependening on local configuration
>> >> when building and installing packages. It forces the user to add
>> >> all options and dependencies to fpmake.pp
>> >
>> > Can fpmake be used for programs/libraries too?
>> > They need the linker options of fpc.cfg.
>>
>> For fpmake we can use the same algorithm as currently used in the
>> generated Makefiles.
>>
>> Depending on a fpc.cfg is not an option for installing packages from
>> a repository. That will give more problems than it solves. E.g.
>> people having -Mdelphi in the fpc.cfg and the package expects -Mfpc,
>> because that it the compiler default.
>
> Yes, of course.
> Maybe my question was misleading. I want to know if fpmake is a tool
> for building packages or if it is a general tool to build all type
> of pascal code. I know, I can hack it to build everything, but is this
> supported or is there another tool?
- fpmake is generic layer to compile programs and units.
* basic knowledge where units need to be installed (same as Makefiles have and fpc binary without fpc.cfg)
* knowledge for a local and system wide units directory, the default is only a system wide directory. Only fppkg has knowledge about a local directory atm.
* ability to override settings on the commandline or config file where to find the compiler and units
- fppkg has the knowledge for:
* installed/available packages per cpu-os-version combination
* info where to install units (for normal users locally in ~/.fppkg/ or system wide /usr/local/fpc/)
* remote repository information where to retrieve packages
That is why I propose to make the -n option passed to fpc optional. I'm
trying to implement fpmake for a non FPC "compiler" project and extending
asability as I come along.
ok, i see the problem now. when not using fppkg then fpmake has no knowledge where to find the unit directories and you need fpc.cfg for it. I'll add a --nofpccfg option that will always be set when fppkg is used to call fpmake.
Peter