Boost logo

Boost-Build :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2005-05-24 08:02:20


I just wanted to ask if someone is against me commiting following diffs
(in attachment). I suppose nobody cares (because you guys are lucky not
to have to deal with fortran) but it's just that I also changed
tools/common.jam and tools/builtin.jam to be able to use '<fflags>' just
like the C-toolsets already support '<cflags>'.

toon

BTW all these patches are for files in the directory v2/tools/
 --------------000308040300050708080408 Content-Type: text/plain;
name="ifort.jam.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="ifort.jam.patch"

Index: ifort.jam
===================================================================
RCS file: /raid/cvs_ext/boost/boost/tools/build/v2/tools/ifort.jam,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ifort.jam 13 May 2005 14:45:51 -0000 1.1
+++ ifort.jam 24 May 2005 12:35:04 -0000 1.2
@@ -13,6 +13,8 @@
}

# Declare flags and action for compilation
+flags ifort OPTIONS <fflags> ;
+
flags ifort OPTIONS <optimization>off : /Od ;
flags ifort OPTIONS <optimization>speed : /O3 ;
flags ifort OPTIONS <optimization>space : /O1 ;
@@ -20,16 +22,23 @@
flags ifort OPTIONS <debug-symbols>on : /debug:full ;
flags ifort OPTIONS <profiling>on : /Qprof_gen ;

+flags ifort.compile FFLAGS <runtime-debugging>off/<link-runtime>shared : /MD ;
+flags ifort.compile FFLAGS <runtime-debugging>on/<link-runtime>shared : /MDd ;
+flags ifort.compile FFLAGS <runtime-debugging>off/<link-runtime>static/<threading>single : /ML ;
+flags ifort.compile FFLAGS <runtime-debugging>on/<link-runtime>static/<threading>single : /MLd ;
+flags ifort.compile FFLAGS <runtime-debugging>off/<link-runtime>static/<threading>multi : /MT ;
+flags ifort.compile FFLAGS <runtime-debugging>on/<link-runtime>static/<threading>multi : /MTd ;
+
flags ifort DEFINES <define> ;
flags ifort INCLUDES <include> ;

-rule compile-fortran
+rule compile.fortran
{
}

-actions compile-fortran
+actions compile.fortran
{
- ifort $(OPTIONS) /names:lowercase /D$(DEFINES) /I$(INCLUDES) /c /object:"$(<)" "$(>)"
+ ifort $(FFLAGS) $(OPTIONS) /names:lowercase /D$(DEFINES) /I"$(INCLUDES)" /c /object:"$(<)" "$(>)"
}

-generators.register-fortran-compiler ifort.compile-fortran : FORTRAN : OBJ ;
+generators.register-fortran-compiler ifort.compile.fortran : FORTRAN : OBJ ;
 --------------000308040300050708080408 Content-Type: text/plain;
name="builtin.jam.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="builtin.jam.patch"

Index: builtin.jam
===================================================================
RCS file: /raid/cvs_ext/boost/boost/tools/build/v2/tools/builtin.jam,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- builtin.jam 13 May 2005 14:45:51 -0000 1.1
+++ builtin.jam 24 May 2005 12:35:04 -0000 1.2
@@ -49,6 +49,7 @@
feature "include" : : free path ; #order-sensitive ;
feature cflags : : free ;
feature cxxflags : : free ;
+feature fflags : : free ;
feature linkflags : : free ;
feature archiveflags : : free ;
feature version : : free ;
 --------------000308040300050708080408 Content-Type: text/plain;
name="common.jam.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="common.jam.patch"

Index: common.jam
===================================================================
RCS file: /raid/cvs_ext/boost/boost/tools/build/v2/tools/common.jam,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- common.jam 13 May 2005 14:45:51 -0000 1.1
+++ common.jam 24 May 2005 12:35:04 -0000 1.2
@@ -259,6 +259,8 @@
[ feature.get-values <cflags> : $(options) ] : unchecked ;
toolset.flags $(toolset).compile.c++ OPTIONS $(condition) :
[ feature.get-values <cxxflags> : $(options) ] : unchecked ;
+ toolset.flags $(toolset).compile.fortran OPTIONS $(condition) :
+ [ feature.get-values <fflags> : $(options) ] : unchecked ;
toolset.flags $(toolset).link OPTIONS $(condition) :
[ feature.get-values <linkflags> : $(options) ] : unchecked ;
}
 --------------000308040300050708080408 Content-Type: text/plain;
name="fortran.jam.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="fortran.jam.patch"

Index: fortran.jam
===================================================================
RCS file: /raid/cvs_ext/boost/boost/tools/build/v2/tools/fortran.jam,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- fortran.jam 13 May 2005 14:45:51 -0000 1.1
+++ fortran.jam 24 May 2005 12:35:04 -0000 1.2
@@ -12,6 +12,7 @@

import type ;
import generators ;
+import common ;

type.register FORTRAN : f ;

 --------------000308040300050708080408 Content-Type: text/plain;
name="gfortran.jam.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="gfortran.jam.patch"

Index: gfortran.jam
===================================================================
RCS file: /raid/cvs_ext/boost/boost/tools/build/v2/tools/gfortran.jam,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gfortran.jam 13 May 2005 14:45:51 -0000 1.1
+++ gfortran.jam 24 May 2005 12:54:53 -0000 1.2
@@ -13,6 +13,8 @@
}

# Declare flags and action for compilation
+flags gfortran OPTIONS <fflags> ;
+
flags gfortran OPTIONS <optimization>off : -O0 ;
flags gfortran OPTIONS <optimization>speed : -O3 ;
flags gfortran OPTIONS <optimization>space : -Os ;
@@ -23,13 +25,13 @@
flags gfortran DEFINES <define> ;
flags gfortran INCLUDES <include> ;

-rule compile-fortran
+rule compile.fortran
{
}

-actions compile-fortran
+actions compile.fortran
{
gcc -Wall $(OPTIONS) -D$(DEFINES) -I$(INCLUDES) -c -o "$(<)" "$(>)"
}

-generators.register-fortran-compiler gfortran.compile-fortran : FORTRAN : OBJ ;
+generators.register-fortran-compiler gfortran.compile.fortran : FORTRAN : OBJ ;
 --------------000308040300050708080408--


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