diff --git a/como-tools.html b/como-tools.html index faf701b23..252d933b4 100644 --- a/como-tools.html +++ b/como-tools.html @@ -4,7 +4,7 @@ Boost.Build - como toolset - + diff --git a/como-tools.jam b/como-tools.jam index ac167405c..8077866b7 100644 --- a/como-tools.jam +++ b/como-tools.jam @@ -1,4 +1,4 @@ -# (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 @@ -11,43 +11,10 @@ # variables used to configure como-tools.jam # # COMO_PATH - path to installation -# COMO_BIN_PATH - path to como executable, defaults to $(COMO_PATH)/bin/ -# COMO_INCLUDE_PATH - path to libcomo headers, defaults to $(COMO_PATH)/libcomo -# COMO_STDLIB_PATH - path to built libcomo object, defaults to $(COMO_PATH)/libcomo +# COMO - name of como executable -# Keep using COMO_BASE for backward compatibility -set-as-singleton COMO_BASE ; -COMO_BASE ?= $(COMO_PATH) ; - -# compute directories for invoking como -if ! $(COMO_PATH_SETUP) # do this once -{ - # Keep using COMO_BIN_DIRECTORY for backward compatibility. - COMO_BIN_DIRECTORY ?= $(COMO_BIN_PATH) ; - COMO_BIN_DIRECTORY ?= $(COMO_BASE)$(SLASH)bin$(SLASH) ; - COMO_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if COMO_ROOT_DIRECTORY not - # set - - COMO_INCLUDE_PATH ?= $(COMO_BASE)$(SLASH)libcomo ; - COMO_INCLUDE_PATH += $(COMO_INCLUDE_PATH)$(SLASH)cnames ; - - COMO_STDLIB_PATH ?= $(COMO_BASE)$(SLASH)libcomo ; - - COMO_BACKEND_SETUP = $(COMO_BACKEND_SETUP) ; - newline = " -" ; - if $(NT) - { - COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VISUALC)"/include\"" ; - COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ; - COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ; - COMO_BACKEND_SETUP ?= "call "\"$(VISUALC)$(SLASH)bin$(SLASH)vcvars32"\"" ; - COMO_BACKEND_SETUP ?= REM set VISUALC or COMO_BACKEND_SETUP to set up the back end ; - COMO_BASE_SETUP ?= "set \"COMO_BASE=$(COMO_BASE)\"" ; - COMO_PATH_SETUP ?= REM set COMO_PATH to set up the path for Comeau ; - } - COMO_PATH_SETUP ?= "" ; -} +COMO_PATH ?= "" ; +COMO ?= $(COMO_PATH)/bin/como ; flags como C++FLAGS off : --no_exceptions ; flags como C++FLAGS on : --exceptions ; @@ -55,6 +22,15 @@ flags como C++FLAGS on : --exceptions ; flags como CFLAGS off : --no_inlining ; flags como CFLAGS on full : --inlining ; +flags como CFLAGS off : -O0 ; +flags como CFLAGS speed : -O3 ; +flags como CFLAGS size : -Os ; + +flags como CFLAGS on : -g ; +flags como LINKFLAGS on : -g ; + +flags como FINDLIBS : rt ; + flags como CFLAGS ; flags como C++FLAGS ; flags como DEFINES ; @@ -64,9 +40,6 @@ flags como STDHDRS ; flags como LINKFLAGS ; flags como ARFLAGS ; -flags como STDHDRS : $(COMO_INCLUDE_PATH) ; -flags como STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ; - flags como LIBPATH ; flags como NEEDLIBS ; flags como FINDLIBS ; @@ -81,12 +54,7 @@ rule Link-action # for como, we repeat all libraries so that dependencies are always resolved actions como-Link-action bind NEEDLIBS { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como $(LINKFLAGS) -o "$(<[1])" "$(>)" "$(NEEDLIBS)" "$(FINDLIBS:S=.lib)" "$(STDLIB_PATH)libcomo.lib" + $(COMO) $(LINKFLAGS) -o "$(<[1])" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS) -l"$(FINDLIBS)" } @@ -99,13 +67,7 @@ rule Cc-action actions como-Cc-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como --43 -c -e10 --wchar_t -D__cdecl= --no_microsoft_bugs -D_WCHAR_T_DEFINED -m -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" - $(MV) $(<:D=) $(<) + $(COMO) -c --c99 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -116,13 +78,7 @@ rule C++-action actions como-C++-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como --43 -c -e10 --wchar_t -D__cdecl= --no_microsoft_bugs --no_anachronisms -D__cdecl= --new_for_init -D_WCHAR_T_DEFINED -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" - $(MV) $(<:D=) $(<) + $(COMO) -tused -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### @@ -132,15 +88,8 @@ rule Archive-action como-Archive-action $(<) : $(>) ; } -actions updated together piecemeal como-Archive-action +actions como-Archive-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como $(ARFLAGS) -o "$(<:S=)" $(>) - REM if exist "$(<)" set _$(<:B)_="$(<)" - REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" + ar rcu $(<) $(>) } diff --git a/v1/como-tools.html b/v1/como-tools.html index faf701b23..252d933b4 100644 --- a/v1/como-tools.html +++ b/v1/como-tools.html @@ -4,7 +4,7 @@ Boost.Build - como toolset - +
diff --git a/v1/como-tools.jam b/v1/como-tools.jam index ac167405c..8077866b7 100644 --- a/v1/como-tools.jam +++ b/v1/como-tools.jam @@ -1,4 +1,4 @@ -# (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 @@ -11,43 +11,10 @@ # variables used to configure como-tools.jam # # COMO_PATH - path to installation -# COMO_BIN_PATH - path to como executable, defaults to $(COMO_PATH)/bin/ -# COMO_INCLUDE_PATH - path to libcomo headers, defaults to $(COMO_PATH)/libcomo -# COMO_STDLIB_PATH - path to built libcomo object, defaults to $(COMO_PATH)/libcomo +# COMO - name of como executable -# Keep using COMO_BASE for backward compatibility -set-as-singleton COMO_BASE ; -COMO_BASE ?= $(COMO_PATH) ; - -# compute directories for invoking como -if ! $(COMO_PATH_SETUP) # do this once -{ - # Keep using COMO_BIN_DIRECTORY for backward compatibility. - COMO_BIN_DIRECTORY ?= $(COMO_BIN_PATH) ; - COMO_BIN_DIRECTORY ?= $(COMO_BASE)$(SLASH)bin$(SLASH) ; - COMO_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if COMO_ROOT_DIRECTORY not - # set - - COMO_INCLUDE_PATH ?= $(COMO_BASE)$(SLASH)libcomo ; - COMO_INCLUDE_PATH += $(COMO_INCLUDE_PATH)$(SLASH)cnames ; - - COMO_STDLIB_PATH ?= $(COMO_BASE)$(SLASH)libcomo ; - - COMO_BACKEND_SETUP = $(COMO_BACKEND_SETUP) ; - newline = " -" ; - if $(NT) - { - COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VISUALC)"/include\"" ; - COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ; - COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ; - COMO_BACKEND_SETUP ?= "call "\"$(VISUALC)$(SLASH)bin$(SLASH)vcvars32"\"" ; - COMO_BACKEND_SETUP ?= REM set VISUALC or COMO_BACKEND_SETUP to set up the back end ; - COMO_BASE_SETUP ?= "set \"COMO_BASE=$(COMO_BASE)\"" ; - COMO_PATH_SETUP ?= REM set COMO_PATH to set up the path for Comeau ; - } - COMO_PATH_SETUP ?= "" ; -} +COMO_PATH ?= "" ; +COMO ?= $(COMO_PATH)/bin/como ; flags como C++FLAGS off : --no_exceptions ; flags como C++FLAGS on : --exceptions ; @@ -55,6 +22,15 @@ flags como C++FLAGS on : --exceptions ; flags como CFLAGS off : --no_inlining ; flags como CFLAGS on full : --inlining ; +flags como CFLAGS off : -O0 ; +flags como CFLAGS speed : -O3 ; +flags como CFLAGS size : -Os ; + +flags como CFLAGS on : -g ; +flags como LINKFLAGS on : -g ; + +flags como FINDLIBS : rt ; + flags como CFLAGS ; flags como C++FLAGS ; flags como DEFINES ; @@ -64,9 +40,6 @@ flags como STDHDRS ; flags como LINKFLAGS ; flags como ARFLAGS ; -flags como STDHDRS : $(COMO_INCLUDE_PATH) ; -flags como STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ; - flags como LIBPATH ; flags como NEEDLIBS ; flags como FINDLIBS ; @@ -81,12 +54,7 @@ rule Link-action # for como, we repeat all libraries so that dependencies are always resolved actions como-Link-action bind NEEDLIBS { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como $(LINKFLAGS) -o "$(<[1])" "$(>)" "$(NEEDLIBS)" "$(FINDLIBS:S=.lib)" "$(STDLIB_PATH)libcomo.lib" + $(COMO) $(LINKFLAGS) -o "$(<[1])" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS) -l"$(FINDLIBS)" } @@ -99,13 +67,7 @@ rule Cc-action actions como-Cc-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como --43 -c -e10 --wchar_t -D__cdecl= --no_microsoft_bugs -D_WCHAR_T_DEFINED -m -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" - $(MV) $(<:D=) $(<) + $(COMO) -c --c99 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -116,13 +78,7 @@ rule C++-action actions como-C++-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como --43 -c -e10 --wchar_t -D__cdecl= --no_microsoft_bugs --no_anachronisms -D__cdecl= --new_for_init -D_WCHAR_T_DEFINED -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" - $(MV) $(<:D=) $(<) + $(COMO) -tused -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### @@ -132,15 +88,8 @@ rule Archive-action como-Archive-action $(<) : $(>) ; } -actions updated together piecemeal como-Archive-action +actions como-Archive-action { - $(COMO_BACKEND_SETUP) - $(COMO_BACKEND_INCLUDE_SETUP) - $(COMO_BACKEND_LIB_SETUP) - $(COMO_PATH_SETUP) - $(COMO_BASE_SETUP) - $(COMO_BIN_DIRECTORY)como $(ARFLAGS) -o "$(<:S=)" $(>) - REM if exist "$(<)" set _$(<:B)_="$(<)" - REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" + ar rcu $(<) $(>) }