From 974f260d1ee05b74b2da7f607c2455746a35b1eb Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 18 Oct 2010 16:20:04 +0000 Subject: [PATCH] configure can now take care of multiple directories at once --- src/configure.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/configure.c b/src/configure.c index 08aacb8..a5bd672 100644 --- a/src/configure.c +++ b/src/configure.c @@ -131,8 +131,7 @@ static int _configure(Prefs * prefs, char const * directory) return error_print(PACKAGE); cfgr.prefs = prefs; _configure_detect(&cfgr); - ret = _configure_load(prefs, directory, ca); - if(ret == 0) + if((ret = _configure_load(prefs, directory, ca)) == 0) { if(prefs->flags & PREFS_n) ret = _configure_do(&cfgr, ca); @@ -323,16 +322,16 @@ static int _usage(void) _prefs_init(&prefs); fprintf(stderr, "%s%s%s%s%s%s%s%s%s", -"Usage: configure [-nv][options...][directory]\n\ - -n Do not actually write Makefiles\n\ - -v Verbose mode\n\ - -b Binary files directory (default: \"", prefs.bindir, "\")\n\ - -d Destination prefix (default: \"\")\n\ - -i Include files directory (default: \"", prefs.includedir, "\")\n\ - -l Library files directory (default: \"", prefs.libdir, "\")\n\ - -O Force Operating System (default: auto-detected)\n\ - -p Installation directory prefix (default: \"", prefs.prefix, "\")\n\ - -S Warn about security risks\n"); +"Usage: configure [-nv][options...][directory...]\n" +" -n Do not actually write Makefiles\n" +" -v Verbose mode\n" +" -b Binary files directory (default: \"", prefs.bindir, "\")\n" +" -d Destination prefix (default: \"\")\n" +" -i Include files directory (default: \"", prefs.includedir, "\")\n" +" -l Library files directory (default: \"", prefs.libdir, "\")\n" +" -O Force Operating System (default: auto-detected)\n" +" -p Installation directory prefix (default: \"", prefs.prefix, "\")\n" +" -S Warn about security risks\n"); return 1; } @@ -340,6 +339,7 @@ static int _usage(void) /* main */ int main(int argc, char * argv[]) { + int ret = 0; Prefs prefs; int o; @@ -377,9 +377,11 @@ int main(int argc, char * argv[]) case '?': return _usage(); } - if(argc - optind > 1) - return _usage(); - return _configure(&prefs, argc - optind == 1 ? argv[argc - 1] : "."); + if(optind == argc) + return _configure(&prefs, "."); + for(; optind < argc; optind++) + ret |= _configure(&prefs, argv[optind]); + return (ret == 0) ? 0 : 2; } static void _prefs_init(Prefs * prefs)