2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Files
build/src/engine/native.h
Vladimir Prus 991fbd2399 Implement versioning for native rules. This allows to change interface of
a native rule and have Boost.Build detect that and produce nice error, as
opposed to obscure one.


[SVN r31140]
2005-09-28 14:09:58 +00:00

35 lines
962 B
C

/* 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