svn commit: r1925657 - in /subversion/trunk: build/ac-macros/ax_boost_base.m4 build/ac-macros/compiler.m4 configure.ac

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
Author: brane
Date: Sun May 18 05:35:38 2025
New Revision: 1925657

URL: http://svn.apache.org/viewvc?rev=1925657&view=rev
Log:
Follow up to r1925652: Fix a duplicate directives in .clangd, and generate
complete, separate sets of options for C and C++.

* configure.ac
  (--enable-clangd): Fix the PathMatch directives.
  (svn_dot_clangdcc_contents): Renamed from svn_dot_clangd_contents.
  (SVN_DOT_CLANGD_CC): Renamed from SVN_DOT_CLANGD.
  (SVN_DOT_CLANGD_CXX): Renamed from SVN_DOT_CLANGDXX.
  (SVN_DOT_CLANGD): New; adds to both C and C++ fragments in .clangd.
  Top level: Added maintainer flags and debug macros to .clangd.

* build/ac-macros/ax_boost_base.m4: Use renamed SVN_DOT_CLANGD_CXX.

* build/ac-macros/compiler.m4
  (SVN_CC_MODE_SETUP): Use SVN_DOT_CLANGD_CC. Add warning flags to .clangd.
  (SVN_CXX_MODE_SETUP): Use SVN_DOT_CLANGD_CXX, and add warning flags.

Modified:
    subversion/trunk/build/ac-macros/ax_boost_base.m4
    subversion/trunk/build/ac-macros/compiler.m4
    subversion/trunk/configure.ac

Modified: subversion/trunk/build/ac-macros/ax_boost_base.m4
URL: http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/ax_boost_base.m4?rev=1925657&r1=1925656&r2=1925657&view=diff
==============================================================================
--- subversion/trunk/build/ac-macros/ax_boost_base.m4 (original)
+++ subversion/trunk/build/ac-macros/ax_boost_base.m4 Sun May 18 05:35:38 2025
@@ -291,7 +291,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
         ifelse([$3], , :, [$3])
     else
         AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
-        SVN_DOT_CLANGDXX([$BOOST_CPPFLAGS])
+        SVN_DOT_CLANGD_CXX([$BOOST_CPPFLAGS])
         # execute ACTION-IF-FOUND (if present):
         ifelse([$2], , :, [$2])
     fi

Modified: subversion/trunk/build/ac-macros/compiler.m4
URL: http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/compiler.m4?rev=1925657&r1=1925656&r2=1925657&view=diff
==============================================================================
--- subversion/trunk/build/ac-macros/compiler.m4 (original)
+++ subversion/trunk/build/ac-macros/compiler.m4 Sun May 18 05:35:38 2025
@@ -73,16 +73,16 @@ AC_DEFUN([SVN_CC_MODE_SETUP],
 
   CMODEFLAGS="$CFLAGS"
   CFLAGS=""
+  SVN_DOT_CLANGD_CC([$CMODEFLAGS])
 
   if test "$GCC" = "yes"; then
     dnl Find flags to silence all warnings
-    SVN_CFLAGS_ADD_IFELSE([-w])
+    SVN_CFLAGS_ADD_IFELSE([-w],[SVN_DOT_CLANGD_CC([-w])])
   fi
 
   CNOWARNFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS_KEEP"
 
-  SVN_DOT_CLANGD([$CMODEFLAGS])
   AC_SUBST(CMODEFLAGS)
   AC_SUBST(CNOWARNFLAGS)
   AC_SUBST(CMAINTAINERFLAGS)
@@ -90,7 +90,9 @@ AC_DEFUN([SVN_CC_MODE_SETUP],
 
   if test "$GCC" = "yes"; then
     dnl Tell clang to not accept unknown warning flags
-    SVN_CFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+    SVN_CFLAGS_ADD_IFELSE([-Werror=unknown-warning-option],[
+      SVN_DOT_CLANGD_CC([-Werror=unknown-warning-option])
+    ])
   fi
 ])
 
