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 $(<) $(>)
}