From a48bf632600df907f640fd424c371a50be351fd8 Mon Sep 17 00:00:00 2001 From: Masaori Koshiba Date: Wed, 13 Sep 2023 10:39:12 +0900 Subject: [PATCH] Fix hwloc build --- configure.ac | 16 +++++++++++----- iocore/aio/Makefile.am | 3 ++- iocore/eventsystem/Makefile.am | 4 +++- src/traffic_layout/Makefile.inc | 1 + src/traffic_server/Makefile.inc | 1 + src/tscore/Makefile.am | 1 + tools/benchmark/Makefile.am | 1 + 7 files changed, 20 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index 9b84930f59a..b51c855ca80 100644 --- a/configure.ac +++ b/configure.ac @@ -1699,14 +1699,19 @@ use_hwloc=0 AS_IF([test "x$enable_hwloc" = "xyes"], [ # Use pkg-config, because some distros (*cough* Ubuntu) put hwloc in unusual places. PKG_CHECK_MODULES([HWLOC], [hwloc], [ + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="${HWLOC_CFLAGS}" + SAVE_LIBS="$LIBS" - LIBS="-lhwloc" + LIBS="${HWLOC_LIBS}" + AC_LANG_PUSH([C++]) AC_MSG_CHECKING([for hwloc C++ linking]) AC_LINK_IFELSE([ - AC_LANG_PROGRAM([#include ],[hwloc_topology_t t; hwloc_topology_init(&t); hwloc_get_type_depth(t, HWLOC_OBJ_SOCKET);])],[ + AC_LANG_PROGRAM([#include ],[hwloc_topology_t t; hwloc_topology_init(&t); hwloc_get_type_depth(t, HWLOC_OBJ_SOCKET);])], + [ use_hwloc=1 - AC_SUBST([HWLOC_CFLAGS]) + AC_SUBST([HWLOC_INCLUDES], "$HWLOC_CFLAGS") AC_SUBST([HWLOC_LIBS]) AC_MSG_RESULT([yes]) # Old versions of libhwloc don't have HWLOC_OBJ_PU. @@ -1717,14 +1722,15 @@ AS_IF([test "x$enable_hwloc" = "xyes"], [ ], [ AC_MSG_RESULT([no]) AC_MSG_WARN([hwloc not linkable, try --disable-hwloc]) - AC_SUBST([HWLOC_CFLAGS],[""]) + AC_SUBST([HWLOC_INCLUDES],[""]) AC_SUBST([HWLOC_LIBS],[""]) ]) AC_LANG_POP() LIBS="$SAVE_LIBS" + CXXFLAGS="$SAVE_CXXFLAGS" ], [ AC_MSG_WARN([hwloc not found, try --disable-hwloc]) - AC_SUBST([HWLOC_CFLAGS],[""]) + AC_SUBST([HWLOC_INCLUDES],[""]) AC_SUBST([HWLOC_LIBS],[""]) ]) ]) diff --git a/iocore/aio/Makefile.am b/iocore/aio/Makefile.am index c0babc8da23..49ef80ff4f5 100644 --- a/iocore/aio/Makefile.am +++ b/iocore/aio/Makefile.am @@ -21,7 +21,8 @@ AM_CPPFLAGS += \ -I$(abs_top_srcdir)/iocore/io_uring \ -I$(abs_top_srcdir)/include \ -I$(abs_top_srcdir)/lib \ - @SWOC_INCLUDES@ + @HWLOC_INCLUDES@ \ + @SWOC_INCLUDES@ \ $(TS_INCLUDES) TESTS = test_AIO.sample diff --git a/iocore/eventsystem/Makefile.am b/iocore/eventsystem/Makefile.am index 082aac58fb6..ca95207f882 100644 --- a/iocore/eventsystem/Makefile.am +++ b/iocore/eventsystem/Makefile.am @@ -19,7 +19,9 @@ AM_CPPFLAGS += \ -I$(abs_top_srcdir)/include \ -I$(abs_top_srcdir)/lib \ - $(TS_INCLUDES) @SWOC_INCLUDES@ + $(TS_INCLUDES) \ + @HWLOC_INCLUDES@ \ + @SWOC_INCLUDES@ TESTS = $(check_PROGRAMS) diff --git a/src/traffic_layout/Makefile.inc b/src/traffic_layout/Makefile.inc index d4f2637a900..e03552bbced 100644 --- a/src/traffic_layout/Makefile.inc +++ b/src/traffic_layout/Makefile.inc @@ -23,6 +23,7 @@ traffic_layout_traffic_layout_CPPFLAGS = \ -I$(abs_top_srcdir)/include \ -I$(abs_top_srcdir)/lib \ -I$(abs_top_srcdir)/mgmt \ + @HWLOC_INCLUDES@ \ @SWOC_INCLUDES@ \ @YAMLCPP_INCLUDES@ \ $(TS_INCLUDES) diff --git a/src/traffic_server/Makefile.inc b/src/traffic_server/Makefile.inc index 80bda75596e..2dc2068dd8b 100644 --- a/src/traffic_server/Makefile.inc +++ b/src/traffic_server/Makefile.inc @@ -35,6 +35,7 @@ traffic_server_traffic_server_CPPFLAGS = \ -I$(abs_top_srcdir)/mgmt \ @SWOC_INCLUDES@ \ $(TS_INCLUDES) \ + @HWLOC_INCLUDES@ \ @OPENSSL_INCLUDES@ \ @YAMLCPP_INCLUDES@ diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am index 8ab634398a0..d7493c0c8f9 100644 --- a/src/tscore/Makefile.am +++ b/src/tscore/Makefile.am @@ -38,6 +38,7 @@ AM_CPPFLAGS += \ -I$(abs_top_srcdir)/include \ -I$(abs_top_srcdir)/lib \ $(TS_INCLUDES) \ + @HWLOC_INCLUDES@ \ @YAMLCPP_INCLUDES@ libtscore_a_SOURCES = \ diff --git a/tools/benchmark/Makefile.am b/tools/benchmark/Makefile.am index 772fe19208f..bc49536a1cf 100644 --- a/tools/benchmark/Makefile.am +++ b/tools/benchmark/Makefile.am @@ -42,6 +42,7 @@ benchmark_CPP_FLAGS = \ -I$(abs_top_srcdir)/mgmt \ -I$(abs_top_srcdir)/mgmt/utils \ -I$(abs_top_srcdir)/lib/catch2 \ + @HWLOC_INCLUDES@ \ @OPENSSL_INCLUDES@ \ @SWOC_INCLUDES@