configure: added --disable-get-easy-options

To allow disabling of the curl_easy_option APIs in a build.

Closes #5365
This commit is contained in:
Daniel Stenberg 2020-08-26 08:30:38 +02:00
parent 6ebe63fac2
commit ad691b191a
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 45 additions and 0 deletions

View File

@ -4830,6 +4830,24 @@ AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS shuffling]),
AC_MSG_RESULT(yes)
)
dnl ************************************************************
dnl disable the curl_easy_options API
dnl
AC_MSG_CHECKING([whether to support curl_easy_option*])
AC_ARG_ENABLE(get-easy-option,
AC_HELP_STRING([--enable-get-easy-options],[Enable curl_easy_options])
AC_HELP_STRING([--disable-get-easy-options],[Disable curl_easy_options]),
[ case "$enableval" in
no)
AC_MSG_RESULT(no)
AC_DEFINE(CURL_DISABLE_GETOPTIONS, 1, [to disable curl_easy_options])
;;
*) AC_MSG_RESULT(yes)
;;
esac ],
AC_MSG_RESULT(yes)
)
dnl ************************************************************
dnl switch on/off alt-svc
dnl

View File

@ -24,6 +24,11 @@ Disable the FILE protocol
Disable the FTP (and FTPS) protocol
## CURL_DISABLE_GETOPTIONS
Disable the `curl_easy_options` API calls that lets users get information
about existing options to `curl_easy_setopt`.
## CURL_DISABLE_GOPHER
Disable the GOPHER protocol.

View File

@ -24,6 +24,8 @@
#include "strcase.h"
#include "easyoptions.h"
#ifndef CURL_DISABLE_GETOPTIONS
/* Lookups easy options at runtime */
static struct curl_easyoption *lookup(const char *name, CURLoption id)
{
@ -71,3 +73,23 @@ curl_easy_option_next(const struct curl_easyoption *prev)
return NULL;
}
#else
const struct curl_easyoption *curl_easy_option_by_name(const char *name)
{
(void)name;
return NULL;
}
const struct curl_easyoption *curl_easy_option_by_id (CURLoption id)
{
(void)id;
return NULL;
}
const struct curl_easyoption *
curl_easy_option_next(const struct curl_easyoption *prev)
{
(void)prev;
return NULL;
}
#endif