|
Boost-Build : |
From: Dan Gohman (gohmandj_at_[hidden])
Date: 2002-06-07 20:14:54
Here's the attatchment.
-- Dan Gohman gohmandj_at_[hidden] --YiEDa0DAkWCtVeE4 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="mipspro-tools.jam" # This file was originally based on gcc-tools.jam by David Abrahams. # It has been written for and tested with MIPSpro 7.3 . # This file doesn't yet support the dllversion free-feature. MIPSpro # can do sonames, however I haven't added the support for them yet. # The rule set-as-singleton means to have the build system flatten # lists of strings into strings. This file was written to use quotes # carefully thus doesn't need such singletons. Actually, this file # was written to take advandage of jam's nifty handling of lists. # compute directories for invoking MIPSpro: first try ROOT and # TOOLROOT, which are traditionally used for this purpose. MIPSPRO_ROOT_DIRECTORY ?= "$(ROOT)/usr" ; MIPSPRO_TOOLROOT_DIRECTORY ?= "$(TOOLROOT)/usr" ; # Either ROOT or TOOLROOT missing? Fall back to the default. MIPSPRO_ROOT_DIRECTORY ?= "/usr" ; MIPSPRO_TOOLROOT_DIRECTORY ?= "/usr" ; # For most users, either ROOT/TOOLROOT or # MIPSPRO_ROOT_DIRECTORY/MIPSPRO_TOOLROOT_DIRECTORY should be # sufficient. Users needing to further customize the executable # directory or include directory can use the following. MIPSPRO_BIN_DIRECTORY ?= "$(MIPSPRO_TOOLROOT_DIRECTORY)/bin" ; MIPSPRO_INCLUDE_DIRECTORY ?= "$(MIPSPRO_TOOLROOT_DIRECTORY)/include" "$(MIPSPRO_ROOT_DIRECTORY)/include" ; MIPSPRO_C++INCLUDE_DIRECTORY ?= "$(MIPSPRO_INCLUDE_DIRECTORY)/CC" ; local MIPSPRO_STDLIB_ROOTS = "$(MIPSPRO_TOOLROOT_DIRECTORY)" "$(MIPSPRO_ROOT_DIRECTORY)" ; local MIPSPRO_STDLIB_MIPS3_SUBDIRECTORIES = "mips3" "" ; local MIPSPRO_STDLIB_MIPS4_SUBDIRECTORIES = "mips4" "" ; flags mipspro LINKFLAGS : -nostdlib -LANG:std ; flags mipspro LINKFLAGS <sgi-abi>n32 : -n32 ; flags mipspro LINKFLAGS <sgi-abi>n64 : -64 ; flags mipspro LINKFLAGS <sgi-isa>mips3 : -mips3 ; flags mipspro LINKFLAGS <sgi-isa>mips4 : -mips4 ; flags mipspro LINKFLAGS <target-type>$(SHARED_TYPES) : -shared ; flags mipspro LINKFLAGS <debug-symbols>off : -g0 -s ; flags mipspro LINKFLAGS <debug-symbols>on/<optimization>off : -g ; flags mipspro LINKFLAGS <debug-symbols>on/<optimization>speed : -g3 ; flags mipspro LINKFLAGS <debug-symbols>on/<optimization>space : -g3 ; # If you add -IPA to the compiler flags, the linker needs be told as well. #flags mipspro LINKFLAGS <optimization>speed : -IPA ; flags mipspro DEFINES <threading>multi : _SGI_MP_SOURCE ; flags mipspro CFLAGS : -nostdinc -c -LANG:std -OPT:Olimit=0 -OPT:IEEE_NaN_inf=ON -no_auto_include -fullwarn -woff 1375,1424,1234 ; # woff values: # 1375: The destructor for base class is not virtual. # 1424: Template parameter not used in declaring the argument types of function template. # 1234: Access control is not specified. flags mipspro CFLAGS <sgi-abi>n32 : -n32 ; flags mipspro CFLAGS <sgi-abi>n64 : -64 ; flags mipspro CFLAGS <sgi-isa>mips3 : -mips3 ; flags mipspro CFLAGS <sgi-isa>mips4 : -mips4 ; # For some C++ apps, adding -IPA can make a big difference. flags mipspro CFLAGS <optimization>off : -O0 ; flags mipspro CFLAGS <optimization>speed : -O3 ; flags mipspro CFLAGS <optimization>space : -O2 ; flags mipspro CFLAGS <debug-symbols>off : -g0 ; flags mipspro CFLAGS <debug-symbols>on/<optimization>off : -g ; flags mipspro CFLAGS <debug-symbols>on/<optimization>speed : -g3 ; flags mipspro CFLAGS <debug-symbols>on/<optimization>space : -g3 ; # An option for <inlining>full is -INLINE:all, however that may cause # too much to be inlined. I don't think that level of inlining is what # is meant by <inlining>full. flags mipspro CFLAGS <inlining>off : -INLINE:never ; flags mipspro CFLAGS <inlining>on : -INLINE ; flags mipspro CFLAGS <inlining>full : -INLINE ; flags mipspro C++FLAGS <exception-handling>off : -LANG:exceptions=OFF ; flags mipspro STDHDRS : "$(MIPSPRO_INCLUDE_DIRECTORY)" ; flags mipspro STDC++HDRS : "$(MIPSPRO_C++INCLUDE_DIRECTORY)" "$(BOOST_ROOT)/boost/compatibility/cpp_c_headers" ; flags mipspro STDLIBPATH <sgi-abi>n32/<sgi-isa>mips3 : "$(MIPSPRO_STDLIB_ROOTS)/lib32/$(MIPSPRO_STDLIB_MIPS3_SUBDIRECTORIES)" ; flags mipspro STDLIBPATH <sgi-abi>n32/<sgi-isa>mips4 : "$(MIPSPRO_STDLIB_ROOTS)/lib32/$(MIPSPRO_STDLIB_MIPS4_SUBDIRECTORIES)" ; flags mipspro STDLIBPATH <sgi-abi>n64/<sgi-isa>mips3 : "$(MIPSPRO_STDLIB_ROOTS)/lib64/$(MIPSPRO_STDLIB_MIPS3_SUBDIRECTORIES)" ; flags mipspro STDLIBPATH <sgi-abi>n64/<sgi-isa>mips4 : "$(MIPSPRO_STDLIB_ROOTS)/lib64/$(MIPSPRO_STDLIB_MIPS4_SUBDIRECTORIES)" ; flags mipspro HDRS <include> ; flags mipspro UNDEFS <undef> ; flags mipspro DEFINES <define> ; flags mipspro CFLAGS <cflags> ; flags mipspro C++FLAGS <cxxflags> ; flags mipspro LIBPATH <library-path> ; flags mipspro NEEDLIBS <library-file> ; flags mipspro FINDLIBS <find-library> ; flags mipspro STDHDRS <sysinclude> ; flags mipspro LINKFLAGS <linkflags> ; flags mipspro ARFLAGS <arflags> ; if ! $(ARFLAGS) { flags mipspro ARFLAGS : "" ; } #### Link (for C++) #### 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" "$(LINKFLAGS)" -o "$(<[1])" "-L$(LIBPATH)" "-L$(STDLIBPATH)" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" "-l$(FINDLIBS)" } #### Cc ##### rule Cc-action { mipspro-Cc-action "$(<)" : "$(>)" ; } actions mipspro-Cc-action { "$(MIPSPRO_BIN_DIRECTORY)/cc" "-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" "-U$(UNDEFS)" "-D$(DEFINES)" "$(CFLAGS)" "$(C++FLAGS)" "-I$(HDRS)" "-I$(STDC++HDRS)" "-I$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### rule Archive-action { mipspro-Archive-action "$(<)" : "$(>)" ; } actions updated together piecemeal mipspro-Archive-action { "$(MIPSPRO_BIN_DIRECTORY)/CC" -ar $(CFLAGS) $(C++FLAGS) -o "$(<:T)" "$(>:T)" } --YiEDa0DAkWCtVeE4--
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