Boost logo

Boost-Build :

Subject: Re: [Boost-build] An option to prepend paths to %PATH% before executing a test built with a toolset
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2015-10-20 03:03:40


On 20/10/2015 3:36, Edward Diener wrote:
> My experience with mingw(-64) is that you will not be able to
> compile/link without the 'bin' directory of the mingw(-64) installation
> being in your PATH. Since different mingw(-64) releases have different
> paths it appears impossible to me that you can run more than one
> mingw(-64) regression test at a time.

With mingw-64 I have no problems when compiling-linking because I've put
a .bat file that updates PATH and passes arguments to g++:

using gcc : 4.7c++03 : c:/.../_mingw-scripts/gcc-4.7.bat :
<cxxflags>-std=c++03 ;

where gcc-4.7.bat is:

@echo off
set PATH=C:\Program Files
(x86)\mingw-builds\x32-4.7.3-posix-dwarf-rev1\mingw32\bin;%PATH%
g++ %*

This works with older mingw-builds and newer mingw-w64 builds, at least
in several compilers (I have gcc-4.6,4.7,4.8,4.9, and 5.1). I use
link=static to run tests, I don't know if this helps a bit.

I have no execution errors, even if PATH is not updated when executing
(maybe those different runtimes in each compiler are compatible or they
just embed some DLL lookup path in the binary, I don't know).

The main problem is with the old mingw (I'm trying to test gcc-3.4 and
gcc-4.2) which complains about mingwm10.dll. I could just try to put a
copy of this DLL in %WINDOWS% directory, but if that DLL has no ABI
compatibility, then each compiler will need a different path. Even with
ABI compatibility, I would need to guess which is the most recent
version and deal with additional dependencies.

I don't know much about how Build works, but I see several properties
are passed to the "run-path-setup", I just don't know if those could
come from user-config.jam.

Best,

Ion


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