Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-01-07 09:11:47


----- Original Message -----
From: "vvasta" <vvasta_at_[hidden]>

> I created a tru64 tool jam file. I tested with the version:
>
> DIGITAL C++ V6.1-027 on DIGITAL UNIX V4.0 (Rev. 1229)
>
> I used it to compile only the thread library and its test program, so
> it is not fully tested. My version of the stl requires the inclusion
> of compatibility files. Here it is:

Hmm, based on advice from Ralf Grosse-Kunstleve about the cxx archiver, I've
been working with the following. Does it work for you?

-Dave

-------

# (C) Copyright David Abrahams 2001. 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.

#
# Jam tools information for :
# Compaq Alpha CXX compiler
#

# No static linking as far as I can tell.
# flags cxx LINKFLAGS <runtime-link>static : -bstatic ;
flags cxx CFLAGS <debug-symbols>on : -g ;
flags cxx LINKFLAGS <debug-symbols>on : -g ;
flags cxx LINKFLAGS <debug-symbols>on : -g ;
flags cxx LINKFLAGS <target-type>$(SHARED_TYPES) : -shared ;
flags cxx CFLAGS <optimization>off : -O0 ;
flags cxx CFLAGS <optimization>speed/<inlining>on : -O5 -inline speed ;
flags cxx CFLAGS <optimization>speed : -O5 ;

flags cxx CFLAGS <optimization>space/<inlining>on : <inlining>size ;
flags cxx CFLAGS <optimization>space : -O1 ;
flags cxx CFLAGS <inlining>off : -inline none ;
flags cxx CFLAGS <inlining>full : -inline all ;

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

flags cxx CFLAGS <cflags> ;
flags cxx C++FLAGS <cxxflags> ;
flags cxx DEFINES <define> ;
flags cxx UNDEFS <undef> ;
flags cxx HDRS <include> ;

#### Link ####

rule Link-action ( target : sources + : target-type )
{
    cxx-Link-action $(target) : $(sources) ;
}

# for cxx, we repeat all libraries so that dependencies are always resolved
actions cxx-Link-action bind NEEDLIBS
{
    cxx $(LINKFLAGS) -o "$(<)" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)"
"$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

actions cxx-Link-shared bind NEEDLIBS
{
    cxx -qrtti $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)"
"$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
}

#### Cc #####

rule Cc-action
{
    cxx-Cc-action $(<) : $(>) ;
}

actions cxx-Cc-action
{
    cc -std1 -msg_display_number -msg-disable
186,450,1115 -c -U$(UNDEFS) -D$(DEFINES)
$(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### C++ ####
rule C++-action
{
    cxx-C++-action $(<) : $(>) ;
}

actions cxx-C++-action
{
    cxx -c -x -std strict_ansi -msg_display_number -msg-disable
186,450,1115 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS)
$(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### Archive ####

rule Archive-action
{
    cxx-Archive-action $(<) : $(>) ;
}

actions updated together piecemeal cxx-Archive-action
{
    m -f $(<)
      cd cxx_repository ; \
      ls -1 > $(<:R=..).input ; \
      ar r $(<:R=..) -input $(<:R=..).input
      rm -f $(<).input
      ar r $(<) $(>)
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk