# Copyright 2007 Noel Belcourt # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) import "class" : new ; import feature : feature ; import type ; import generators ; import common ; type.register FORTRAN90 : f90 F90 ; feature fortran90 : : free ; class fortran90-compiling-generator : generator { rule __init__ ( id : source-types + : target-types + : requirements * : optional-properties * ) { generator.__init__ $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ; } } rule register-fortran90-compiler ( id : source-types + : target-types + : requirements * : optional-properties * ) { local g = [ new fortran90-compiling-generator $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ] ; generators.register $(g) ; } # FIXME: this is ugly, should find a better way (we'd want client code to # register all generators as "generator.some-rule", not with "some-module.some-rule".) IMPORT $(__name__) : register-fortran90-compiler : : generators.register-fortran90-compiler ;