1# Copyright (C) 2004 Toon Knapen 2# 3# Use, modification and distribution is subject to the Boost Software 4# License Version 1.0. (See accompanying file LICENSE_1_0.txt or 5# http://www.boost.org/LICENSE_1_0.txt) 6 7# 8# This file contains common settings for all fortran tools 9# 10 11import "class" : new ; 12import feature : feature ; 13 14import type ; 15import generators ; 16import common ; 17 18type.register FORTRAN : f F for f77 ; 19type.register FORTRAN90 : f90 F90 ; 20 21feature fortran : : free ; 22feature fortran90 : : free ; 23 24class fortran-compiling-generator : generator 25{ 26 rule __init__ ( id : source-types + : target-types + : requirements * : optional-properties * ) 27 { 28 generator.__init__ $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ; 29 } 30} 31 32rule register-fortran-compiler ( id : source-types + : target-types + : requirements * : optional-properties * ) 33{ 34 local g = [ new fortran-compiling-generator $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ] ; 35 generators.register $(g) ; 36} 37 38class fortran90-compiling-generator : generator 39{ 40 rule __init__ ( id : source-types + : target-types + : requirements * : optional-properties * ) 41 { 42 generator.__init__ $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ; 43 } 44} 45 46rule register-fortran90-compiler ( id : source-types + : target-types + : requirements * : optional-properties * ) 47{ 48 local g = [ new fortran90-compiling-generator $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ] ; 49 generators.register $(g) ; 50} 51 52# FIXME: this is ugly, should find a better way (we'd want client code to 53# register all generators as "generator.some-rule", not with "some-module.some-rule".) 54IMPORT $(__name__) : register-fortran-compiler : : generators.register-fortran-compiler ; 55IMPORT $(__name__) : register-fortran90-compiler : : generators.register-fortran90-compiler ; 56