On 11 December 2017 at 08:08, Mike Leach mike.leach@linaro.org wrote:
Hi Mathieu,
A couple of things...
- This patchset doesn't apply to master - I think you must be using
version 0.7.4 or earlier. The updates to produce 0.7.5 move a header file from the source area into include where it really belonged - plus some significant makefile changes and bugfixes. I can hack the patch to make it work, and will postfix the missing update, along with the large number of windows project file changes that are likely to be needed.
Don't waste time on this, I'll rebase and send another revision.
- We changed the name of the library _to_ libcstraced so that it was
more intuitive. This name describes what it does - and is identifiable to someone who may not be aware of the project that it is trace related. 'opencsd' describes the project, not the purpose. Perhaps worth discussion in the meeting Wednesday.
To me libopencsd is more intuitive than libcstraced (note that I can't remember what the original name was) and libraries that bare the same name as their project is also common - libperf, libpython, libc are some examples. Yes, let's discuss it on Wednesday - we need to get it right because when it's out there won't be a way to change it. I also invite people to chime in on the topic.
- Include changes - no problem in principle with making the include
paths linux installation friendly. However the general idea is that all the etm4 includes are collected in include\etmv4 - your changes leave some in include\etmv4, others in include\opencsd\etmv4 - do we really need two etmv4 include directories? (and ptm / etmv3 stm etc). This increases the maintenance burden and confuses matters if adding new header files. Is there a specific reason I have missed that only certain files are moved?
The idea was to reduce the amount of file exposed to user space and minimise the changes on the original code base. I have no problem moving the etmv3/etmv4/ptm/stm directories under the new opencsd/ directory.
I'll work on a V2 today - thanks for the review, Mathieu
Regards
Mike
On 8 December 2017 at 23:58, Mathieu Poirier mathieu.poirier@linaro.org wrote:
Good afternoon Mike,
Please find below the required changes that allow to properly integrate the opencsd library with the perf tools build mechanism. In that scheme the headers and library objects are installed along side other system header and libraries and from there automatically detected by the perf tools build engine.
That way we don't have to specify the CSTRACE_PATH and it also paves the way for proper packaging for distributions.
The first patch looks mean but it just moves header files around. The other two patches are trivial. I have tested this on Linux but not on Windows.
Thanks, Mathieu
Mathieu Poirier (3): opencsd: Creating user API include directory opencsd: Changing library names to be more intuitive opencsd: Adding "install" target
HOWTO.md | 2 +- decoder/build/linux/makefile | 19 ++++++++++++++++++- decoder/build/win-vs2015/opencsd.props | 6 +++--- decoder/docs/build_libs.md | 18 +++++++++--------- decoder/include/c_api/ocsd_c_api_cust_impl.h | 4 ++-- decoder/include/common/comp_attach_pt_t.h | 2 +- decoder/include/common/ocsd_code_follower.h | 4 ++-- decoder/include/common/ocsd_dcd_mngr.h | 2 +- decoder/include/common/ocsd_dcd_mngr_i.h | 4 ++-- decoder/include/common/ocsd_error.h | 2 +- decoder/include/common/ocsd_lib_dcd_register.h | 2 +- decoder/include/common/ocsd_pe_context.h | 2 +- decoder/include/common/trc_core_arch_map.h | 2 +- decoder/include/common/trc_frame_deformatter.h | 4 ++-- decoder/include/common/trc_gen_elem.h | 2 +- decoder/include/common/trc_ret_stack.h | 2 +- decoder/include/etmv3/etmv3_decoder.h | 2 +- decoder/include/etmv3/trc_cmp_cfg_etmv3.h | 2 +- decoder/include/etmv3/trc_dcd_mngr_etmv3.h | 2 +- decoder/include/etmv3/trc_pkt_elem_etmv3.h | 2 +- decoder/include/etmv3/trc_pkt_proc_etmv3.h | 2 +- decoder/include/etmv4/etmv4_decoder.h | 2 +- decoder/include/etmv4/trc_cmp_cfg_etmv4.h | 2 +- decoder/include/etmv4/trc_dcd_mngr_etmv4i.h | 2 +- decoder/include/etmv4/trc_pkt_elem_etmv4d.h | 2 +- decoder/include/etmv4/trc_pkt_elem_etmv4i.h | 2 +- decoder/include/etmv4/trc_pkt_proc_etmv4.h | 2 +- decoder/include/i_dec/trc_i_decode.h | 2 +- decoder/include/i_dec/trc_idec_arminst.h | 2 +- decoder/include/interfaces/trc_data_raw_in_i.h | 2 +- decoder/include/interfaces/trc_data_rawframe_in_i.h | 2 +- decoder/include/interfaces/trc_error_log_i.h | 2 +- decoder/include/interfaces/trc_indexer_src_i.h | 2 +- decoder/include/mem_acc/trc_mem_acc_base.h | 2 +- decoder/include/mem_acc/trc_mem_acc_cb_if.h | 2 +- decoder/include/mem_acc/trc_mem_acc_file.h | 2 +- decoder/include/mem_acc/trc_mem_acc_mapper.h | 2 +- decoder/include/opencsd.h | 6 +++--- .../include/{ => opencsd}/c_api/ocsd_c_api_custom.h | 0 .../include/{ => opencsd}/c_api/ocsd_c_api_types.h | 14 +++++++------- decoder/include/{ => opencsd}/c_api/opencsd_c_api.h | 0 .../include/{ => opencsd}/etmv3/trc_pkt_types_etmv3.h | 2 +- .../include/{ => opencsd}/etmv4/trc_pkt_types_etmv4.h | 2 +- decoder/include/{ => opencsd}/ocsd_if_types.h | 0 decoder/include/{ => opencsd}/ptm/trc_pkt_types_ptm.h | 2 +- decoder/include/{ => opencsd}/stm/trc_pkt_types_stm.h | 2 +- decoder/include/{ => opencsd}/trc_gen_elem_types.h | 0 decoder/include/{ => opencsd}/trc_pkt_types.h | 0 decoder/include/ptm/ptm_decoder.h | 2 +- decoder/include/ptm/trc_cmp_cfg_ptm.h | 2 +- decoder/include/ptm/trc_dcd_mngr_ptm.h | 2 +- decoder/include/ptm/trc_pkt_elem_ptm.h | 2 +- decoder/include/ptm/trc_pkt_proc_ptm.h | 2 +- decoder/include/stm/stm_decoder.h | 2 +- decoder/include/stm/trc_cmp_cfg_stm.h | 2 +- decoder/include/stm/trc_dcd_mngr_stm.h | 2 +- decoder/include/stm/trc_pkt_elem_stm.h | 2 +- decoder/include/stm/trc_pkt_proc_stm.h | 2 +- decoder/source/c_api/ocsd_c_api.cpp | 2 +- decoder/source/c_api/ocsd_c_api_custom_obj.cpp | 2 +- decoder/source/c_api/ocsd_c_api_custom_obj.h | 2 +- decoder/source/c_api/ocsd_c_api_obj.h | 2 +- decoder/source/etmv4/trc_etmv4_stack_elem.h | 2 +- decoder/source/i_dec/trc_i_decode.cpp | 2 +- decoder/source/trc_frame_deformatter_impl.h | 2 +- .../c_api_echo_test/ext_dcd_echo_test.c | 4 ++-- .../c_api_echo_test/ext_dcd_echo_test.h | 2 +- .../c_api_echo_test/ext_dcd_echo_test_fact.h | 2 +- decoder/tests/source/c_api_pkt_print_test.c | 2 +- 69 files changed, 104 insertions(+), 87 deletions(-) rename decoder/include/{ => opencsd}/c_api/ocsd_c_api_custom.h (100%) rename decoder/include/{ => opencsd}/c_api/ocsd_c_api_types.h (94%) rename decoder/include/{ => opencsd}/c_api/opencsd_c_api.h (100%) rename decoder/include/{ => opencsd}/etmv3/trc_pkt_types_etmv3.h (99%) rename decoder/include/{ => opencsd}/etmv4/trc_pkt_types_etmv4.h (99%) rename decoder/include/{ => opencsd}/ocsd_if_types.h (100%) rename decoder/include/{ => opencsd}/ptm/trc_pkt_types_ptm.h (99%) rename decoder/include/{ => opencsd}/stm/trc_pkt_types_stm.h (99%) rename decoder/include/{ => opencsd}/trc_gen_elem_types.h (100%) rename decoder/include/{ => opencsd}/trc_pkt_types.h (100%)
-- 2.7.4
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight
-- Mike Leach Principal Engineer, ARM Ltd. Blackburn Design Centre. UK