Boost logo

Boost-Build :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2005-04-06 08:29:22


David Abrahams wrote:
> "Thomas Schipolowski" <thomas.schipolowski_at_[hidden]> writes:
>
>
>>>Works fine for me here, building and testing with Boost.Build. This
>>>is a build problem on your end
>>
>>
>>Yes, I compiled the test case with BJam and now it works flawlessly. Great!
>>One complication is left: I wonder now how to explain to BJam that some of
>>my files need to be fed to a fortran compiler, before they are linked with
>>the c++ objects. Would you say that using BJams 'prebuilt binaries' feature
>>with an external fortran build is the best way to achieve that, or is it
>>reasonably easy to tell BJam about the fortran toolchain? Is the latter
>>documented somewhere?
>
>
> Well, Boost.Build v2 has a fortran toolset, but it seems to be under-documented
>

Currently I consider fortran support in bjam to be in beta state. I use
it on 5 different platforms but no one (except me) has tried it AFAICT.
So I'm happy to take user-input to make sure it works consistent everywhere.

> I'm not sure what you need to do to configure it. Maybe its author
> can help? I suggest following up to the jamboost list
> (http://www.boost.org/more/mailing_lists.htm#jamboost).

just like you specify which C/C++ compiler-toolset you will use, you can
specify 'using <some-fortran-compiler>' in your user-config.jam.

Currently 'some-fortran-compiler' can be:
1) gfortran (for g77)
2) ifort (for the intel compiler on pentium on windows)
3) ifort-linux (for the intel compiler on pentium and itanium on linux)
4) xlf (for the IBM compiler)

With the 'using' statement, all files with an '.f' extension will be
compiled using the fortran toolset.

Bjam currently however is mainly used for compiling and linking C/C++
programs. Linking is almost always done using the C++ compiler/linker to
make sure the app is linked with the C++ standard libraries. Now I still
need to figure out a clever way to detect if also objects coming from
fortran sources are linked in the application. Because in that case also
the linker should link with the runtime fortran libraries. My current
workaround is that my applications that use object coming from fortran
sources link with a library '/user-config//libfortran' and than in my
user-config I make sure the latter library points to the runtime library
of fortran.

toon

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk