misc: fix the static vppctl build 16/40516/3
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 13 Mar 2024 11:16:11 +0000 (12:16 +0100)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 13 Mar 2024 12:39:22 +0000 (13:39 +0100)
Change I58e1ae1c91f4a62e80eaf4e16e9932d8bab17c74 has introduced a reference to config.h,
which is not there in a case of building a static standalone vppctl.

Solution: add a variable STATIC_VPPCTL which, when defined, avoids including
the missing include file. Thanks a lot to Damjan for the suggestion.

Type: fix
Change-Id: I133235ba07e5c2e0d5669be9c2292cab0fdf436f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
extras/scripts/build_static_vppctl.sh
src/vpp/app/vppctl.c

index dd8a601..eafd24c 100755 (executable)
@@ -1,4 +1,5 @@
 #/bin/env bash
+set -eu
 
 src=$(realpath $(dirname $0)/../..)/src
 
@@ -8,6 +9,7 @@ ${CC:-cc} \
  -O2 \
  -flto \
  -static \
+ -D STATIC_VPPCTL \
  -I ${src} \
  -g \
  ${src}/vpp/app/vppctl.c \
index 7c96517..f1d69c3 100644 (file)
@@ -34,7 +34,9 @@
 
 #include <vppinfra/clib.h>
 #include <arpa/telnet.h>
+#ifndef STATIC_VPPCTL
 #include <vpp/vnet/config.h>
+#endif
 
 #define SOCKET_FILE "/run/vpp/cli.sock"
 
@@ -162,7 +164,7 @@ process_input (int sock_fd, unsigned char *rx_buf, int rx_buf_len,
   return j;
 }
 
-#ifdef CLIB_SANITIZE_ADDR
+#if !defined(STATIC_VPPCTL) && defined(CLIB_SANITIZE_ADDR)
 /* default options for Address Sanitizer */
 const char *
 __asan_default_options (void)