mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 01:12:13 +00:00
Rename to cpp files and add dev builds of b2.
This commit is contained in:
34
src/engine/native.cpp
Normal file
34
src/engine/native.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2003. Vladimir Prus
|
||||
* 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)
|
||||
*/
|
||||
|
||||
#include "native.h"
|
||||
|
||||
#include "hash.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
void declare_native_rule( char const * module, char const * rule,
|
||||
char const * * args, LIST * (*f)( FRAME *, int ), int version )
|
||||
{
|
||||
OBJECT * const module_obj = module ? object_new( module ) : 0 ;
|
||||
module_t * m = bindmodule( module_obj );
|
||||
if ( module_obj )
|
||||
object_free( module_obj );
|
||||
if ( !m->native_rules )
|
||||
m->native_rules = hashinit( sizeof( native_rule_t ), "native rules" );
|
||||
|
||||
{
|
||||
OBJECT * const name = object_new( rule );
|
||||
int found;
|
||||
native_rule_t * const np = (native_rule_t *)hash_insert(
|
||||
m->native_rules, name, &found );
|
||||
np->name = name;
|
||||
assert( !found );
|
||||
np->procedure = function_builtin( f, 0, args );
|
||||
np->version = version;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user