[Tarantool-patches] [PATCH v1] Block linker flag '--no-undefined'

Igor Munkin imun at tarantool.org
Thu Jul 9 22:14:31 MSK 2020


Sasha,

Thanks for the patch! I added the patch from upstream to point several
nits.

================================================================================

    test: fix for OpenSuSE tests build

    Found that OpenSUSE toolchain adds '--no-undefined' linker flag leading

Typo: The correct writing of the distro is openSUSE[1], so please fix it
both in commit subject and commit message.
| s/OpenS[uU]SE/openSUSE/g.

    to fails while building tests. The changes suppress this flag since
    dynamic libraries are loaded via Tarantool executable and use its
    symbols. So it is completely OK to have undefined symbols at build time.
    Feel free to adjust it on your own.

Typo: The last line was for you, not for the message, please drop it.


    Needed for #4562

diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 697d1b21d..c3cd93066 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -23,6 +23,14 @@ endfunction()
 add_compile_flags("C;CXX"
     "-Wno-unused-parameter")
 
+# WARNING: This change affects current cmake variable scope and so
+#          a user should care to don't use it in a top level scope.
+# The dynamic libraries will be loaded from tarantool executable
+# and will use symbols from it. So it is completely okay to have
+# unresolved symbols at build time.

Minor: you can use the same part from the commit message, but I'm not
insisting. It just looks rational to me.

+string(REPLACE "-Wl,--no-undefined" ""
+	CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")

Please adjust the indentation considering the code nearby: use 4 spaces
instead of tab.

+
 if(POLICY CMP0037)
     if(CMAKE_VERSION VERSION_LESS 3.11)
         # cmake below 3.11 reserves name test. Use old policy.

================================================================================

Otherwise, LGTM.

[1]: https://www.opensuse.org/

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list