Skip to content

Commit a86537b

Browse files
committed
Optionally a .clangd file with include paths and language version
settings for clangd, a language server for C and C++. * .: ignore .clangd * configure.ac (--enable-dot-clangd): New option. When set, a configure will write a .clangd file to the root of the source tree. (SVN_DOT_CLANGD, SVN_DOT_CLANGDXX): New functions for setting command line arguments in .clangd for the C and C++ compilers, respectively. Top level: Add well-known include paths in the source tree. * build/ac-macros/apache.m4, build/ac-macros/apr.m4, build/ac-macros/apr_memcache.m4, build/ac-macros/aprutil.m4, build/ac-macros/ax_boost_base.m4, build/ac-macros/berkeley-db.m4, build/ac-macros/compiler.m4, build/ac-macros/java.m4, build/ac-macros/kwallet.m4, build/ac-macros/libsecret.m4, build/ac-macros/lz4.m4, build/ac-macros/py3c.m4, build/ac-macros/sasl.m4, build/ac-macros/serf.m4, build/ac-macros/sqlite.m4, build/ac-macros/utf8proc.m4, build/ac-macros/zlib.m4: Add discovered options to the .clangd list. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1925652 13f79535-47bb-0310-9956-ffa450edef68
1 parent e871e5e commit a86537b

18 files changed

Lines changed: 111 additions & 4 deletions

build/ac-macros/apache.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ elif test x"$APXS" != x"no"; then
219219
echo "=================================================================="
220220
fi
221221
222+
SVN_DOT_CLANGD([$APACHE_INCLUDES])
222223
AC_SUBST(APXS)
223224
AC_SUBST(APACHE_LDFLAGS)
224225
AC_SUBST(APACHE_INCLUDES)

build/ac-macros/apr.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ AC_DEFUN(SVN_LIB_APR,
106106
AC_MSG_ERROR([apr-config --shlib-path-var failed])
107107
fi
108108
109+
SVN_DOT_CLANGD([$SVN_APR_INCLUDES])
109110
AC_SUBST(SVN_APR_CONFIG, ["$apr_config"])
110111
AC_SUBST(SVN_APR_INCLUDES)
111112
AC_SUBST(SVN_APR_LIBS)

build/ac-macros/apr_memcache.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ dnl We are already linking apr-util everywhere, so no special treatement needed.
7777
svn_lib_apr_memcache=no
7878
fi
7979
80+
SVN_DOT_CLANGD([$SVN_APR_MEMCACHE_INCLUDES])
8081
AC_SUBST(SVN_APR_MEMCACHE_INCLUDES)
8182
AC_SUBST(SVN_APR_MEMCACHE_LIBS)
8283
])

build/ac-macros/aprutil.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ AC_DEFUN(SVN_LIB_APRUTIL,
105105
fi
106106
SVN_APRUTIL_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($SVN_APRUTIL_LIBS)`"
107107
108+
SVN_DOT_CLANGD([$SVN_APRUTIL_INCLUDES])
108109
AC_SUBST(SVN_APRUTIL_INCLUDES)
109110
AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"])
110111
AC_SUBST(SVN_APRUTIL_LIBS)

build/ac-macros/ax_boost_base.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
291291
ifelse([$3], , :, [$3])
292292
else
293293
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
294+
SVN_DOT_CLANGDXX([$BOOST_CPPFLAGS])
294295
# execute ACTION-IF-FOUND (if present):
295296
ifelse([$2], , :, [$2])
296297
fi

build/ac-macros/berkeley-db.m4

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ AC_DEFUN(SVN_LIB_BERKELEY_DB,
151151
fi
152152
fi
153153
fi
154+
155+
SVN_DOT_CLANGD([$SVN_DB_INCLUDES])
154156
])
155157

156158

build/ac-macros/compiler.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ AC_DEFUN([SVN_CC_MODE_SETUP],
8282
CNOWARNFLAGS="$CFLAGS"
8383
CFLAGS="$CFLAGS_KEEP"
8484
85+
SVN_DOT_CLANGD([$CMODEFLAGS])
8586
AC_SUBST(CMODEFLAGS)
8687
AC_SUBST(CNOWARNFLAGS)
8788
AC_SUBST(CMAINTAINERFLAGS)
@@ -103,9 +104,11 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
103104
dnl Find flags to force C++ mode
104105
dnl g++ and clang++
105106
if test "$cxx_language_level" = "any"; then
106-
SVN_CXXFLAGS_ADD_IFELSE([-std=c++20],[],[
107-
SVN_CXXFLAGS_ADD_IFELSE([-std=c++17],[],[
108-
SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
107+
SVN_CXXFLAGS_ADD_IFELSE([-std=c++23],[],[
108+
SVN_CXXFLAGS_ADD_IFELSE([-std=c++20],[],[
109+
SVN_CXXFLAGS_ADD_IFELSE([-std=c++17],[],[
110+
SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
111+
])
109112
])
110113
])
111114
else
@@ -140,6 +143,7 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
140143
CXXNOWARNFLAGS="$CXXFLAGS"
141144
CXXFLAGS="$CXXFLAGS_KEEP"
142145
146+
SVN_DOT_CLANGDXX([$CXXMODEFLAGS])
143147
AC_SUBST(CXXMODEFLAGS)
144148
AC_SUBST(CXXNOWARNFLAGS)
145149
AC_SUBST(CXXMAINTAINERFLAGS)

build/ac-macros/java.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ AC_DEFUN(SVN_FIND_JDK,
180180
for dir in $list; do
181181
JNI_INCLUDES="$JNI_INCLUDES -I$dir"
182182
done
183+
SVN_DOT_CLANGD([$JNI_INCLUDES])
183184
fi
184185
185186
dnl We use JDK in the Makefile

build/ac-macros/kwallet.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ int main()
146146
else
147147
AC_MSG_RESULT([no])
148148
fi
149+
SVN_DOT_CLANGD([$SVN_KWALLET_INCLUDES])
149150
AC_SUBST(SVN_KWALLET_INCLUDES)
150151
AC_SUBST(SVN_KWALLET_LIBS)
151152
])

build/ac-macros/libsecret.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ AC_DEFUN(SVN_LIB_SECRET,
8989
else
9090
AC_MSG_RESULT([no])
9191
fi
92+
SVN_DOT_CLANGD([$SVN_GNOME_KEYRING_INCLUDES])
9293
AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
9394
AC_SUBST(SVN_GNOME_KEYRING_LIBS)
9495
AC_SUBST(SVN_GNOME_KEYRING_PCLIBS)

0 commit comments

Comments
 (0)