diff --git a/como-win32-tools.jam b/como-win32-tools.jam new file mode 100644 index 000000000..d69eef082 --- /dev/null +++ b/como-win32-tools.jam @@ -0,0 +1,141 @@ +# (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. + +# The following #// line will be used by the regression test table generation +# program as the column heading for HTML tables. Must not include version number. +#//Comeau
C++
+ +# 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 + +# 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 = " +" ; + COMO_BACKEND = $(VC7_ROOT) ; + COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VC7_ROOT)"/include\"" ; + COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ; + COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ; + COMO_BACKEND_SETUP ?= "call "\"$(VSCOMNTOOLS)vsvars32"\"" ; + COMO_BACKEND_SETUP ?= REM set VC7_ROOT 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 ?= "" ; +} + +flags como C++FLAGS off : --no_exceptions ; +flags como C++FLAGS on : --exceptions ; + +flags como CFLAGS off : --no_inlining ; +flags como CFLAGS on full : --inlining ; + +flags como CFLAGS ; +flags como C++FLAGS ; +flags como DEFINES ; +flags como UNDEFS ; +flags como HDRS ; +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 ; + +#### Link #### + +rule Link-action +{ + como-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 --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" "$(>)" "$(NEEDLIBS)" "$(FINDLIBS:S=.lib)" +} + + +#### Cc ##### + +rule Cc-action +{ + como-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 -c -e5 --no_version --display_error_number --diag_suppress=9,21,161,748,940,962 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" +} + +#### C++ #### +rule C++-action +{ + como-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 -c -e5 --no_version --no_prelink_verbose --display_error_number --long_long --wchar_t --no_anachronisms --new_for_init --diag_suppress=9,21,161,748,940,962 -D__STL_LONG_LONG -D_WCHAR_T_DEFINED -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" +} + +#### Archive #### + +rule Archive-action +{ + como-Archive-action $(<) : $(>) ; +} + +actions updated together piecemeal como-Archive-action +{ + $(COMO_BACKEND_SETUP) + $(COMO_BACKEND_INCLUDE_SETUP) + $(COMO_BACKEND_LIB_SETUP) + $(COMO_PATH_SETUP) + $(COMO_BASE_SETUP) + $(COMO_BIN_DIRECTORY)como --no_version --no_prelink_verbose --prelink_object $(>) + lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" $(>) +} + diff --git a/v1/como-win32-tools.jam b/v1/como-win32-tools.jam new file mode 100644 index 000000000..d69eef082 --- /dev/null +++ b/v1/como-win32-tools.jam @@ -0,0 +1,141 @@ +# (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. + +# The following #// line will be used by the regression test table generation +# program as the column heading for HTML tables. Must not include version number. +#//Comeau
C++
+ +# 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 + +# 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 = " +" ; + COMO_BACKEND = $(VC7_ROOT) ; + COMO_BACKEND_INCLUDE_SETUP ?= "set \"COMO_MS_INCLUDE="$(VC7_ROOT)"/include\"" ; + COMO_BACKEND_LIB_SETUP ?= "set \"LIB="$(COMO_STDLIB_PATH)";%LIB%\"" ; + COMO_PATH_SETUP ?= "set \"PATH="$(COMO_BIN_DIRECTORY)";%PATH%\"" ; + COMO_BACKEND_SETUP ?= "call "\"$(VSCOMNTOOLS)vsvars32"\"" ; + COMO_BACKEND_SETUP ?= REM set VC7_ROOT 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 ?= "" ; +} + +flags como C++FLAGS off : --no_exceptions ; +flags como C++FLAGS on : --exceptions ; + +flags como CFLAGS off : --no_inlining ; +flags como CFLAGS on full : --inlining ; + +flags como CFLAGS ; +flags como C++FLAGS ; +flags como DEFINES ; +flags como UNDEFS ; +flags como HDRS ; +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 ; + +#### Link #### + +rule Link-action +{ + como-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 --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" "$(>)" "$(NEEDLIBS)" "$(FINDLIBS:S=.lib)" +} + + +#### Cc ##### + +rule Cc-action +{ + como-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 -c -e5 --no_version --display_error_number --diag_suppress=9,21,161,748,940,962 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<:D=)" "$(>)" +} + +#### C++ #### +rule C++-action +{ + como-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 -c -e5 --no_version --no_prelink_verbose --display_error_number --long_long --wchar_t --no_anachronisms --new_for_init --diag_suppress=9,21,161,748,940,962 -D__STL_LONG_LONG -D_WCHAR_T_DEFINED -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" +} + +#### Archive #### + +rule Archive-action +{ + como-Archive-action $(<) : $(>) ; +} + +actions updated together piecemeal como-Archive-action +{ + $(COMO_BACKEND_SETUP) + $(COMO_BACKEND_INCLUDE_SETUP) + $(COMO_BACKEND_LIB_SETUP) + $(COMO_PATH_SETUP) + $(COMO_BASE_SETUP) + $(COMO_BIN_DIRECTORY)como --no_version --no_prelink_verbose --prelink_object $(>) + lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" $(>) +} +