Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2003-12

feature request: compiled units in target dependantdirectory

6 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner
to Vincent Snijders: One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled…
Show quoted text 21 lines
Hi, One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled unit files for the win32 target. fpc 1.0.x : .ppw and .ow fpc 1.9.x : .ppu and .o Because with fpc 1.9.x the win32 target uses the same extensions as the linux target, you can't have a compiled lcl for both win32 and linux in the same directory anymore. Therefore I propose that the makefiles will be changed in such a way, that the compiled units go to the directory units\$target instead of just units. Some care have to be taken for the location of the compiled units of the interfaces, because there is a win32 target and a win32 interface and they better not end up in the same directory. Maybe the units for the win32 interface compiled for win32 should use: lcl/units/interfaces/win32/win32 and gtk interface for linux lcl/units/interfaces/gtk/linux With macros: lcl/units/interfaces/$lcl_platform/$target

I think, you are right. We need some subdirs for cross compilation. The LCL depends only on the TargetOS, while the interfaces depend the LCL units.
So, maybe an alternative is:

for the lcl units: lcl/units/$TargetOS
for the interface units: lcl/units/$TargetOS/$LCL_Widget_Set

Mattias

Reply by email

Vincent Snijders

Hi,

One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled unit files for the win32 target.
fpc 1.0.x : .ppw and .ow
fpc 1.9.x : .ppu and .o

Because with fpc 1.9.x the win32 target uses the same extensions as the linux target, you can't have a compiled lcl for both win32 and linux in the same directory anymore. Therefore I propose that the makefiles will be changed in such a way, that the compiled units go to the directory units\$target instead of just units. Some care have to be taken for the location of the compiled units of the interfaces, because there is a win32 target and a win32 interface and they better not end up in the same directory.

Maybe the units for the win32 interface compiled for win32 should use: lcl/units/interfaces/win32/win32
and gtk interface for linux
lcl/units/interfaces/gtk/linux
With macros: lcl/units/interfaces/$lcl_platform/$target

Regards,
Vincent

Reply by email

Vincent Snijders
to Vincent Snijders
Show quoted text 29 lines
On Fri, 19 Dec 2003 07:55:10 +0100 (CET) "Peter Vreman" wrote: > >> I think, you are right. We need some subdirs for cross > >compilation.> The LCL depends only on the TargetOS, while the > >interfaces depend the> LCL units. > >> So, maybe an alternative is: > >> > >> for the lcl units: lcl/units/$TargetOS > >> for the interface units: lcl/units/$TargetOS/$LCL_Widget_Set > > That is better indeed, shorter and more resembling the situation > > ATM. Are you going to make the changes or shall I take a look at > > it? > > What about linux-powerpc and linux-i386 ? It's better to also take > care of that issue now than in the future. Good thinking. for the lcl units: lcl/units/$TargetOS/$TargetProcessor for the interface units: lcl/units/$TargetOS/$TargetProcessor/$LCL_Widget_Set Applications using the LCL package should not get any problems, but I guess there are quite a lot without, or with double paths. So, I think, we should wait a few days with this change.

But not too long, because some users (or at least one, 'see cant find unit interfacebase') are having problems without knowing, because they don't realize if they want to compile your application for two or more targets, you must recompile the LCL too.

Vincent.

Reply by email

Peter Vreman
to Vincent Snijders: One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled…
Show quoted text 9 lines
> I think, you are right. We need some subdirs for cross compilation. > The LCL depends only on the TargetOS, while the interfaces depend the > LCL units. > So, maybe an alternative is: > > for the lcl units: lcl/units/$TargetOS > for the interface units: lcl/units/$TargetOS/$LCL_Widget_Set That is better indeed, shorter and more resembling the situation ATM. Are you going to make the changes or shall I take a look at it?

What about linux-powerpc and linux-i386 ? It's better to also take care of that issue now than in the future.

Reply by email

Vincent Snijders
to Vincent Snijders: One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled…
Show quoted text 10 lines
On Thu, 18 Dec 2003 10:57:57 +0100 Vincent Snijders wrote: I think, you are right. We need some subdirs for cross compilation. The LCL depends only on the TargetOS, while the interfaces depend the LCL units. So, maybe an alternative is: for the lcl units: lcl/units/$TargetOS for the interface units: lcl/units/$TargetOS/$LCL_Widget_Set

That is better indeed, shorter and more resembling the situation ATM. Are you going to make the changes or shall I take a look at it?

Regards,
Vincent.

Reply by email

Mattias Gaertner
to Vincent Snijders: One of the differences between fpc 1.0.x and fpc 1.9.x is the extension of the compiled…
Show quoted text 12 lines
>> I think, you are right. We need some subdirs for cross compilation. >> The LCL depends only on the TargetOS, while the interfaces depend the >> LCL units. >> So, maybe an alternative is: >> >> for the lcl units: lcl/units/$TargetOS >> for the interface units: lcl/units/$TargetOS/$LCL_Widget_Set > That is better indeed, shorter and more resembling the situation ATM. > Are you going to make the changes or shall I take a look at it? What about linux-powerpc and linux-i386 ? It's better to also take care of that issue now than in the future.

Good thinking.

for the lcl units:
lcl/units/$TargetOS/$TargetProcessor

for the interface units:
lcl/units/$TargetOS/$TargetProcessor/$LCL_Widget_Set

Applications using the LCL package should not get any problems, but I guess there are quite a lot without, or with double paths. So, I think, we should wait a few days with this change.

Mattias

Reply by email