Sign in Join

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

Mailing lists / fpc-pascal / 2011-08

FPC i386 and x86_64 using the same source

11 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

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

Marcos Douglas

Hi,
I want to use a single source for i386 and x86_64 in the FPC as well as Lazarus. So, I downloaded a clean and fixes_2_6 and ran make x64 without 'install' parameter.

I pointed the INSTALL_PREFIX to another folder. It was "installed" the FPC (see attachment) with only the exe and PPU needed ... and this is very good. But in the folder of the sources were created many other EXEs (utility tools (?)) specific to platform x64 and this is my problem.

In my opinion, everything that was created should have a prefix folder specifying your TARGET.
If I compile the FPC to x64 plataform all these binaries only will run on this platform. I want to have each file/exe/ppu/etc for each platform.

Marcos Douglas

Reply by email

Jonas Maebe
to Marcos Douglas
Marcos Douglas wrote 5 lines
In my opinion, everything that was created should have a prefix folder specifying your TARGET. If I compile the FPC to x64 plataform all these binaries only will run on this platform. I want to have each file/exe/ppu/etc for each platform.

That is not supported. You also have not explained why you want all utilities compiled for multiple platforms under the same prefix.

Jonas

Reply by email

Marcos Douglas
to Jonas Maebe
Jonas Maebe wrote 11 lines
On 22 Aug 2011, at 22:51, Marcos Douglas wrote: > In my opinion, everything that was created should have a prefix folder > specifying your TARGET. > If I compile the FPC to x64 plataform all these binaries only will run > on this platform. I want to have each file/exe/ppu/etc for each > platform. That is not supported. You also have not explained why you want all utilities compiled for multiple platforms under the same prefix.

So, I understood right, is not supported.
I not need these utilities and I do not know if they all are important or who uses them, etc.
But if, one day, I will use some utility, I shoud compile it to use because I never know if it is 32 or 64bit. I'm right?

What do you recommends?
1. Keep two sources, one to each plataform or;
2. Keep the same source, with specific directories for each plataform, ignoring the utilities.

Marcos Douglas

Reply by email

Jonas Maebe
to Marcos Douglas
Marcos Douglas wrote 15 lines
On Mon, Aug 22, 2011 at 5:59 PM, Jonas Maebe wrote: > > On 22 Aug 2011, at 22:51, Marcos Douglas wrote: > >> In my opinion, everything that was created should have a prefix folder >> specifying your TARGET. >> If I compile the FPC to x64 plataform all these binaries only will run >> on this platform. I want to have each file/exe/ppu/etc for each >> platform. > > That is not supported. You also have not explained why you want all utilities compiled for multiple platforms under the same prefix. So, I understood right, is not supported. I not need these utilities and I do not know if they all are important or who uses them, etc.

Some of them are used by the makefiles, some by the compiler and some by the user.

But if, one day, I will use some utility, I shoud compile it to use because I never know if it is 32 or 64bit. I'm right?

It doesn't matter whether it is 32 or 64 bit, it will do exactly the same (except for "fpc", which will call ppcx64 if it was compiled for 64 bit, and ppc386 if it was compiled for 32 bit).

What do you recommends? 1. Keep two sources, one to each plataform or; 2. Keep the same source, with specific directories for each plataform, ignoring the utilities.

3. Install everything to the same prefix. Add CROSSINSTALL=1 to the "make install" line for which you do *not* want to install the utilities (e.g., if you want the default compiler to be the i386 one, add CROSSINSTALL=1 when installing the 64 bit compiler)

Jonas

Reply by email

Den Jean
to Jonas Maebe
Jonas Maebe wrote
3. Install everything to the same prefix. Add CROSSINSTALL=1 to the "make install" line for which you do not want to install the utilities (e.g., if you want the default compiler to be the i386 one, add CROSSINSTALL=1 when installing the 64 bit compiler)

these options like crosszipinstall, crossinstall, ... are probably documented in a dozen places, albeit not visible enough for my blind eyes. Wouldn't it be nice if they showed up in the BuildFaq http://www.stack.nl/~marcov/buildfaq.pdf

regards,

Den Jean

Reply by email

Graeme Geldenhuys
to Den Jean
Den Jean wrote
these options like crosszipinstall, crossinstall, ... are probably documented in a dozen places, albeit not visible enough for my blind eyes.

+1
These settings seem very confusing, and definitely hard to find in any documentation.

I just searched all my PDF docs for FPC, and couldn't find a single reference to 'crossinstall' anywhere. :-(

Maybe it's time we create a FreeVision front-end to the build system. :) I would find this very helpful for my various FPC builds too, so I'll see what I can come up with - though I don't know FreeVision at all (should be interesting though).

Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Marcos Douglas
to Jonas Maebe: Some of them are used by the makefiles, some by the compiler and some by the user. It…
Jonas Maebe wrote 7 lines
On 22 Aug 2011, at 23:08, Marcos Douglas wrote: > So, I understood right, is not supported. > I not need these utilities and I do not know if they all are important > or who uses them, etc. Some of them are used by the makefiles, some by the compiler and some by the user.

So, them are very important.

Show quoted text 6 lines
> But if, one day, I will use some utility, I shoud compile it to use > because I never know if it is 32 or 64bit. I'm right? It doesn't matter whether it is 32 or 64 bit, it will do exactly the same (except for "fpc", which will call ppcx64 if it was compiled for 64 bit, and ppc386 if it was compiled for 32 bit).

Of course it matters! 64 bit doesn't works in OS 32 bit. That is my problem. I'm configuring a HD external with my all environment.

3. Install everything to the same prefix. Add CROSSINSTALL=1 to the "make install" line for which you do *not* want to install the utilities (e.g., if you want the default compiler to be the i386 one, add CROSSINSTALL=1 when installing the 64 bit compiler)

Hm... OK, I will try. Looks like that is I want.
But which magic "CROSSINSTALL=1" does? Do you have a link where I can study more about it?

Marcos Douglas

Reply by email

Marcos Douglas
to Graeme Geldenhuys: +1 These settings seem very confusing, and definitely hard to find in any documentation.…
Den Jean wrote 9 lines
On Monday 22 August 2011 23:24:29 Jonas Maebe wrote: > 3. Install everything to the same prefix. Add CROSSINSTALL=1 to the "make > install" line for which you do not want to install the utilities (e.g., if > you want the default compiler to be the i386 one, add CROSSINSTALL=1 when > installing the 64 bit compiler) these options like crosszipinstall, crossinstall, ... are probably documented in a dozen places, albeit not visible enough for my blind eyes. Wouldn't it be nice if they showed up in the BuildFaq http://www.stack.nl/~marcov/buildfaq.pdf
Graeme Geldenhuys wrote 10 lines
On 23/08/2011, Den Jean wrote: > these options like crosszipinstall, crossinstall, ... are probably > documented  in a dozen places, albeit not visible enough for my blind eyes. +1 These settings seem very confusing, and definitely hard to find in any documentation. I just searched all my PDF docs for FPC, and couldn't find a single reference to 'crossinstall' anywhere. :-(

x2

Marcos Douglas

Reply by email

Marco van de Voort
to Jonas Maebe

In our previous episode, Jonas Maebe said:

Show quoted text 7 lines
> I just searched all my PDF docs for FPC, and couldn't find a single > reference to 'crossinstall' anywhere. :-( The FPC documentation does not document building FPC itself, that is what the buildfaq is for (although apparently it doesn't mention this particular option).

(the main reason being that the FPC documentation is cyclic with version, and buildfaq was meant as "out of band" documentation, and also documenting trunk practices)

Anyway, in such cases please file a bugreport with buildfaq in the subject, and then it will be assigned to me.

Reply by email

Marcos Douglas
to Marco van de Voort
Marco van de Voort wrote 15 lines
In our previous episode, Jonas Maebe said: > > > I just searched all my PDF docs for FPC, and couldn't find a single > > reference to 'crossinstall' anywhere. :-( > > The FPC documentation does not document building FPC itself, that is what > the buildfaq is for (although apparently it doesn't mention this > particular option). (the main reason being that the FPC documentation is cyclic with version, and buildfaq was meant as "out of band" documentation, and also documenting trunk practices) Anyway, in such cases please file a bugreport with buildfaq in the subject, and then it will be assigned to me.

There you go:
http://bugs.freepascal.org/view.php?id=20058

Marcos Douglas

Reply by email