[ofa-general] Re: [PATCH 5/7] osm: QoS - compiling policy file parser
Yevgeny Kliteynik
kliteyn at dev.mellanox.co.il
Tue Aug 21 01:21:48 PDT 2007
Michael S. Tsirkin wrote:
>> Quoting Michael S. Tsirkin <mst at dev.mellanox.co.il>:
>> Subject: Re: [PATCH 5/7] osm: QoS - compiling policy file parser
>>
>>> Quoting Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>:
>>> Subject: [PATCH 5/7] osm: QoS - compiling policy file parser
>>>
>>> Compiling QoS policy file parser.
>>>
>>> C & H files are generated from Lex & Yacc files and the
>>> generated files are compiled.
>>> Generated files are not included in git, but they do get
>>> included in RPM as they are also created by 'make dist'.
>>>
>>> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
>>> ---
>>> opensm/include/Makefile.am | 2 ++
>>> opensm/opensm/Makefile.am | 28 +++++++++++++++++++++++++++-
>>> opensm/opensm/configure.in | 2 ++
>>> 3 files changed, 31 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/opensm/include/Makefile.am b/opensm/include/Makefile.am
>>> index ea62507..b83205f 100644
>>> --- a/opensm/include/Makefile.am
>>> +++ b/opensm/include/Makefile.am
>>> @@ -90,6 +90,8 @@ EXTRA_DIST = \
>>> $(srcdir)/opensm/osm_state_mgr_ctrl.h \
>>> $(srcdir)/opensm/osm_perfmgr.h \
>>> $(srcdir)/opensm/osm_perfmgr_db.h \
>>> + $(srcdir)/opensm/osm_qos_policy.h \
>>> + $(srcdir)/opensm/osm_qos_parser_y.h \
>>> $(srcdir)/complib/cl_thread_osd.h \
>>> $(srcdir)/complib/cl_packon.h \
>>> $(srcdir)/complib/cl_atomic_osd.h \
>>> diff --git a/opensm/opensm/Makefile.am b/opensm/opensm/Makefile.am
>>> index 6dfa824..6c7208d 100644
>>> --- a/opensm/opensm/Makefile.am
>>> +++ b/opensm/opensm/Makefile.am
>>> @@ -56,7 +56,21 @@ opensm_SOURCES = main.c osm_console.c osm_db_files.c \
>>> osm_ucast_lash.c osm_ucast_file.c osm_ucast_ftree.c \
>>> osm_vl15intf.c osm_vl_arb_rcv.c \
>>> st.c osm_perfmgr.c osm_perfmgr_db.c \
>>> - osm_event_plugin.c osm_dump.c
>>> + osm_event_plugin.c osm_dump.c \
>>> + osm_qos_parser_y.c osm_qos_parser_l.c osm_qos_policy.c
>>> +
>>> +osm_qos_parser_y.c: $(srcdir)/osm_qos_parser.y $(srcdir)/../include/opensm/osm_qos_policy.h
>>> + $(YACC) -y -d $(srcdir)/osm_qos_parser.y
>>> + mv y.tab.c osm_qos_parser_y.c
>>> + mv y.tab.h osm_qos_parser_y.h
>>> + cp -f osm_qos_parser_y.c $(srcdir)/
>>> + cp -f osm_qos_parser_y.h $(srcdir)/../include/opensm/
>>> +
>>> +osm_qos_parser_l.c: $(srcdir)/osm_qos_parser.l $(srcdir)/../include/opensm/osm_qos_policy.h
>>> + $(LEX) $(srcdir)/osm_qos_parser.l
>>> + mv lex.yy.c osm_qos_parser_l.c
>>> + cp -f osm_qos_parser_l.c $(srcdir)/
>>> +
>> Why do you use these mv tricks?
>> Can you not use the -o flag to generate the output file with the proper name?
Good idea
> Alternatively, if you do not want to use flex/bison extensions,
> you can use -t flag to have lex output to standard output,
> and -b flag to supply prefix to yacc.
>
> BTW, I think it's a good idea to also use -p prefix to reduce
> the global namespace pollution by yacc.
OK.
It affects patches 2/7 and 5/7 - I'll repost them.
-- Yevgeny
>
More information about the general
mailing list