configure: Enable the CTF front-end by default
authorDodji Seketeli <dodji@redhat.com>
Thu, 5 Jan 2023 13:04:16 +0000 (14:04 +0100)
committerDodji Seketeli <dodji@redhat.com>
Thu, 5 Jan 2023 13:04:16 +0000 (14:04 +0100)
The patch enables the CTF front-end by default, if the
ctf.h header file and its associated libctf.so shared library are
detected at configure time.  That front-end can of course still be
disabled by using the --disable-ctf option.

* configure.ac: If --disable-ctf hasn't been passed, test for the
presence of ctf.h and then for libctf.so.  If both are found then
enable the CTF front end.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
configure.ac

index 6c7856cd723e44f0474a271eae4f71b0311738d0..a009fbc6ae887dbf78edb892a2dcf46abcd8640b 100644 (file)
@@ -199,7 +199,7 @@ AC_ARG_ENABLE(ctf,
              AS_HELP_STRING([--enable-ctf=yes|no],
                             [disable support of ctf files)]),
              ENABLE_CTF=$enableval,
-             ENABLE_CTF=no)
+             ENABLE_CTF=auto)
 
 dnl *************************************************
 dnl check for dependencies
@@ -317,17 +317,24 @@ AC_SUBST([ELF_LIBS])
 dnl check for libctf presence if CTF code has been enabled by command line
 dnl argument, and then define CTF flag (to build CTF file code) if libctf is
 dnl found on the system
-CTF_LIBS=
-if test x$ENABLE_CTF = xyes; then
+if test x$ENABLE_CTF != xno; then
+  CTF_HEADER=no
+  AC_CHECK_HEADER([ctf.h],
+                 [CTF_HEADER=yes],
+                 [AC_MSG_NOTICE([could not find ctf.h, going to disable CTF support])])
   LIBCTF=
-  AC_CHECK_LIB(ctf, ctf_open, [LIBCTF=yes], [LIBCTF=no])
+  if test x$CTF_HEADER = xyes; then
+       AC_CHECK_LIB(ctf, ctf_open, [LIBCTF=yes], [LIBCTF=no])
+  fi
+
   if test x$LIBCTF = xyes; then
-    AC_MSG_NOTICE([activating CTF code])
+    AC_MSG_NOTICE([CTF support enabled])
     AC_DEFINE([WITH_CTF], 1,
             [Defined if user enables and system has the libctf library])
     CTF_LIBS=-lctf
+    ENABLE_CTF=yes
   else
-    AC_MSG_NOTICE([CTF enabled but no libctf found])
+    AC_MSG_NOTICE([no libctf found, CTF support was disabled])
     ENABLE_CTF=no
   fi
 fi