| /* Copyright David Abrahams 2003. 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) */ |
| |
| #ifndef NATIVE_H_VP_2003_12_09 |
| #define NATIVE_H_VP_2003_12_09 |
| |
| #include "rules.h" |
| |
| struct native_rule_t |
| { |
| char* name; |
| argument_list* arguments; |
| PARSE* procedure; |
| /* Version of the interface that the native rule provides. |
| It's possible that we want to change the set parameter |
| for existing native rule. In that case, version number |
| should be incremented so that Boost.Build can check for |
| version it relies on. |
| |
| Versions are numbered from 1. |
| */ |
| int version; |
| }; |
| |
| /* MSVC debugger gets confused unless this is provided */ |
| typedef struct native_rule_t native_rule_t ; |
| |
| void declare_native_rule(char* module, char* rule, char** args, |
| LIST*(*f)(PARSE*, FRAME*), int version); |
| |
| |
| |
| #endif |