]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /* Copyright 2003. David Abrahams |
2 | * Distributed under the Boost Software License, Version 1.0. | |
3 | * (See accompanying file LICENSE_1_0.txt or copy at | |
4 | * http://www.boost.org/LICENSE_1_0.txt) | |
5 | */ | |
6 | ||
7 | #ifndef NATIVE_H_VP_2003_12_09 | |
8 | #define NATIVE_H_VP_2003_12_09 | |
9 | ||
10 | #include "function.h" | |
11 | #include "frames.h" | |
12 | #include "lists.h" | |
13 | #include "object.h" | |
14 | ||
15 | typedef struct native_rule_t | |
16 | { | |
17 | OBJECT * name; | |
18 | FUNCTION * procedure; | |
19 | ||
20 | /* Version of the interface that the native rule provides. It is possible | |
21 | * that we want to change the set parameter for existing native rule. In | |
22 | * that case, version number should be incremented so Boost.Build can check | |
23 | * for the version it relies on. | |
24 | * | |
25 | * Versions are numbered from 1. | |
26 | */ | |
27 | int version; | |
28 | } native_rule_t; | |
29 | /* MSVC debugger gets confused unless the native_rule_t typedef is provided. */ | |
30 | ||
31 | void declare_native_rule( char const * module, char const * rule, | |
32 | char const * * args, LIST * (*f)( FRAME *, int ), int version ); | |
33 | ||
34 | #endif |