diff options
Diffstat (limited to 'm4/libo_fuzz_configury.m4')
-rw-r--r-- | m4/libo_fuzz_configury.m4 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/m4/libo_fuzz_configury.m4 b/m4/libo_fuzz_configury.m4 new file mode 100644 index 000000000..013908e28 --- /dev/null +++ b/m4/libo_fuzz_configury.m4 @@ -0,0 +1,51 @@ +dnl -*- Mode: Autoconf; tab-width: 4; indent-tabs-mode: nil; fill-column: 102 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +AC_DEFUN([libo_FUZZ_ARG_WITH], [ + AC_ARG_WITH([$1], + [$2], + [$3], + if test "$enable_fuzz_options" = yes; then + if test `expr $RANDOM % 2` = 1; then + m4_translit([with-$1], [-+.], [___])=yes + else + m4_translit([with-$1], [-+.], [___])=no + fi + AC_MSG_NOTICE([Randomly set --with-$1=$m4_translit([with-$1], [-+.], [___])]) + libo_fuzzed_[]m4_translit([with-$1], [-+.], [___])=yes + libo_fuzz_list="$libo_fuzz_list --with-$1="'$m4_translit([with-$1], [-+.], [___])' + fi + [$4] + ) +]) + +AC_DEFUN([libo_FUZZ_ARG_ENABLE], [ + AC_ARG_ENABLE([$1], + [$2], + [$3], + if test "$enable_fuzz_options" = yes; then + if test `expr $RANDOM % 2` = 1; then + m4_translit([enable-$1], [-+.], [___])=yes + else + m4_translit([enable-$1], [-+.], [___])=no + fi + AC_MSG_NOTICE([Randomly set --enable-$1=$m4_translit([enable-$1], [-+.], [___])]) + libo_fuzzed_[]m4_translit([enable-$1], [-+.], [___])=yes + libo_fuzz_list="$libo_fuzz_list --enable-$1="'$m4_translit([enable-$1], [-+.], [___])' + fi + [$4]) +]) + +AC_DEFUN([libo_FUZZ_SUMMARY], [ + if test -n "$libo_fuzz_list"; then + tmps=`eval echo $libo_fuzz_list` + AC_MSG_NOTICE([Summary of fuzzing: $tmps]) + fi +]) + +dnl vim:set shiftwidth=4 softtabstop=4 expandtab: |