Fix exporting of asprintf/vasprintf symbols.
This commit is contained in:
68
configure
vendored
68
configure
vendored
@@ -18510,60 +18510,68 @@ $as_echo "$as_me: WARNING: Replacing missing/broken (v)snprintf() with sudo's ve
|
|||||||
$as_echo "#define PREFER_PORTABLE_SNPRINTF 1" >>confdefs.h
|
$as_echo "#define PREFER_PORTABLE_SNPRINTF 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
for ac_func in asprintf vasprintf
|
if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes"; then
|
||||||
|
# System has a C99-compliant v?snprintf(), check for v?asprintf()
|
||||||
|
for ac_func in asprintf
|
||||||
do :
|
do :
|
||||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf"
|
||||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
if test "x$ac_cv_func_asprintf" = xyes; then :
|
||||||
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
|
#define HAVE_ASPRINTF 1
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
fi
|
else
|
||||||
done
|
|
||||||
|
|
||||||
if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes"; then
|
|
||||||
# Don't add snprintf to LIBOBJS if it is already present.
|
|
||||||
if test X"$ac_cv_func_asprintf$ac_cv_func_vasprintf" != X"yesyes"; then
|
|
||||||
case " $LIBOBJS " in
|
case " $LIBOBJS " in
|
||||||
*" snprintf.$ac_objext "* ) ;;
|
*" snprintf.$ac_objext "* ) ;;
|
||||||
*) LIBOBJS="$LIBOBJS snprintf.$ac_objext"
|
*) LIBOBJS="$LIBOBJS snprintf.$ac_objext"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test X"$ac_cv_have_working_snprintf" = X"no"; then
|
|
||||||
|
|
||||||
for _sym in sudo_snprintf; do
|
|
||||||
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
|
||||||
"
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test X"$ac_cv_have_working_vsnprintf" = X"no"; then
|
|
||||||
|
|
||||||
for _sym in sudo_vsnprintf; do
|
|
||||||
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
|
||||||
"
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test X"$ac_cv_func_asprintf" = X"no"; then
|
|
||||||
|
|
||||||
for _sym in sudo_asprintf; do
|
for _sym in sudo_asprintf; do
|
||||||
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
||||||
"
|
"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
if test X"$ac_cv_func_vasprintf" = X"no"; then
|
done
|
||||||
|
|
||||||
|
for ac_func in vasprintf
|
||||||
|
do :
|
||||||
|
ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf"
|
||||||
|
if test "x$ac_cv_func_vasprintf" = xyes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_VASPRINTF 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
case " $LIBOBJS " in
|
||||||
|
*" snprintf.$ac_objext "* ) ;;
|
||||||
|
*) LIBOBJS="$LIBOBJS snprintf.$ac_objext"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
for _sym in sudo_vasprintf; do
|
for _sym in sudo_vasprintf; do
|
||||||
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
||||||
"
|
"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
# Missing or non-compliant v?snprintf(), assume missing/bad v?asprintf()
|
||||||
|
|
||||||
|
for _sym in sudo_snprintf sudo_vsnprintf sudo_asprintf sudo_vasprintf; do
|
||||||
|
COMPAT_EXP="${COMPAT_EXP}${_sym}
|
||||||
|
"
|
||||||
|
done
|
||||||
|
|
||||||
fi
|
fi
|
||||||
# We wrap OpenBSD's strtonum() to get translatable error strings.
|
# We wrap OpenBSD's strtonum() to get translatable error strings.
|
||||||
for ac_func in strtonum
|
for ac_func in strtonum
|
||||||
|
27
configure.ac
27
configure.ac
@@ -2540,24 +2540,19 @@ if test X"$ac_cv_func_mkstemps$ac_cv_func_mkdtemp" != X"yesyes"; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AX_FUNC_SNPRINTF
|
AX_FUNC_SNPRINTF
|
||||||
AC_CHECK_FUNCS(asprintf vasprintf)
|
|
||||||
if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes"; then
|
if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes"; then
|
||||||
# Don't add snprintf to LIBOBJS if it is already present.
|
# System has a C99-compliant v?snprintf(), check for v?asprintf()
|
||||||
if test X"$ac_cv_func_asprintf$ac_cv_func_vasprintf" != X"yesyes"; then
|
AC_CHECK_FUNCS(asprintf, [], [
|
||||||
AC_LIBOBJ(snprintf)
|
AC_LIBOBJ(snprintf)
|
||||||
fi
|
SUDO_APPEND_COMPAT_EXP(sudo_asprintf)
|
||||||
fi
|
])
|
||||||
if test X"$ac_cv_have_working_snprintf" = X"no"; then
|
AC_CHECK_FUNCS(vasprintf, [], [
|
||||||
SUDO_APPEND_COMPAT_EXP(sudo_snprintf)
|
AC_LIBOBJ(snprintf)
|
||||||
fi
|
SUDO_APPEND_COMPAT_EXP(sudo_vasprintf)
|
||||||
if test X"$ac_cv_have_working_vsnprintf" = X"no"; then
|
])
|
||||||
SUDO_APPEND_COMPAT_EXP(sudo_vsnprintf)
|
else
|
||||||
fi
|
# Missing or non-compliant v?snprintf(), assume missing/bad v?asprintf()
|
||||||
if test X"$ac_cv_func_asprintf" = X"no"; then
|
SUDO_APPEND_COMPAT_EXP(sudo_snprintf sudo_vsnprintf sudo_asprintf sudo_vasprintf)
|
||||||
SUDO_APPEND_COMPAT_EXP(sudo_asprintf)
|
|
||||||
fi
|
|
||||||
if test X"$ac_cv_func_vasprintf" = X"no"; then
|
|
||||||
SUDO_APPEND_COMPAT_EXP(sudo_vasprintf)
|
|
||||||
fi
|
fi
|
||||||
# We wrap OpenBSD's strtonum() to get translatable error strings.
|
# We wrap OpenBSD's strtonum() to get translatable error strings.
|
||||||
AC_CHECK_FUNCS(strtonum)
|
AC_CHECK_FUNCS(strtonum)
|
||||||
|
Reference in New Issue
Block a user