2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 01:32:12 +00:00

Make 'property-set.create' native.

[SVN r21207]
This commit is contained in:
Vladimir Prus
2003-12-10 14:57:14 +00:00
parent 8dacac3c02
commit 2aa468d556
13 changed files with 47 additions and 6 deletions

View File

@@ -319,7 +319,8 @@ set BJAM_SOURCES=%BJAM_SOURCES% hdrmacro.c headers.c jam.c jambase.c jamgram.c l
set BJAM_SOURCES=%BJAM_SOURCES% newstr.c option.c parse.c pathunix.c pathvms.c regexp.c
set BJAM_SOURCES=%BJAM_SOURCES% rules.c scan.c search.c subst.c timestamp.c variable.c modules.c
set BJAM_SOURCES=%BJAM_SOURCES% strings.c filesys.c builtins.c pwd.c class.c w32_getreg.c native.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/set.c modules/path.c modules/regex.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/set.c modules/path.c modules/regex.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/property-set.c
@echo ON
rd /S /Q bootstrap.%BOOST_JAM_TOOLSET%

View File

@@ -276,7 +276,7 @@ jam.source =
scan.c search.c subst.c
timestamp.c variable.c modules.c strings.c filesys.c
builtins.c pwd.c class.c native.c modules/set.c
modules/path.c modules/regex.c
modules/path.c modules/regex.c modules/property-set.c
;
if $(NT)
{

View File

@@ -192,7 +192,7 @@ BJAM_SOURCES="\
newstr.c option.c parse.c pathunix.c pathvms.c regexp.c\
rules.c scan.c search.c subst.c timestamp.c variable.c modules.c\
strings.c filesys.c builtins.c pwd.c class.c native.c modules/set.c\
modules/path.c modules/regex.c"
modules/path.c modules/regex.c modules/property-set.c"
echo_run rm -rf bootstrap.$BOOST_JAM_TOOLSET
echo_run mkdir bootstrap.$BOOST_JAM_TOOLSET

View File

@@ -275,6 +275,7 @@ load_builtins()
init_set();
init_path();
init_regex();
init_property_set();
}
/*

View File

@@ -283,6 +283,23 @@ list_in(LIST* l, char* value)
return 0;
}
LIST *
list_unique( LIST *sorted_list)
{
LIST* result = 0;
LIST* last_added = 0;
for(; sorted_list; sorted_list = sorted_list->next)
{
if (!last_added || strcmp(sorted_list->string, last_added->string) != 0)
{
result = list_new(result, sorted_list->string);
last_added = sorted_list;
}
}
return result;
}
/*
* lol_init() - initialize a LOL (list of lists)

View File

@@ -81,6 +81,7 @@ int list_length( LIST *l );
LIST * list_sublist( LIST *l, int start, int count );
LIST * list_pop_front( LIST *l );
LIST * list_sort( LIST *l);
LIST * list_unique( LIST *sorted_list);
int list_in(LIST* l, char* value);
# define list_next( l ) ((l)->next)

View File

@@ -319,7 +319,8 @@ set BJAM_SOURCES=%BJAM_SOURCES% hdrmacro.c headers.c jam.c jambase.c jamgram.c l
set BJAM_SOURCES=%BJAM_SOURCES% newstr.c option.c parse.c pathunix.c pathvms.c regexp.c
set BJAM_SOURCES=%BJAM_SOURCES% rules.c scan.c search.c subst.c timestamp.c variable.c modules.c
set BJAM_SOURCES=%BJAM_SOURCES% strings.c filesys.c builtins.c pwd.c class.c w32_getreg.c native.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/set.c modules/path.c modules/regex.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/set.c modules/path.c modules/regex.c
set BJAM_SOURCES=%BJAM_SOURCES% modules/property-set.c
@echo ON
rd /S /Q bootstrap.%BOOST_JAM_TOOLSET%

View File

@@ -276,7 +276,7 @@ jam.source =
scan.c search.c subst.c
timestamp.c variable.c modules.c strings.c filesys.c
builtins.c pwd.c class.c native.c modules/set.c
modules/path.c modules/regex.c
modules/path.c modules/regex.c modules/property-set.c
;
if $(NT)
{

View File

@@ -192,7 +192,7 @@ BJAM_SOURCES="\
newstr.c option.c parse.c pathunix.c pathvms.c regexp.c\
rules.c scan.c search.c subst.c timestamp.c variable.c modules.c\
strings.c filesys.c builtins.c pwd.c class.c native.c modules/set.c\
modules/path.c modules/regex.c"
modules/path.c modules/regex.c modules/property-set.c"
echo_run rm -rf bootstrap.$BOOST_JAM_TOOLSET
echo_run mkdir bootstrap.$BOOST_JAM_TOOLSET

View File

@@ -275,6 +275,7 @@ load_builtins()
init_set();
init_path();
init_regex();
init_property_set();
}
/*

View File

@@ -283,6 +283,23 @@ list_in(LIST* l, char* value)
return 0;
}
LIST *
list_unique( LIST *sorted_list)
{
LIST* result = 0;
LIST* last_added = 0;
for(; sorted_list; sorted_list = sorted_list->next)
{
if (!last_added || strcmp(sorted_list->string, last_added->string) != 0)
{
result = list_new(result, sorted_list->string);
last_added = sorted_list;
}
}
return result;
}
/*
* lol_init() - initialize a LOL (list of lists)

View File

@@ -81,6 +81,7 @@ int list_length( LIST *l );
LIST * list_sublist( LIST *l, int start, int count );
LIST * list_pop_front( LIST *l );
LIST * list_sort( LIST *l);
LIST * list_unique( LIST *sorted_list);
int list_in(LIST* l, char* value);
# define list_next( l ) ((l)->next)

View File

@@ -248,6 +248,7 @@ rule create ( raw-properties * )
}
return $(.ps.$(key)) ;
}
NATIVE_RULE property-set : create ;
# Creates new 'property-set' instances after checking
# that all properties are valid and converting incidental