From: Igor Maravic <[email protected]> On BSD bison generates header files with .h suffix. On other OSs it generates header files with .hh suffix.
Check which OS we use and include appropriate files. Signed-off-by: Igor Maravic <[email protected]> --- xorp/SConstruct | 3 +++ xorp/rtrmgr/SConscript | 9 +++++++-- xorp/rtrmgr/boot.ll | 5 +++++ xorp/rtrmgr/op_commands.ll | 5 +++++ xorp/rtrmgr/template.ll | 5 +++++ 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/xorp/SConstruct b/xorp/SConstruct index b60ab6a..7e6c7fd 100644 --- a/xorp/SConstruct +++ b/xorp/SConstruct @@ -632,6 +632,9 @@ if not env.GetOption('clean') and \ osname = sys.platform.upper() conf.Define('HOST_OS_NAME', '"' + osname + '"') + #export osname - needed for lex and yacc + env['osname'] = osname + # toolchain conf.Define('CPP_SUPPORTS_C99_VA_ARGS') conf.Define('CPP_SUPPORTS_GNU_VA_ARGS') diff --git a/xorp/rtrmgr/SConscript b/xorp/rtrmgr/SConscript index ebe930c..7dccf32 100644 --- a/xorp/rtrmgr/SConscript +++ b/xorp/rtrmgr/SConscript @@ -55,9 +55,14 @@ libxorp_rtrmgr_env = env.Clone() #Create yacc files yacc_env = env.Clone() -yacc_env.Replace(YACCHXXFILESUFFIX='.hh') -yacc_env.AppendUnique(YACCFLAGS='-d') +# bison on BSD generates headers files with .h suffix, +# while on other OSs it generates header files with .hh suffix +if (env['osname'] == "FreeBSD" or env['osname'] == "NetBSD"): + yacc_env.Replace(YACCHXXFILESUFFIX='.h') +else: + yacc_env.Replace(YACCHXXFILESUFFIX='.hh') +yacc_env.AppendUnique(YACCFLAGS='-d') tplt_env_y = yacc_env.Clone() tplt_env_y.AppendUnique(YACCFLAGS='-ptplt') diff --git a/xorp/rtrmgr/boot.ll b/xorp/rtrmgr/boot.ll index 3e639ef..d2a4064 100644 --- a/xorp/rtrmgr/boot.ll +++ b/xorp/rtrmgr/boot.ll @@ -12,7 +12,12 @@ #define YYSTYPE char* #include "libxorp/xorp.h" + +#if defined(HOST_OS_FREEBSD) || defined(HOST_OS_NETBSD) +#include "y.boot_tab.h" +#else #include "y.boot_tab.hh" +#endif #ifdef __xorp_unused #define __unused __xorp_unused diff --git a/xorp/rtrmgr/op_commands.ll b/xorp/rtrmgr/op_commands.ll index 765cf6c..65b917a 100644 --- a/xorp/rtrmgr/op_commands.ll +++ b/xorp/rtrmgr/op_commands.ll @@ -12,7 +12,12 @@ #define YYSTYPE char* #include "libxorp/xorp.h" #include <string.h> + +#if defined(HOST_OS_FREEBSD) || defined(HOST_OS_NETBSD) +#include "y.opcmd_tab.h" +#else #include "y.opcmd_tab.hh" +#endif #ifdef __xorp_unused #define __unused __xorp_unused diff --git a/xorp/rtrmgr/template.ll b/xorp/rtrmgr/template.ll index fbe3ad7..bf9ca48 100644 --- a/xorp/rtrmgr/template.ll +++ b/xorp/rtrmgr/template.ll @@ -11,7 +11,12 @@ #define YYSTYPE char* #include "libxorp/xorp.h" + +#if defined(HOST_OS_FREEBSD) || defined(HOST_OS_NETBSD) +#include "y.tplt_tab.h" +#else #include "y.tplt_tab.hh" +#endif #ifdef __xorp_unused #define __unused __xorp_unused -- 1.7.5.4 _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
