Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-06-10 08:36:14


Sean Webb
> Are there plans to include support for aCC in Boost Build v2? Would
> it be possible for me to add this myself, using the aCC config file
> from v1 as a starting point? Any pointers for doing this?

Hi Sean,
it seems like you did not reply to the attached message of mine. Did you try
the draft acc support I've sent? No pressure, just making sure no emails were
lost.

Thanks,
Volodya
 --Boundary-00=_OPGyAWCJVocbzgQ Content-Type: message/rfc822;
name="forwarded message"
Content-Transfer-Encoding: 7bit
Content-Description: Vladimir Prus <ghost_at_[hidden]>: Re: [jamboost] HPUX aCC Support in Boost Build v2?
Content-Disposition: inline

Return-path: <sentto-4392937-6394-1085391228-ghost=cs.msu.su_at_[hidden]>
Envelope-to: ghost_at_[hidden]
Delivery-date: Mon, 24 May 2004 14:30:37 +0400
Received: from mail by zigzag.lvk.cs.msu.su with spam-scanned (Exim 3.36 #1 (Debian))
id 1BSCiD-0001Mf-00
for <ghost_at_[hidden]>; Mon, 24 May 2004 14:29:46 +0400
Received: from imap.cs.msu.su ([158.250.10.39])
by zigzag.lvk.cs.msu.su with esmtp (Exim 3.36 #1 (Debian))
id 1BSChA-0001JD-00
for <ghost_at_[hidden]>; Mon, 24 May 2004 14:28:36 +0400
Received: from n49.grp.scd.yahoo.com (n49.grp.scd.yahoo.com [66.218.67.37])
by imap.cs.msu.su (8.12.9p2/8.12.9) with SMTP id i4OASfOg077742
for <ghost_at_[hidden]>; Mon, 24 May 2004 14:28:43 +0400 (MSD)
(envelope-from sentto-4392937-6394-1085391228-ghost=cs.msu.su_at_[hidden])
X-eGroups-Return: sentto-4392937-6394-1085391228-ghost=cs.msu.su_at_[hidden]
Received: from [66.218.66.30] by n49.grp.scd.yahoo.com with NNFMP; 24 May 2004 09:33:48 -0000
X-Sender: ghost_at_[hidden]
X-Apparently-To: jamboost_at_[hidden]
Received: (qmail 56997 invoked from network); 24 May 2004 09:33:45 -0000
Received: from unknown (66.218.66.166)
by m24.grp.scd.yahoo.com with QMQP; 24 May 2004 09:33:45 -0000
Received: from unknown (HELO zigzag.lvk.cs.msu.su) (158.250.17.23)
by mta5.grp.scd.yahoo.com with SMTP; 24 May 2004 09:33:45 -0000
Received: from ghost by zigzag.lvk.cs.msu.su with local (Exim 3.36 #1 (Debian))
id 1BSBnb-0007P7-00
for <jamboost_at_[hidden]>; Mon, 24 May 2004 13:31:11 +0400
To: jamboost_at_[hidden]
User-Agent: KMail/1.6.2
References: <c8lf6a+49ac_at_[hidden]>
In-Reply-To: <c8lf6a+49ac_at_[hidden]>
Message-Id: <200405241331.11321.ghost_at_[hidden]>
Sender: Vladimir Prus <ghost_at_[hidden]>
X-Scanner: exiscan *1BSBnb-0007P7-00*r8iVlJmil8.*
X-eGroups-Remote-IP: 158.250.17.23
From: Vladimir Prus <ghost_at_[hidden]>
X-Yahoo-Profile: vladimir_prus
MIME-Version: 1.0
Mailing-List: list jamboost_at_[hidden]; contact jamboost-owner_at_[hidden]
Delivered-To: mailing list jamboost_at_[hidden]
Precedence: bulk
List-Unsubscribe: <mailto:jamboost-unsubscribe_at_[hidden]>
Date: Mon, 24 May 2004 13:31:11 +0400
Subject: Re: [jamboost] HPUX aCC Support in Boost Build v2?
Reply-To: jamboost_at_[hidden]
Content-Type: multipart/mixed;
boundary="Boundary-00=_fDcsAmaugcmFrjN"
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on zigzag.lvk.cs.msu.su
X-Spam-Level:
X-Spam-Status: No, hits=-4.5 required=7.0 tests=AWL,BAYES_00 autolearn=ham
version=2.63
X-UID: 5776

--Boundary-00=_fDcsAmaugcmFrjN Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Subject:

Hi Sean,
> Are there plans to include support for aCC in Boost Build v2?

Not yet, but if you're willing to help, I'm sure this can be done rather
quickly.

> Would
> it be possible for me to add this myself, using the aCC config file
> from v1 as a starting point? Any pointers for doing this?

I've sketched an initial version of acc.jam, which is attached. It's mostly v1
toolset which some syntax differences for V2.

It can be used by adding

using acc : <version> : <path to acc binary> ;

to 'user-config.jam'

When I go to tools/build/v2/example/hello and run "bjam -n acc" I get some
reasonable commands. However, I don't have acc, so I'm not sure if the
toolset really works.

Your help with making it work would be really appreciated. At the minimum, you
could try it on some examples you have and send all corrections. If you could
run all V2 tests with acc, this would be excellent.

To run the test you'd need:
1. Get Python installed
2. Add the same " using " line into test/test-config.jam
3. Go to the "test" dir and run "python test_all.py acc-<version>"

Of course, you might start just with some programs, and run the full test
later, when you have time.

Thanks,
Volodya

Yahoo! Groups Links

 --Boundary-00=_fDcsAmaugcmFrjN Content-Type: text/plain;
charset="iso-8859-1";
name="acc.jam"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="acc.jam"

# (C) Copyright Toon Knapen 2002, David Abrahams 2002
# Permission to copy, use,
# modify, sell and distribute this software is granted provided this
# copyright notice appears in all copies. This software is provided
# "as is" without express or implied warranty, and with no claim as
# to its suitability for any purpose.

# Copyright Vladimir Prus 2004.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt
# or copy at http://www.boost.org/LICENSE_1_0.txt)

#
# Boost.Build V2 toolset for the HP-UX aCC compiler
#

import toolset : flags ;
import feature ;

feature.extend toolset : acc ;
toolset.inherit acc : unix ;
feature.subfeature toolset acc : version ;

# Configures the acc toolset.
rule init ( version : path )
{
feature.extend-subfeature toolset acc : version : $(version) ;
flags acc ACC_PATH <toolset>acc-$(version) : $(path) ;
}

# Declare generators
generators.register-c-compiler acc.compile.c : C : OBJ : <toolset>acc ;
generators.register-c-compiler acc.compile.c++ : CPP : OBJ : <toolset>acc ;

# Declare flags.
flags acc CFLAGS <optimization>off : ;
flags acc CFLAGS <optimization>speed : -O3 ;
flags acc CFLAGS <optimization>space : -O2 ;

flags acc CFLAGS <inlining>off : ;
flags acc CFLAGS <inlining>on : ;
flags acc CFLAGS <inlining>full : ;
flags acc CFLAGS <threading>multi : -mt ;

flags acc C++FLAGS <exception-handling>off : ;
flags acc C++FLAGS <exception-handling>on : ;

flags acc C++FLAGS <rtti>off : ;
flags acc C++FLAGS <rtti>on : ;

flags acc LINKFLAGS <link-runtime>static : -llibstd_v2.a ;
flags acc LINKFLAGS <link-runtime>shared : -llibstd_v2.sl ;

# We want the full path to the sources in the debug symbols because otherwise
# the debugger won't find the sources when we use boost.build.
flags acc CFLAGS <debug-symbols>on : -g ;
flags acc LINKFLAGS <debug-symbols>on : -g ;
flags acc LINKFLAGS <debug-symbols>off : -s ;
flags acc LINKFLAGS <threading>multi : -mt ;

# V2 does not have <shared-linkable>, not sure what this meant in V1.
#flags acc CFLAGS <shared-linkable>true : +Z ;

flags acc CFLAGS <profiling>on : -pg ;
flags acc LINKFLAGS <profiling>on : -pg ;

flags acc CFLAGS <cflags> ;
flags acc C++FLAGS <cxxflags> ;
flags acc DEFINES <define> ;
flags acc UNDEFS <undef> ;
flags acc HDRS <include> ;
flags acc STDHDRS <sysinclude> ;
flags acc LINKFLAGS <linkflags> ;
flags acc ARFLAGS <arflags> ;

flags acc LIBPATH <library-path> ;
flags acc NEEDLIBS <library-file> ;
flags acc FINDLIBS <find-shared-library> ;
flags acc FINDLIBS <find-static-library> ;

actions acc.link bind NEEDLIBS
{
$(ACC_PATH)/aCC $(LINKFLAGS) -AA -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

actions acc.compile.c
{
$(ACC_PATH)/cc -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions acc.compile.c++
{
$(ACC_PATH)/aCC -AA -c +W823 -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

actions updated together piecemeal acc.archive
{
ar ru$(ARFLAGS:E="") "$(<)" "$(>)"
}
 --Boundary-00=_fDcsAmaugcmFrjN-- --Boundary-00=_OPGyAWCJVocbzgQ--


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