Boost logo

Boost :

From: Martin Cole (mcole_at_[hidden])
Date: 2001-12-13 11:21:49


Hi,

I am currently trying to make boost available in a project here. I need
it to compile with the Irix Mipspro compilers, and have started a jam
file copied from the gcc jam file.

Has anyone already done this? I would rather not duplicate effort.

If not could someone point me in the right direction?
I am attaching the .jam file that I added to the
boost_1_26_0/tools/build dir.

A sample of my compilation output follows. The first set of warnings I
have no idea about, must be something I messed in the jam file.

the compile errors surprise me. It looks as though all the include paths
are messed. The standard include target seems to expand to nothing, and
  HDRS always seems to expand to -I"libs/regex/build" shouldn't this
vary with the dir thats compiling?

Thanks for your attention
--mc

-------------my output------------------------------------------------
jam -sBOOST_ROOT=. -sTOOLS=mipspro
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands to
empty string
...found 458 targets...
...updating 86 targets...
mipspro-C++-action
libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits.o
cc-1005 CC: ERROR File = libs/regex/build/../src/c_regex_traits.cpp,
Line = 25
   The source file "clocale" is unavailable.

   #include <clocale>
                     ^

1 catastrophic error detected in the compilation of
"libs/regex/build/../src/c_regex_traits.cpp".
Compilation terminated.

     CC -c -I"libs/regex/build" -o
"libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits.o"
"libs/regex/build/../src/c_regex_traits.cpp"

...failed mipspro-C++-action
libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits.o ...
mipspro-C++-action
libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits_common.o
cc-1005 CC: ERROR File =
libs/regex/build/../src/c_regex_traits_common.cpp, Line = 27
   The source file "clocale" is unavailable.

   #include <clocale>
                     ^

1 catastrophic error detected in the compilation of
"libs/regex/build/../src/c_regex_traits_common.cpp".
Compilation terminated.

     CC -c -I"libs/regex/build" -o
"libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits_common.o"
  "libs/regex/build/../src/c_regex_traits_common.cpp"

...failed mipspro-C++-action
libs/regex/build/bin/libboost_regex.a/mipspro/debug/c_regex_traits_common.o
...
mipspro-C++-action
libs/regex/build/bin/libboost_regex.a/mipspro/debug/cpp_regex_traits.o
cc-1005 CC: ERROR File = libs/regex/build/../src/cpp_regex_traits.cpp,
Line = 26 The source file "boost/regex/config.hpp" is unavailable.

   #include <boost/regex/config.hpp>
                                    ^

1 catastrophic error detected in the compilation of
"libs/regex/build/../src/cpp_regex_traits.cpp".
Compilation terminated.


# compute directories for invoking MIPSPRO
MIPSPRO_BIN_DIRECTORY ?= $(MIPSPRO_ROOT_DIRECTORY)$(SLASH)bin$(SLASH) ;
MIPSPRO_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if MIPSPRO_ROOT_DIRECTORY not set
MIPSPRO_INCLUDE_DIRECTORY ?= $(MIPSPRO_ROOT_DIRECTORY)$(SLASH)include ;
MIPSPRO_STDLIB_DIRECTORY ?= $(MIPSPRO_ROOT_DIRECTORY)$(SLASH)lib ;

flags MIPSPRO LINKFLAGS <runtime-link>static : -static ;
flags MIPSPRO CFLAGS <debug-symbols>on : -g ;
flags MIPSPRO LINKFLAGS <debug-symbols>on : -g ;
flags MIPSPRO CFLAGS <optimization>off : -O0 ;
flags MIPSPRO CFLAGS <optimization>speed : -O4 ;

# Other optimizations we might want for MIPSPRO
# -fforce-mem -fomit-frame-pointer
# -foptimize-sibling-calls -finline-functions -ffast-math -finline-limit=10000

flags MIPSPRO CFLAGS <optimization>space : -O2 ;
flags MIPSPRO CFLAGS <inlining>off : -fno-inline ;
flags MIPSPRO CFLAGS <inlining>on : -Wno-inline ;
flags MIPSPRO CFLAGS <inlining>full : -finline-functions -Wno-inline ;

if $(UNIX)
{
    flags MIPSPRO CFLAGS <threading>multi : -pthread ;
    flags MIPSPRO LINKFLAGS <threading>multi : -pthread ;
}

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

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

flags MIPSPRO STDHDRS : $(MIPSPRO_INCLUDE_DIRECTORY) ;
flags MIPSPRO STDLIBPATH : $(MIPSPRO_STDLIB_DIRECTORY) ;

flags MIPSPRO LIBPATH <library-path> ;
flags MIPSPRO NEEDLIBS <library-file> ;
flags MIPSPRO FINDLIBS <find-library> ;

#### Link ####

rule Link-action
{
    mipspro-Link-action $(<) : $(>) ;
}

# for MIPSPRO, we repeat all libraries so that dependencies are always resolved
actions mipspro-Link-action bind NEEDLIBS
{
    $(MIPSPRO_BIN_DIRECTORY)CC $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -Wl,-rpath-link,.
}

#### Cc #####

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

actions mipspro-Cc-action
{
    $(MIPSPRO_BIN_DIRECTORY)cc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

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

actions mipspro-C++-action
{
    $(MIPSPRO_BIN_DIRECTORY)CC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
}

#### Archive ####

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

actions updated together piecemeal mipspro-Archive-action
{
    CC -ar ru "$(<:T)" "$(>:T)"
}


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