From 2d1518650ba45b2e98ea3b5916674c4dc8bf27c3 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Sun, 1 Aug 2004 10:05:14 +0000 Subject: [PATCH] Digital Mars toolsets [SVN r24221] --- v1/dmc-stlport-tools.jam | 19 +++++++ v1/dmc-tools.jam | 106 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 v1/dmc-stlport-tools.jam create mode 100644 v1/dmc-tools.jam diff --git a/v1/dmc-stlport-tools.jam b/v1/dmc-stlport-tools.jam new file mode 100644 index 000000000..89c7e6fc8 --- /dev/null +++ b/v1/dmc-stlport-tools.jam @@ -0,0 +1,19 @@ +# Digital Mars C++/STLPort + +# (C) Copyright Aleksey Gurtovoy 2004. +# +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +# 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. +#//Digital
Mars C++
+ +extends-toolset dmc ; + +SEARCH on stlport.jam = $(BOOST_BUILD_PATH) ; +include stlport.jam ; + +STLPORT_LIB_BASE_NAME = stlp45dm ; + diff --git a/v1/dmc-tools.jam b/v1/dmc-tools.jam new file mode 100644 index 000000000..1faa13636 --- /dev/null +++ b/v1/dmc-tools.jam @@ -0,0 +1,106 @@ +# Digital Mars C++ + +# (C) Copyright Christof Meerwald 2003. +# (C) Copyright Aleksey Gurtovoy 2004. +# +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +# 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. +#//Digital
Mars C++
+ +set-as-singleton DMC_ROOT DMC_BIN_DIR ; + +DMC_COMPILER = dmc ; +DMC_LINKER = link ; +DMC_ARCHIVE = lib ; + +DMC_ROOT = $(DMC_ROOT:J=" ") ; +DMC_BIN_DIR ?= "$(DMC_ROOT)"$(SLASH)bin$(SLASH) ; + +flags dmc CFLAGS on/object : -g ; +flags dmc LINKFLAGS on : -co ; + +flags dmc CFLAGS off : -S -o+none ; +flags dmc CFLAGS speed : -o+time ; +flags dmc CFLAGS space : -o+space ; +flags dmc CFLAGS on : -Ae ; +flags dmc CFLAGS on : -Ar ; + +# Note that these two options actually imply multithreading support on DMC +# because there is no single-threaded dynamic runtime library. Specifying +# multi would be a bad idea, though, because no option would be +# matched when the build uses the default settings of dynamic +# and single. +flags dmc CFLAGS release/dynamic : -ND ; +flags dmc CFLAGS debug/dynamic : -ND ; + +flags dmc CFLAGS release/static/single : ; +flags dmc CFLAGS debug/static/single : ; +flags dmc CFLAGS release/static/multi : -D_MT ; +flags dmc CFLAGS debug/static/multi : -D_MT ; + +flags dmc CFLAGS ; +flags dmc C++FLAGS ; +flags dmc DEFINES ; +flags dmc UNDEFS ; +flags dmc HDRS ; +flags dmc STDHDRS ; +flags dmc LINKFLAGS ; +flags dmc ARFLAGS ; + +flags dmc LIBPATH ; +flags dmc NEEDLIBS ; +flags dmc FINDLIBS ; +flags dmc LINKFLAGS $(SHARED_TYPES) : ; + +flags msvc STDHDRS : $(DMC_ROOT)$(SLASH)include ; + + +#### Link #### + +rule Link-action ( target implib ? : sources + : target-type ? ) +{ + dmc-Link-action $(<) : $(sources) $(NEEDLIBS) ; +} + +actions together dmc-Link-action +{ + "$(DMC_BIN_DIR)$(DMC_LINKER)" $(LINKFLAGS) -delexecutable -noi -implib:"$(<[2])" "$(>)" , "$(<[1])" , NUL , user32.lib ernel32.lib "$(FINDLIBS:S=.lib)" , "$(<[2]:B).def" +} + +#### Cc ##### + +rule Cc-action +{ + dmc-Cc-action $(<) : $(>) ; +} + +actions dmc-Cc-action +{ + "$(DMC_BIN_DIR)$(DMC_COMPILER)" -c -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o"$(<)" "$(>)" +} + +#### C++ #### +rule C++-action +{ + dmc-C++-action $(<) : $(>) ; +} + +actions dmc-C++-action +{ + "$(DMC_BIN_DIR)$(DMC_COMPILER)" -cpp -c -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o"$(<)" "$(>)" +} + +#### Archive #### +rule Archive-action +{ + dmc-Archive-action $(<) : $(>) ; +} + +actions together piecemeal dmc-Archive-action +{ + "$(DMC_BIN_DIR)$(DMC_ARCHIVE)" $(ARFLAGS) -c -n -p128 "$(<)" "$(>)" +}