Thank you Sinan for your help. I really appreciate it.
I am getting a bit closer. Jam issues the compilation lcommands, but
boost still does not compile. I am stuck at:
jam -sBOOST_ROOT=. -sTOOLS=suncc
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands
to empty string
...found 458 targets...
...updating 98 targets...
cc-C++-action
libs/regex/build/bin/libboost_regex.a/suncc/debug/c_regex_traits.o
"./boost/regex/regex_traits.hpp", line 165: Error: uint_fast32_t may
not have a type qualifier.
"./boost/regex/regex_traits.hpp", line 165: Error: "," expected
instead of "do_lookup_class".
"./boost/regex/regex_traits.hpp", line 166: Error: Use ";" to
terminate declarations.
The source code corresponding to the error is the following:
static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const
char* p);
in regex_traits.hpp. I made sure that BOOST_REGEX_CALL is empty. I am
quite certain the compiler is complaining about the namespace
qualification boost:: in front of uint_fast32_t but do not understand why.
Seb.
- In Boost-Users@y..., Sinan
sebmarc wrote:
Does anybody know how to compile boost with Solaris 7 and
sparcWorks 5.0.
Looking at http://www.boost.org/tools/build/index.html, there is no place for this compiler.
Any help appreciated.
Thanks,
Seb.
Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@y...
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
I did a build with WSU2 in October 4th...
This is what I had to do......
1) modify config.hpp 2) modify iterator_adaptors.hpp 3) create a file called tools/build/suncc-tools.jam (which was quickly hacked from gcc version) 4) invoke jam -f./tools/build/allyourbase.jam -sTOOLS=suncc
Following are the steps as well as I can reconstruct...... ( I hope )....
STEP 1) in config.hpp you need ----------------------------------------------------------- # elif defined __SUNPRO_CC # if __SUNPRO_CC <= 0x530 # define BOOST_NO_SLIST # define BOOST_NO_HASH # define BOOST_NO_STD_ITERATOR_TRAITS # define BOOST_NO_STD_ALLOCATOR
// although sunpro 5.1 supports the syntax for // inline initialization it often gets the value // wrong, especially where the value is computed // from other constants (J Maddock 6th May 2001) # // sik define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
// although sunpro 5.1 supports the syntax for // partial specialization, it often seems to // bind to the wrong specialization. Better // to disable it until suppport becomes more stable // (J Maddock 6th May 2001). # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif # if __SUNPRO_CC <= 0x500 # define BOOST_NO_MEMBER_TEMPLATES # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif --------------------------- STEP 2) in iterator_adaptors.hpp make the following modifications....
, class Reference = Value& //sik , class ConstReference = const Value& , class ConstReference = Value& , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits<OuterIterator>::iterator_category , class Pointer = Value* //sik , class ConstPointer = const Value* , class ConstPointer = Value*
STEP 3 & 4 ) jam -f./tools/build/allyourbase.jam -sTOOLS=suncc
But you need the following file first ....
tools/build/suncc-tools.jam -----------------------------------
# (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.
# compute directories for invoking WS6U2 WS6U2_BIN_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)bin ; WS6U2_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if WS6U2_ROOT_DIRECTORY not set WS6U2_INCLUDE_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)include ; WS6U2_STDLIB_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)lib ;
flags cc LINKFLAGS <runtime-link>static : -Bstatic ; flags cc CFLAGS <debug-symbols>on : -g ; flags cc LINKFLAGS <debug-symbols>on : -g ; flags cc CFLAGS <optimization>off : -xO0 ; flags cc CFLAGS <optimization>speed : -xO4 ;
# Other optimizations we might want for WS6U2 # #
flags cc CFLAGS <optimization>space : -xO2 ; flags cc CFLAGS <inlining>off : -xinline=no%func ; flags cc CFLAGS <inlining>on : -xinline=%auto ; flags cc CFLAGS <inlining>full : -xinline=%auto ;
flags cc CFLAGS <profiling>on : -xpg ; flags cc LINKFLAGS <profiling>on : -xpg ;
flags cc DEFINES <define> ; flags cc UNDEFS <undef> ; flags cc HDRS <include> ;
flags cc STDHDRS : $(WS6U2_INCLUDE_DIRECTORY) ; flags cc STDLIBPATH : $(WS6U2_STDLIB_DIRECTORY) ;
flags cc CFLAGS <shared-linkable>true : -KPIC ; flags cc LINKFLAGS <shared-linkable>true : -KPIC ;
flags cc LINKFLAGS <target-type>DLL : -G ;
flags cc LIBPATH <library-path> ; flags cc NEEDLIBS <library-file> ; flags cc FINDLIBS <find-library> ;
#### Link ####
rule Link-action { # This will appear before the import library name when building a DLL, but # will be "multiplied away" otherwise. The --exclude-symbols directive # proved to be neccessary with some versions of Cygwin. ##sik IMPLIB_COMMAND on $(<) = "-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__ -Wl,--out-implib," ; # IMPLIB_COMMAND on $(<) = "-Wl,--out-implib," ; cc-Link-action $(<) : $(>) ; }
# for cc, we repeat all libraries so that dependencies are always resolved actions cc-Link-action bind NEEDLIBS { $(WS6U2_BIN_DIRECTORY)CC $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -znodefs }
# older actions # $(WS6U2_BIN_DIRECTORY)dlltool -e $(<[1]:S=:D=:G=) -l "$(<[2])" "$(>)" # $(WS6U2_BIN_DIRECTORY)CC $(LINKFLAGS) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -o "$(<[1])"
#### Cc #####
rule Cc-action { cc-Cc-action $(<) : $(>) ; }
actions cc-Cc-action { $(WS6U2_BIN_DIRECTORY)cc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" }
#### C++ #### rule C++-action { cc-C++-action $(<) : $(>) ; }
actions cc-C++-action { $(WS6U2_BIN_DIRECTORY)CC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" }
#### Archive ####
rule Archive-action { cc-Archive-action $(<) : $(>) ; }
actions updated together piecemeal cc-Archive-action { ar ru "$(<)" "$(>)" }