summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2019-08-28 13:52:38 +0100
committerRoy Marples <roy@marples.name>2019-08-28 13:52:38 +0100
commit9d2f1ad1957fb5e53ca6c3740c20305f947d73ec (patch)
tree4923fab60ab57c6977b467ccffe910109b44a057 /configure
parent19a912b5892c69147894bd86776e41cd9d69d20f (diff)
downloaddhcpcd-9d2f1ad1957fb5e53ca6c3740c20305f947d73ec.tar.xz
queue: Support TAILQ_FOREACH_MUTABLE
Basically another name for TAILQ_FOREACH_SAFE.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure24
1 files changed, 24 insertions, 0 deletions
diff --git a/configure b/configure
index f3fc2369..b05b0241 100755
--- a/configure
+++ b/configure
@@ -938,6 +938,30 @@ EOF
echo "$TAILQ_FOREACH_SAFE"
rm -f _queue.c _queue
fi
+if [ "$TAILQ_FOREACH_SAFE" = no ] && [ -z "$TAILQ_FOREACH_MUTABLE" ]; then
+ printf "Testing for TAILQ_FOREACH_MUTABLE ... "
+ cat <<EOF >_queue.c
+#include <sys/queue.h>
+int main(void) {
+#ifndef TAILQ_FOREACH_MUTABLE
+#error TAILQ_FOREACH_MUTABLE
+#endif
+ return 0;
+}
+EOF
+ if $XCC _queue.c -o _queue 2>&3; then
+ TAILQ_FOREACH_MUTABLE=yes
+ TAILQ_FOREACH_SAFE=yes
+ TAILQ_FOREACH=yes
+ echo "#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE" \
+ >> $CONFIG_H
+ else
+ TAILQ_FOREACH_MUTABLE=no
+ fi
+ echo "$TAILQ_FOREACH_MUTABLE"
+ rm -f _queue.c _queue
+fi
+
if [ -z "$TAILQ_CONCAT" ]; then
printf "Testing for TAILQ_CONCAT ..."