Boost logo

Boost-Build :

Subject: Re: [Boost-build] How to specifiy multiple gcc compilers using windows 8.1
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2015-06-28 07:44:29


> -----Original Message-----
> From: Vladimir Prus [mailto:vladimir.prus_at_[hidden]]
> Sent: 26 June 2015 08:53
> To: boost-build_at_[hidden]
> Subject: Re: [Boost-build] How to specifiy multiple gcc compilers using windows 8.1
>
> On 6/23/2015 12:52 PM, Vladimir Prus wrote:
>
> >> <b2 toolset-clang
> >>
> >> 'C:\Program' is not recognized as an internal or external
> >> command, operable program or batch file.
> >
> > Paul,
> >
> > could you try the attached patch?
>
> Paul,
>
> did that patch work?

Yes, I think so.

(I wasn't able to use Tortoise GUT to apply the patch, but I did it manually - and sorry for delay
after your prompt fix).

I now have this in my user-config.jam

and I've tried it with putting /LLVM/... in all three probable places and clang++.exe is found
correctly.

  using clang # from http://llvm.org/releases/download.html
    : # version
    3.6.1
    : # Clang compiler .exe location
    #"C:/LLVM/bin/clang++.exe" # OK
    #"C:\\Program Files (x86)\\LLVM\\bin\\clang++.exe" # OK
    "C:\\Program Files\\LLVM\\bin\\clang++.exe" #
    : # options
  ;

So thanks.

I am not able to compile a hello-world program OK in 32-bit mode (see attached clang-32.log)

I:\modular-boost\libs\quickdox\example>b2 -a toolset=clang-3.6.1 address-model=32 --debug-configurat
ion > clang-32.log

but sadly adding address-model=64 like this

I:\modular-boost\libs\quickdox\example>b2 -a toolset=clang-3.6.1 address-model=64 --debug-configurat
ion > clang-64.log

still does not work.

notice: will use 'C:\Program Files\LLVM\bin\clang++.exe' for clang-linux, condition
<toolset>clang-linux-3.6.1

is found but this below isn't what I expect

Performing configuration checks

    - 32-bit : yes (cached)

Compile looks OK

clang-linux.compile.c++.without-pth
..\..\..\bin.v2\libs\quickdox\example\quick_auto_dox_index.test\clang-linux-3.6.1\debug\address-mode
l-64\quick_auto_dox_index.obj

but link fails

clang-linux.link
..\..\..\bin.v2\libs\quickdox\example\quick_auto_dox_index.test\clang-linux-3.6.1\debug\address-mode
l-64\quick_auto_dox_index.exe
..\..\..\bin.v2\libs\quickdox\example\quick_auto_dox_index.test\clang-linux-3.6.1\debug\address-mode
l-64\quick_auto_dox_index.obj: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status

This has the -m64 option as expected and the address-mode-64 sub-folder too.

    "C:\Program Files\LLVM\bin\clang++.exe" -o
"..\..\..\bin.v2\libs\quickdox\example\quick_auto_dox_index.test\clang-linux-3.6.1\debug\address-mod
el-64\quick_auto_dox_index.exe" -Wl,--start-group
"..\..\..\bin.v2\libs\quickdox\example\quick_auto_dox_index.test\clang-linux-3.6.1\debug\address-mod
el-64\quick_auto_dox_index.obj" -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g -m64

Suggestions most welcome.

Paul





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