<HTML><BODY><div>Hello again, Sergey!</div><div>Sorry, I just realized I forgot to squash commit with CMake modifications into this patch,</div><div>so it is incomplete. Anyway, I’ll fix relevant issues and send v2.</div><div> </div><div>Best regards,</div><div>Maxim Kokryashkin</div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Воскресенье, 5 сентября 2021, 16:59 +03:00 от Максим Корякшин <m.kokryashkin@tarantool.org>:<div id=""><div class="js-helper js-readmsg-msg"><div id="style_16308503810275963225"><div id="style_16308503810275963225_BODY"><div class="cl_447236"><div> </div><div><snipped></div><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px;"><div><br>><br>> Closes tarantool/tarantool#5688<br>> ---<br>> CMakeLists.txt | 8 +++++---<br>> src/CMakeLists.txt | 5 +++++<br>> src/lj_tools_conf.h.in | 6 ++++++<br>> src/luajit.c | 36 ++++++++++++++++++++++++++++--------<br>> tools/CMakeLists.txt | 2 ++<br>> 5 files changed, 46 insertions(+), 11 deletions(-)<br>> create mode 100644 src/lj_tools_conf.h.in<br>><br>> diff --git a/CMakeLists.txt b/CMakeLists.txt<br>> index 5348e043..619e9441 100644<br>> --- a/CMakeLists.txt<br>> +++ b/CMakeLists.txt<br>> @@ -250,6 +250,11 @@ endif()<br>> # related compiler and linker flags passed. This should be done<br>> # the right way later.<br>><br>> +# --- Tools --------------------------------------------------------------------<br>> +<br>> +add_subdirectory(tools)<br>> +set(LUAJIT_TOOLS_DIR "${LUAJIT_TOOLS_DIR}")<br>> +<br>> # --- Main source tree ---------------------------------------------------------<br>><br>> add_subdirectory(src)<br>> @@ -258,9 +263,6 @@ add_subdirectory(src)<br>><br>> add_subdirectory(etc)<br>><br>> -# --- Tools --------------------------------------------------------------------<br>> -<br>> -add_subdirectory(tools)<br>Why do we need this code movement?</div></blockquote><div>We need this because there is a template file, which CMake generates during the</div><div>build process.</div><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px;">><br>> # --- Testing source tree ------------------------------------------------------<br>><br>> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt<br>> index 809aac68..d9debccf 100644<br>> --- a/src/CMakeLists.txt<br>> +++ b/src/CMakeLists.txt<br>> @@ -142,6 +142,8 @@ make_source_list(SOURCES_CORE_NO_JIT_FFI<br>> ${SOURCES_UTILS}<br>> )<br>><br>> +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h.in ${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h)<br>> +<br>> set(SOURCES_CORE ${SOURCES_CORE_NO_JIT_FFI})<br>><br>> # Build JIT sources if JIT support is enabled.<br>> @@ -248,6 +250,9 @@ add_custom_target(<br>> jit/vmdef.lua<br>> )<br>><br>> +# --- Generate luajit tools config header -------------------------------------<br>> +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h.in ${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h)<br>> +<br>> # --- Generate core and VM object files ---------------------------------------<br>><br>> # Virtual machine.<br>> diff --git a/src/lj_tools_conf.h.in b/src/lj_tools_conf.h.in<br>> new file mode 100644<br>> index 00000000..366c3ec4<br>> --- /dev/null<br>> +++ b/src/lj_tools_conf.h.in<br>> @@ -0,0 +1,6 @@<br>> +#ifndef LJ_TOOLS_CONF_H<br>> +#define LJ_TOOLS_CONF_H<br>> +<br>> +#define PARSER_PATH "@LUAJIT_TOOLS_DIR@/memprof.lua"<br>> +<br>> +#endif</blockquote><div>As I already said, this is a template file, which holds a path to<br>memprof.lua script after build completion. Thanks to this template,</div><div>the flag will properly work regardless of whether the luajit was</div><div>installed or not.</div><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px;">For what do we need this file?</blockquote><div><snipped></div><div> </div></div></div></div></div></div></blockquote><div> </div></BODY></HTML>