From 1d937d62c0aa3c0ef2e500510a44a02af56bd707 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 12 Feb 2004 14:46:12 +0000 Subject: [PATCH] support configure --disable-manual --- src/Makefile.am | 11 ++++++++++- src/config.h.in | 3 +++ src/main.c | 27 +++++++++++++-------------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 05c5d328b..369b40ca0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -53,6 +53,9 @@ README=$(top_srcdir)/docs/MANUAL MKHELP=$(top_srcdir)/src/mkhelp.pl HUGE=hugehelp.c +if USE_MANUAL +# Here are the stuff to create a built-in manual + if HAVE_LIBZ # This generates the hugehelp.c file in both uncompressed and compressed formats $(HUGE): $(README) $(MANPAGE) mkhelp.pl @@ -64,8 +67,14 @@ $(HUGE): $(README) $(MANPAGE) mkhelp.pl echo '#else' >> $(HUGE) $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE) echo '#endif /* HAVE_LIBZ */' >> $(HUGE) -else +else # HAVE_LIBZ # This generates the hugehelp.c file uncompressed only $(HUGE): $(README) $(MANPAGE) mkhelp.pl $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) > $(HUGE) endif + +else # USE_MANUAL +# built-in manual has been disabled, make a blank file +$(HUGE): + echo "/* explicitly disabled */" >$(HUGE) +endif diff --git a/src/config.h.in b/src/config.h.in index 07ca44cfb..a6b89f3ad 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -91,3 +91,6 @@ /* type to use in place of socklen_t if not defined */ #undef socklen_t + +/* Define to 1 if you want the built-in manual */ +#undef USE_MANUAL diff --git a/src/main.c b/src/main.c index 91372d64c..16c8e5f85 100644 --- a/src/main.c +++ b/src/main.c @@ -42,7 +42,9 @@ #include "writeout.h" #include "getpass.h" #include "homedir.h" +#ifdef USE_MANUAL #include "hugehelp.h" +#endif #ifdef USE_ENVIRONMENT #include "writeenv.h" #endif @@ -409,7 +411,6 @@ struct Configurable { char *userpwd; char *proxyuserpwd; char *proxy; - bool configread; bool proxytunnel; long conf; @@ -489,8 +490,8 @@ struct Configurable { /* global variable to hold info about libcurl */ static curl_version_info_data *curlinfo; -static int parseconfig(const char *filename, - struct Configurable *config); +static void parseconfig(const char *filename, + struct Configurable *config); static char *my_get_line(FILE *fp); static int create_dir_hierarchy(char *outfile); @@ -1069,7 +1070,6 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ char subletter=0; /* subletters can only occur on long options */ const char *parse=NULL; - int res; unsigned int j; time_t now; int hit=-1; @@ -1689,10 +1689,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ config->insecure_ok ^= TRUE; break; case 'K': /* parse config file */ - res = parseconfig(nextarg, config); - config->configread = TRUE; - if(res) - return res; + parseconfig(nextarg, config); break; case 'l': config->conf ^= CONF_FTPLISTONLY; /* only list the names of the FTP dir */ @@ -1713,8 +1710,13 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ return PARAM_BAD_NUMERIC; break; case 'M': /* M for manual, huge help */ +#ifdef USE_MANUAL hugehelp(); return PARAM_HELP_REQUESTED; +#else + helpf("built-in manual was disabled and build-time!\n"); + return PARAM_OPTION_UNKNOWN; +#endif case 'n': switch(subletter) { case 'o': /* CA info PEM file */ @@ -1989,8 +1991,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ } -static int parseconfig(const char *filename, - struct Configurable *config) +static void parseconfig(const char *filename, + struct Configurable *config) { int res; FILE *file; @@ -2163,7 +2165,6 @@ static int parseconfig(const char *filename, if(file != stdin) fclose(file); } - return 0; } static void go_sleep(long ms) @@ -2637,9 +2638,7 @@ operate(struct Configurable *config, int argc, char *argv[]) ; } else { - res = parseconfig(NULL, config); - if(res) - return res; + parseconfig(NULL, config); } if ((argc < 2) && !config->url_list) {