Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-09-19 15:06:00


Rene Rivera wrote:
> Reece Dunn wrote:
>>Vladimir Prus wrote:
>>
>>>Hi Reece,
>>>
>>>>2. alignment.diff
>>>
>>>I've some concerns.
>
> I have similar concerns...

OK. I understand this now and have removed the alignment feature.

I have now attached the resulting msvc assembler support patch.

- Reece
 --------------000507010002010600090407 Content-Type: text/plain;
name="msvc-asm.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="msvc-asm.diff"

Index: tools/builtin.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/builtin.jam,v
retrieving revision 1.178
diff -u -r1.178 builtin.jam
--- tools/builtin.jam 14 Sep 2005 09:54:14 -0000 1.178
+++ tools/builtin.jam 19 Sep 2005 20:00:57 -0000
@@ -54,6 +54,7 @@
feature cflags : : free ;
feature cxxflags : : free ;
feature fflags : : free ;
+feature asmflags : : free ;
feature linkflags : : free ;
feature archiveflags : : free ;
feature version : : free ;
Index: tools/msvc.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/msvc.jam,v
retrieving revision 1.50
diff -u -r1.50 msvc.jam
--- tools/msvc.jam 2 Sep 2005 07:35:54 -0000 1.50
+++ tools/msvc.jam 19 Sep 2005 20:00:58 -0000
@@ -65,7 +65,7 @@
#
# - if compiler is not found in default locations, PATH will be searched.
: options *
- # options can include <setup>, <compiler>, <linker> and <resource-compiler>
+ # options can include <setup>, <compiler>, <assembler>, <linker> and <resource-compiler>
)
{
# setup will be used if a path has been specified. If setup is
@@ -78,6 +78,8 @@
linker ?= link ;
resource-compiler = [ get-values <resource-compiler> : $(options) ] ;
resource-compiler ?= rc ;
+ assembler = [ get-values <assembler> : $(options) ] ;
+ assembler ?= ml ;

local condition = [ common.check-init-parameters msvc :
version $(version) ] ;
@@ -115,6 +117,7 @@

flags msvc.compile .CC $(condition) : $(prefix)$(compiler) ;
flags msvc.compile .RC $(condition) : $(prefix)$(resource-compiler) ;
+ flags msvc.compile .ASM $(condition) : $(prefix)$(assembler) ;
flags msvc.link .LD $(condition) : $(prefix)$(linker) ;
flags msvc.archive .LD $(condition) : $(prefix)$(linker) ;

@@ -308,6 +311,23 @@
$(.RC) -l 0x409 -U$(UNDEFS) -D$(DEFINES) -I"$(INCLUDES)" -fo "$(<:W)" "$(>:W)"
}

+# Declare flags and action for the assembler
+
+flags msvc.compile.asm USER_ASMFLAGS <asmflags> : ;
+
+#
+# for the assembler the following options are turned on by default:
+#
+# -coff generate COFF format object file (compatible with cl.exe output)
+# -Zp4 align structures to 4 bytes
+# -Cp preserve case of user identifiers
+# -Cx preserve case in publics, externs
+
+actions compile.asm
+{
+ $(.ASM) -nologo -c -coff -Zp4 -Cp -Cx $(USER_ASMFLAGS) -Fo "$(<:W)" "$(>:W)"
+}
+
# Declare flags and action for linking
flags msvc.link PDB_LINKFLAG <debug-symbols>on/<debug-store>database : /PDB: ; # not used yet
flags msvc.link LINKFLAGS <debug-symbols>on : /DEBUG ;
 --------------000507010002010600090407--


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk