diff options
Diffstat (limited to 'meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch')
-rw-r--r-- | meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch b/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch new file mode 100644 index 0000000000..0d51ce1b8f --- /dev/null +++ b/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch @@ -0,0 +1,66 @@ +From b4f29807225cf3744c2f4f971902fbdd7486fc19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= <j@v6e.pt> +Date: Fri, 26 May 2023 13:29:23 +0100 +Subject: [PATCH] CMake: Fix a try_run() test when cross-compiling + +Upstream-Status: Backport +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +--- + ConfigureChecks.cmake | 36 ++++++++++++++++++++---------------- + 1 file changed, 20 insertions(+), 16 deletions(-) + +diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake +index dd8268e077..d8bca54115 100644 +--- a/ConfigureChecks.cmake ++++ b/ConfigureChecks.cmake +@@ -122,26 +122,30 @@ check_type_size("ssize_t" SSIZE_T) + # Check if the libc vsnprintf() conforms to C99. If this fails we may + # need to fall-back on GLib I/O. + # +-check_c_source_runs(" +- #include <stdio.h> +- int main(void) +- { +- /* Check that snprintf() and vsnprintf() don't return +- * -1 if the buffer is too small. C99 says this value +- * is the length that would be written not including +- * the nul byte. */ +- char buf[3]; +- return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1; +- }" +- HAVE_C99_VSNPRINTF +-) +-if (NOT HAVE_C99_VSNPRINTF) +- message(FATAL_ERROR ++# If cross-compiling we can't check so just assume this requirement is met. ++# ++if(NOT CMAKE_CROSSCOMPILING) ++ check_c_source_runs(" ++ #include <stdio.h> ++ int main(void) ++ { ++ /* Check that snprintf() and vsnprintf() don't return ++ * -1 if the buffer is too small. C99 says this value ++ * is the length that would be written not including ++ * the nul byte. */ ++ char buf[3]; ++ return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1; ++ }" ++ HAVE_C99_VSNPRINTF ++ ) ++ if (NOT HAVE_C99_VSNPRINTF) ++ message(FATAL_ERROR + "Building Wireshark requires a C99 compliant vsnprintf() and this \ + target does not meet that requirement. Compiling for ${CMAKE_SYSTEM} \ + using ${CMAKE_C_COMPILER_ID}. Please report this issue to the Wireshark \ + developers at wireshark-dev@wireshark.org." +- ) ++ ) ++ endif() + endif() + + # +-- +2.25.1 + |