@@ -134,16 +136,16 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
 
   CXXMODEFLAGS="$CXXFLAGS"
   CXXFLAGS=""
+  SVN_DOT_CLANGD_CXX([$CXXMODEFLAGS])
 
   if test "$GXX" = "yes"; then
     dnl Find flags to silence all warnings
-    SVN_CXXFLAGS_ADD_IFELSE([-w])
+    SVN_CXXFLAGS_ADD_IFELSE([-w],[SVN_DOT_CLANGD_CXX([-w])])
   fi
 
   CXXNOWARNFLAGS="$CXXFLAGS"
   CXXFLAGS="$CXXFLAGS_KEEP"
 
-  SVN_DOT_CLANGDXX([$CXXMODEFLAGS])
   AC_SUBST(CXXMODEFLAGS)
   AC_SUBST(CXXNOWARNFLAGS)
   AC_SUBST(CXXMAINTAINERFLAGS)
@@ -151,6 +153,8 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
 
   if test "$GXX" = "yes"; then
     dnl Tell clang++ to not accept unknown warning flags
-    SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+    SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option],[
+      SVN_DOT_CLANGD_CXX([-Werror=unknown-warning-option])
+    ])
   fi
 ])

Modified: subversion/trunk/configure.ac
URL: http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1925657&r1=1925656&r2=1925657&view=diff
==============================================================================
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Sun May 18 05:35:38 2025
@@ -54,36 +54,35 @@ AC_HELP_STRING([--enable-dot-clangd],
                [Generate a .clangd file at the root of the source tree]),
 [
   AC_MSG_NOTICE([Creating $svn_dot_clangd_file])
-  svn_dot_clangd_contents='---
+  svn_dot_clangdcc_contents='---
+# C
 If:
-  PathMatch: .*\.c
-  PathMatch: .*\.h
-  PathExclude: subversion/bindings/javahl/native/.*
+  PathMatch: [.*\.[ch]]
+  PathExclude: [subversion/bindings/javahl/native/.*]
 
 CompileFlags:
   Add:'
 
   svn_dot_clangdxx_contents='---
+# C++
 If:
-  PathMatch: .*\.cpp
-  PathMatch: .*\.hpp
-  PathMatch: subversion/bindings/javahl/native/.*\.h
+  PathMatch: [.*\.[ch]pp|.*/bindings/javahl/native/.*\.h]
 
 CompileFlags:
   Add:'
 ],
 [])
 
