From: Igor Maravic <[email protected]>
Signed-off-by: Igor Maravic <[email protected]> --- xorp/policy/backend/SConscript | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/xorp/policy/backend/SConscript b/xorp/policy/backend/SConscript index 0d811a4..f91e022 100644 --- a/xorp/policy/backend/SConscript +++ b/xorp/policy/backend/SConscript @@ -26,7 +26,36 @@ is_shared = env.has_key('SHAREDLIBS') env.AppendUnique(CPPPATH = [ '#' ]) +# Automatically generate flex and yacc files + +#Create yacc files +yacc_env = env.Clone() + +# bison on BSD generates headers files with .h suffix, +# while on other OSs it generates header files with .hh suffix +# +# But, on FreeBSD at least, if you don't do the .hh suffix, it doesn't even +# build a .h file of any type --Ben +yacc_env.Replace(YACCHXXFILESUFFIX='.hh') + +yacc_env.AppendUnique(YACCFLAGS='-d') + +yacc_env.AppendUnique(YACCFLAGS='-ppolicy_backend_parser') + +backend_yacc = yacc_env.CXXFile(target='y.policy_backend_parser_tab.cc', + source='backend.yy') + +#create lex files +lex_env = env.Clone() + +lex_env.AppendUnique(LEXFLAGS='-Ppolicy_backend_parser') + +backend_lex = lex_env.CXXFile(target='lex.policy_backend_parser.cc', + source='backend.ll') + libpbesrcs = [ + backend_lex[0], + backend_yacc[0], 'iv_exec.cc', 'policy_filter.cc', 'policy_filters.cc', @@ -36,8 +65,6 @@ libpbesrcs = [ 'single_varrw.cc', 'version_filter.cc', 'version_filters.cc', - 'lex.yy_policy_backend_parser.cc', - 'yacc.yy_policy_backend_parser.cc' ] if not (env.has_key('disable_profile') and env['disable_profile']): -- 1.7.9.5 _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
