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.
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@yahoogroups.com
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 "$(<)" "$(>)" }
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 "$(<)" "$(>)" }
sebmarc wrote:
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:
[...] Well, it appears that the rules of the game has changed..... Following is the diffs file that shows version -24 diffs I generated with diff gcc-tools.jam suncc-tools.jam So basically the same changes need to be applied to the -26 ....Most of them are global changes..... Sinan -------------------------------------- 7,11c7,11 < # compute directories for invoking GCC < GCC_BIN_DIRECTORY ?= $(GCC_ROOT_DIRECTORY)$(SLASH)bin ; < GCC_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if GCC_ROOT_DIRECTORY not set < GCC_INCLUDE_DIRECTORY ?= $(GCC_ROOT_DIRECTORY)$(SLASH)include ; < GCC_STDLIB_DIRECTORY ?= $(GCC_ROOT_DIRECTORY)$(SLASH)lib ; ---
# 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 ; 13,17c13,17 < flags gcc LINKFLAGS <runtime-link>static : -static ; < flags gcc CFLAGS <debug-symbols>on : -g ; < flags gcc LINKFLAGS <debug-symbols>on : -g ; < flags gcc CFLAGS <optimization>off : -O0 ; < flags gcc CFLAGS <optimization>speed : -O4 ;
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 ; 19,21c19,21 < # Other optimizations we might want for GCC < # -fforce-mem -fomit-frame-pointer < # -foptimize-sibling-calls -finline-functions -ffast-math -finline-limit=10000
# Other optimizations we might want for WS6U2 # # 23,26c23,26 < flags gcc CFLAGS <optimization>space : -O2 ; < flags gcc CFLAGS <inlining>off : -fno-inline ; < flags gcc CFLAGS <inlining>on : -Wno-inline ; < flags gcc CFLAGS <inlining>full : -finline-functions -Wno-inline ;
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 ; 28,29c28,29 < flags gcc CFLAGS <profiling>on : -pg ; < flags gcc LINKFLAGS <profiling>on : -pg ;
flags cc CFLAGS <profiling>on : -xpg ; flags cc LINKFLAGS <profiling>on : -xpg ; 31,33c31,33 < flags gcc DEFINES <define> ; < flags gcc UNDEFS <undef> ; < flags gcc HDRS <include> ;
flags cc DEFINES <define> ; flags cc UNDEFS <undef> ; flags cc HDRS <include> ; 35,36c35,36 < flags gcc STDHDRS : $(GCC_INCLUDE_DIRECTORY) ; < flags gcc STDLIBPATH : $(GCC_STDLIB_DIRECTORY) ;
flags cc STDHDRS : $(WS6U2_INCLUDE_DIRECTORY) ; flags cc STDLIBPATH : $(WS6U2_STDLIB_DIRECTORY) ; 38,39c38,39 < flags gcc CFLAGS <shared-linkable>true : -fPIC ; < flags gcc LINKFLAGS <shared-linkable>true : -fPIC ;
flags cc CFLAGS <shared-linkable>true : -KPIC ; flags cc LINKFLAGS <shared-linkable>true : -KPIC ; 41,48d40 < if $(BETOOLS) < { < flags gcc LINKFLAGS <target-type>DLL : -nostart ; < } < else < { < flags gcc LINKFLAGS <target-type>DLL : -shared ; < } 50,52c42 < flags gcc LIBPATH <library-path> ; < flags gcc NEEDLIBS <library-file> ; < flags gcc FINDLIBS <find-library> ;
flags cc LINKFLAGS <target-type>DLL : -G ; 53a44,48
flags cc LIBPATH <library-path> ; flags cc NEEDLIBS <library-file> ; flags cc FINDLIBS <find-library> ;
61c56 < IMPLIB_COMMAND on $(<) = "-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__ -Wl,--out-implib," ; ---
##sik IMPLIB_COMMAND on $(<) = "-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__ -Wl,--out-implib," ;
63c58 < gcc-Link-action $(<) : $(>) ; ---
cc-Link-action $(<) : $(>) ;
66,67c61,62 < # for gcc, we repeat all libraries so that dependencies are always resolved < actions gcc-Link-action bind NEEDLIBS ---
# for cc, we repeat all libraries so that dependencies are always resolved actions cc-Link-action bind NEEDLIBS 69c64 < $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
$(WS6U2_BIN_DIRECTORY)CC $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -znodefs
73,74c68,69 < # $(GCC_BIN_DIRECTORY)dlltool -e $(<[1]:S=:D=:G=) -l "$(<[2])" "$(>)" < # $(GCC_BIN_DIRECTORY)g++ $(LINKFLAGS) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -o "$(<[1])" ---
# $(WS6U2_BIN_DIRECTORY)dlltool -e $(<[1]:S=:D=:G=) -l "$(<[2])" "$(>)" # $(WS6U2_BIN_DIRECTORY)CC $(LINKFLAGS) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -o "$(<[1])" 81c76 < gcc-Cc-action $(<) : $(>) ;
cc-Cc-action $(<) : $(>) ;
84c79 < actions gcc-Cc-action ---
actions cc-Cc-action 86c81 < $(GCC_BIN_DIRECTORY)gcc -c -Wall -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(WS6U2_BIN_DIRECTORY)cc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
92c87 < gcc-C++-action $(<) : $(>) ; ---
cc-C++-action $(<) : $(>) ;
95c90 < actions gcc-C++-action ---
actions cc-C++-action 97c92 < $(GCC_BIN_DIRECTORY)g++ -c -Wall -ftemplate-depth-50 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
$(WS6U2_BIN_DIRECTORY)CC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
104c99 < gcc-Archive-action $(<) : $(>) ; ---
cc-Archive-action $(<) : $(>) ;
107c102 < actions updated together piecemeal gcc-Archive-action ---
actions updated together piecemeal cc-Archive-action
participants (2)
-
sebmarc
-
Sinan