-AC_DEFUN([SVN_DOT_CLANGD],
+AC_DEFUN([SVN_DOT_CLANGD_CC],
 [
-  if test "x$svn_dot_clangd_contents" != "x"; then
+  if test "x$svn_dot_clangdcc_contents" != "x"; then
     indent="    -"
     dnl Split multiple flags to one per line.
     set fake [$1]
     while test "${#}" -gt 1; do
       line="${2}"; shift
-      svn_dot_clangd_contents=`cat <<EOF
-$svn_dot_clangd_contents
+      svn_dot_clangdcc_contents=`cat <<EOF
+$svn_dot_clangdcc_contents
 $indent $line
 EOF
       `
@@ -91,7 +90,7 @@ EOF
   fi
 ])
 
-AC_DEFUN([SVN_DOT_CLANGDXX],
+AC_DEFUN([SVN_DOT_CLANGD_CXX],
 [
   if test "x$svn_dot_clangdxx_contents" != "x"; then
     indent="    -"
@@ -108,17 +107,22 @@ EOF
   fi
 ])
 
+AC_DEFUN([SVN_DOT_CLANGD],[
+  SVN_DOT_CLANGD_CC([$1])
+  SVN_DOT_CLANGD_CXX([$1])
+])
+
 
 dnl Add well-known source and build paths to .clangd
 SVN_DOT_CLANGD([-I$abs_builddir/subversion])
 SVN_DOT_CLANGD([-I$abs_srcdir/subversion/include])
 SVN_DOT_CLANGD([-I$abs_srcdir/subversion/tests])
-SVN_DOT_CLANGDXX([-I$abs_srcdir/subversion/bindings/cxx/include])
-SVN_DOT_CLANGDXX([-I$abs_srcdir/subversion/bindings/cxx/tests])
-SVN_DOT_CLANGDXX([-I$abs_srcdir/subversion/bindings/javahl/native])
 SVN_DOT_CLANGD([-I$abs_srcdir/subversion/bindings/swig/perl/libsvn_swig_perl])
 SVN_DOT_CLANGD([-I$abs_srcdir/subversion/bindings/swig/python/libsvn_swig_py])
 SVN_DOT_CLANGD([-I$abs_srcdir/subversion/bindings/swig/ruby/libsvn_swig_ruby])
+SVN_DOT_CLANGD_CXX([-I$abs_srcdir/subversion/bindings/cxx/include])
+SVN_DOT_CLANGD_CXX([-I$abs_srcdir/subversion/bindings/cxx/tests])
+SVN_DOT_CLANGD_CXX([-I$abs_srcdir/subversion/bindings/javahl/native])
 
 # ==== Check for programs ====================================================
 
@@ -1152,6 +1156,7 @@ AS_HELP_STRING([--enable-maintainer-mode
 
         dnl Add flags that all versions of GCC (should) support
         CMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow -Wformat=2 -Wunused -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wno-multichar -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wbad-function-cast $CMAINTAINERFLAGS"
+        SVN_DOT_CLANGD_CC([$CMAINTAINERFLAGS])
       fi
       if test "$GXX" = "yes"; then
         AC_MSG_NOTICE([maintainer-mode: adding G++ warning flags])
@@ -1170,6 +1175,7 @@ AS_HELP_STRING([--enable-maintainer-mode
 
         dnl Add flags that all versions of G++ (should) support
         CXXMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow -Wunused -Wunreachable-code $CXXMAINTAINERFLAGS"
+        SVN_DOT_CLANGD_CXX([$CXXMAINTAINERFLAGS])
       fi
     fi
 ])
@@ -1205,6 +1211,7 @@ if test "$enable_debugging" = "yes" ; th
   dnl AP_DEBUG enables specific (Apache) features for developer builds
   CFLAGS="$CFLAGS -DSVN_DEBUG -DAP_DEBUG"
   CXXFLAGS="$CXXFLAGS -DSVN_DEBUG -DAP_DEBUG"
+  SVN_DOT_CLANGD([-DSVN_DEBUG -DAP_DEBUG])
 elif test "$enable_debugging" = "no" ; then
   AC_MSG_NOTICE([Disabling debugging])
   CFLAGS=["`echo $CFLAGS' ' | $SED -e 's/-g[0-9] //g' -e 's/-g //g'`"]
@@ -1212,6 +1219,7 @@ elif test "$enable_debugging" = "no" ; t
   dnl Compile with NDEBUG to get rid of assertions
   CFLAGS="$CFLAGS -DNDEBUG"
   CXXFLAGS="$CXXFLAGS -DNDEBUG"
+  SVN_DOT_CLANGD([-DNDEBUG])
 # elif test "$enable_debugging" = "maybe" ; then
 #   # do nothing
 fi
@@ -1858,14 +1866,14 @@ AC_DEFINE_UNQUOTED([SVN_BUILD_TARGET], "
 AC_OUTPUT
 
 # ==== Generate the .clangd file =============================================
-if test "x$svn_dot_clangd_contents$svn_dot_clangdxx_contents" = "x" ; then
+if test "x$svn_dot_clangdcc_contents$svn_dot_clangdxx_contents" = "x" ; then
    if test -f "$svn_dot_clangd_file"; then
       AC_MSG_NOTICE([Removing $svn_dot_clangd_file])
       rm -f "$svn_dot_clangd_file"
    fi
 else
   AC_MSG_NOTICE([Writing $svn_dot_clangd_file])
-  echo "$svn_dot_clangd_contents" > "$svn_dot_clangd_file"
+  echo "$svn_dot_clangdcc_contents" > "$svn_dot_clangd_file"
   echo "$svn_dot_clangdxx_contents" >> "$svn_dot_clangd_file"
 fi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.