Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-08-26 08:05:35


Hi Toon,

> > Yes, as soon as you have it minimally working, please check it in.
>
> I have checked in a vacpp.jam for bjamv2. It works but it is not
> complete yet. For instance I need to use another compiler when compiling
> with threading=multi (xlC_r instead of xlC). I tried to do it but it
> does not work as expected. Could you have a look or can you give me some
> info on how to do this ? (you can see my attempt in vacpp.jam which is
> currently commented out)

What exactly does not work? When I apply the attached patch (basically
uncommenting your attempt) and go to example/hello, I get this output:

$ bjam -n vacpp
.......
vacpp.compile.c++ bin/vacpp/debug/hello.o

xlC -c -qNOOPTimize -qnoinline -g -qeh -qrtti -o
"bin/vacpp/debug/hello.o" "hello.cpp"

vacpp.link bin/vacpp/debug/hello

xlC -g -o "bin/vacpp/debug/hello" "bin/vacpp/debug/hello.o"

$ bjam -n vacpp threading=multi
........
vacpp.compile.c++ bin/vacpp/debug/threading-multi/hello.o

xlC_r -c -qNOOPTimize -qnoinline -g -qeh -qrtti -o
"bin/vacpp/debug/threading-multi/hello.o" "hello.cpp"

vacpp.link bin/vacpp/debug/threading-multi/hello

xlC_r -g -o "bin/vacpp/debug/threading-multi/hello"
"bin/vacpp/debug/threading-multi/hello.o"

So, it looks like the compiler name is changed.

- Volodya
 --Boundary-00=_fAeLBNf3nVDCgeq Content-Type: text/x-diff;
charset="iso-8859-1";
name="vacpp.jam.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="vacpp.jam.diff"

Index: vacpp.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/vacpp.jam,v
retrieving revision 1.1
diff -u -r1.1 vacpp.jam
--- vacpp.jam 26 Aug 2004 12:30:04 -0000 1.1
+++ vacpp.jam 26 Aug 2004 12:59:42 -0000
@@ -72,27 +72,25 @@
flags vacpp FINDLIBS <find-static-library> ;

# Select the compiler name according to the threading model.
-# flags vacpp VA_C_COMPILER <threading>single : xlc ;
-# flags vacpp VA_C_COMPILER <threading>multi : xlc_r ;
-# flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
-# flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
+flags vacpp VA_C_COMPILER <threading>single : xlc ;
+flags vacpp VA_C_COMPILER <threading>multi : xlc_r ;
+flags vacpp VA_CXX_COMPILER <threading>single : xlC ;
+flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
+

actions vacpp.link bind NEEDLIBS
{
-# $(VA_CXX_COMPILER) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
- xlC_r $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
+ $(VA_CXX_COMPILER) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

actions vacpp.compile.c
{
-# $(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
- xlc_r -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
+ $(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions vacpp.compile.c++
{
-# $(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
- xlC_r -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
+ $(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions updated together piecemeal vacpp.archive
 --Boundary-00=_fAeLBNf3nVDCgeq--


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