[Lazarus] New compiler options page "Additions and Overrides"

patspiper patspiper at gmail.com
Fri Jun 7 10:10:54 CEST 2013


On 07/06/13 10:43, Mattias Gaertner wrote:
> On Fri, 07 Jun 2013 10:05:14 +0300
> patspiper <patspiper at gmail.com> wrote:
>
>> [...]
>> I have build modes defined as default for new projects. Would this
>> interfere with this update?
> No.
> If you don't use it nothing changes.
> It will start interfering, when you add some options to the IDE configs.
My default build modes affect only the OS and widgetset, and the 
widgetset part shows up in the new dialog.
>
>   
>> On the other hand, it seems that some options apply to all build modes
>> irrespective of their enabled status. With Linux and Win32 build modes
>> defined, compiling an empty project for Linux uses the following options:
>>
>>    -MObjFPC -Scghi -O1 -Tlinux -g -gl -vewnhi -Filib/i386-linux
>> -Fu/home/me/Programs/lazarus/lazarus-svn/lcl/units/i386-linux/win32
>> -Fu/home/me/Programs/lazarus/lazarus-svn/lcl/units/i386-linux
>> -Fu/home/me/Programs/lazarus/lazarus-svn/components/lazutils/lib/i386-linux
>> -Fu/home/me/Programs/lazarus/lazarus-svn/packager/units/i386-linux -Fu.
>> -FUlib/i386-linux/ -l -dLCL -dLCLwin32
>>
>> and fails:
>> win32/win32wsdialogs.pp(32,3) Fatal: Can't find unit Windows used by
>> Win32WSDialogs
>>
>> Inherited for LCL:
>> unit path =
>> /home/supra/Programs/lazarus/lazarus-svn/lcl/units/i386-linux/win32
>> custom options = -dLCL -dLCLwin32
>> LCLWidgetType = win32
>>
>> Inherited for LCLBase, LazUtils, and FCL do not show win32 related stuff.
> What is the host operating system? I guess Linux.
Yes
> What build mode is active?
Build mode for Linux
> What shows Project Options / Compiler Options / right side, top,
> rightmost edit button '...' / Show differences between modes?
It seems options are messed up somewhere:

Win32 differences (with Linux as reference):
Code/TargetOS=win32
Has matrix option IDEMacro:LCLWisgetType:=gtk2
Does not have matrix option IDEMacro:LCLWisgetType:=win32

Linux differences (with Win32 as reference):
Code/TargetOS=linux
Does not have matrix option IDEMacro:LCLWisgetType:=gtk2
Has matrix option IDEMacro:LCLWisgetType:=win32

I switched the order of the widgetset options using the up/down arrows, 
and all compiles well. If I switch the order back, the error shows up!

Stephano




More information about the Lazarus mailing list