|
Boost Users : |
From: Tim St. Clair (timothysc_at_[hidden])
Date: 2008-06-30 12:36:55
If you wanted too... you can also overload all the standard variables for
cross compilation and it "should" function properly.
// Rip'd from a script.
export CC=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-gcc
export CXX=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-c++
export AR=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-ar
export GCC=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-gcc
export GXX=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-g++
export LD=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-ld
export NM=$(TARGET_STAGING_DIR)/bin/$(TARGET_ARCH)-linux-nm
then call bjam install
I typically do this during cross compilation, as I don't trust most tools to
implicitly "do the right thing".
Instead, I explicitly configure an environment where there "can be only one"
way to compile.
Then I let the scripts sort it out...
Hope this helps,
Tim
On Mon, Jun 30, 2008 at 6:13 AM, Paul <elegant_dice_at_[hidden]> wrote:
> Hi,
>
> I find the bjam documentation and configuration files very frustrating...
> it seems to almost do what you want, but it doesn't finish the job and tell
> you how to actually do it correctly.
>
> I have been trying to cross-compile boost 1.35.0 for windows, on a linux
> host. The gcc.jam file mentions cross-compiling, but does not mention how
> to get it done.
>
> I almost got it to work with a user-config.jam:
> using gcc
> : mingw
> : /home/paul/mingw/bin/mingw32-g++
> : <flavor>mingw32
> <root>"/home/paul/mingwj/"
> ;
>
>
> and then hacking away at the gcc.jam file, which checks the os.system
> variable to decide how to link object files and use the -fPIC flag...
>
> around line 703:
> if [ os.on-windows ] change to...
> if [ modules.peek : UNIX ] to force it to use -mthreads instead of
> -pthreads
>
> if [ os.name ] != CYGWIN && [ os.name ] != NT change to
> if [ os.name ] = CYGWIN && [ os.name ] != NT to correct -fPIC
>
>
> it almost did the right thing, except for the extensions... i assume if i
> hack these lines, I'll get what i want...
>
> type.set-generated-target-suffix STATIC_LIB : <toolset>gcc
> <target-os>cygwin : a ;
> type.set-generated-target-suffix IMPORT_LIB : <toolset>gcc
> <target-os>cygwin : dll.a ;
> type.set-generated-target-prefix IMPORT_LIB : <toolset>gcc
> <target-os>cygwin : lib ;
>
>
> BUT then I'll have to fight to use the mingw32-ar and mingw32-windres and
> other programs.
>
>
> Isn't there an easier way? *please*
>
> I'm giving up on 1.35 as I've just read about the serialization vector bug,
> so I'll attempt to use 1.34.1
>
> thanks,
> Paul
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
-- Regards, Timothy St. Clair [timothysc_at_[hidden]]
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net