On 12/11/2013, at 2:57 AM, srean wrote:

> So this is an inconvenience only if the host and the target are different 
> right ?

Yes, more or less I think so. And only then if you actually execute the product
in the target (I mean, if you try to).

This is quite possible. Although Felix calls this cross compilation and one 
usually
thinks of a platform as a distinct machine running a different processor or OS,
technically any environmental distinction can be a platform distinction.

For example:

        flx --target=srean test

You see, srean is a mad performance freak and has an environment with profiling
information in the binaries. OS is still Linux, processor is still x86_64, but 
the build
tools add special performance options for the particular processor variant, and 
profiling
info is added to the binaries and activated.

Down the track (I don't think this can be done easily yet) we can have

        flx -- target=debugit ..

That one runs the executable under gdb and ensures all the binaries have
debugging info. And this one:

        flx --target=valgrind

runs the executable under valgrind, and also has to link some special
code in.

You're going to need a custom toolchain to do this.  However the toolchain 
itself
is not built for the target environment.

At present that custom toolchain has to live in the target directory, even 
though
it is a host tool (i.e. it is not actually built using the custom environment, 
we don't
want to debug or profile the build tool).

I may have to rethink the cross compilation stuff to get this to work properly!
Remember .. Felix is actual not a cross compiler. Its a cross-cross compiler.
There are actually THREE platforms to think about for the user, and FOUR
for the Felix developer:

        build -- where the tools are built
        host -- where the tools are run
        target -- where the C++ compiler is run
        run -- what the C++ compiler targets, where the executables run


If you download the tarball built on the server, the build platform is
felix-lang.org (running Ubuntu). But the host platform is your machine.
And you may be targeting WIndows by using mingw, so the target
is your machine with mingw C++ compilers, and the run is Win32.
Or you may just generate C++ on your machine, then go to another
box and compile the C++ with MSVC++, accessing the sources generated
using Samba.    

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to