mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-28 15:58:07 +00:00
Disable database verification unless debug enabled.
The database verification can take a long time. Only enable it if debug mode is enabled. If MAKE_MAINTAINER_MODE is set, it's also enabled by default.
This commit is contained in:
parent
353fcfdb30
commit
bee4d93a59
4 changed files with 59 additions and 42 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2013-06-21 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* main.c (verify_flag): Global variable to determine whether to
|
||||
verify the database or not.
|
||||
(decode_debug_flags): If debug mode, enable verify_flag.
|
||||
(main): If MAKE_MAINTAINTER_MODE, enable verify_flag, otherwise not.
|
||||
(die): Only verify the database if verify_flag is set.
|
||||
* file.c (enter_file): Don't check caching unless verify_flag.
|
||||
* makeint.h: Export verify_flag.
|
||||
|
||||
2013-05-27 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* variable.c (define_automatic_variables): Create a new variable
|
||||
|
|
2
file.c
2
file.c
|
@ -153,7 +153,7 @@ enter_file (const char *name)
|
|||
struct file file_key;
|
||||
|
||||
assert (*name != '\0');
|
||||
assert (strcache_iscached (name));
|
||||
assert (! verify_flag || strcache_iscached (name));
|
||||
|
||||
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
|
||||
if (*name != '.')
|
||||
|
|
87
main.c
87
main.c
|
@ -130,6 +130,10 @@ struct stringlist
|
|||
|
||||
/* The recognized command switches. */
|
||||
|
||||
/* Nonzero means do extra verification (that may slow things down). */
|
||||
|
||||
int verify_flag;
|
||||
|
||||
/* Nonzero means do not print commands to be executed (-s). */
|
||||
|
||||
int silent_flag;
|
||||
|
@ -649,49 +653,48 @@ decode_debug_flags (void)
|
|||
if (debug_flag)
|
||||
db_level = DB_ALL;
|
||||
|
||||
if (!db_flags)
|
||||
return;
|
||||
if (db_flags)
|
||||
for (pp=db_flags->list; *pp; ++pp)
|
||||
{
|
||||
const char *p = *pp;
|
||||
|
||||
for (pp=db_flags->list; *pp; ++pp)
|
||||
{
|
||||
const char *p = *pp;
|
||||
while (1)
|
||||
{
|
||||
switch (tolower (p[0]))
|
||||
{
|
||||
case 'a':
|
||||
db_level |= DB_ALL;
|
||||
break;
|
||||
case 'b':
|
||||
db_level |= DB_BASIC;
|
||||
break;
|
||||
case 'i':
|
||||
db_level |= DB_BASIC | DB_IMPLICIT;
|
||||
break;
|
||||
case 'j':
|
||||
db_level |= DB_JOBS;
|
||||
break;
|
||||
case 'm':
|
||||
db_level |= DB_BASIC | DB_MAKEFILES;
|
||||
break;
|
||||
case 'v':
|
||||
db_level |= DB_BASIC | DB_VERBOSE;
|
||||
break;
|
||||
default:
|
||||
fatal (NILF, _("unknown debug level specification '%s'"), p);
|
||||
}
|
||||
|
||||
while (1)
|
||||
{
|
||||
switch (tolower (p[0]))
|
||||
{
|
||||
case 'a':
|
||||
db_level |= DB_ALL;
|
||||
break;
|
||||
case 'b':
|
||||
db_level |= DB_BASIC;
|
||||
break;
|
||||
case 'i':
|
||||
db_level |= DB_BASIC | DB_IMPLICIT;
|
||||
break;
|
||||
case 'j':
|
||||
db_level |= DB_JOBS;
|
||||
break;
|
||||
case 'm':
|
||||
db_level |= DB_BASIC | DB_MAKEFILES;
|
||||
break;
|
||||
case 'v':
|
||||
db_level |= DB_BASIC | DB_VERBOSE;
|
||||
break;
|
||||
default:
|
||||
fatal (NILF, _("unknown debug level specification '%s'"), p);
|
||||
}
|
||||
while (*(++p) != '\0')
|
||||
if (*p == ',' || *p == ' ')
|
||||
break;
|
||||
|
||||
while (*(++p) != '\0')
|
||||
if (*p == ',' || *p == ' ')
|
||||
if (*p == '\0')
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (*p == '\0')
|
||||
break;
|
||||
|
||||
++p;
|
||||
}
|
||||
}
|
||||
if (db_level)
|
||||
verify_flag = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1048,7 +1051,10 @@ main (int argc, char **argv, char **envp)
|
|||
/* Needed for OS/2 */
|
||||
initialize_main (&argc, &argv);
|
||||
|
||||
reading_file = 0;
|
||||
#ifdef MAKE_MAINTAINER_MODE
|
||||
/* In maintainer mode we always enable verification. */
|
||||
verify_flag = 1;
|
||||
#endif
|
||||
|
||||
#if defined (__MSDOS__) && !defined (_POSIX_SOURCE)
|
||||
/* Request the most powerful version of 'system', to
|
||||
|
@ -3349,7 +3355,8 @@ die (int status)
|
|||
if (print_data_base_flag)
|
||||
print_data_base ();
|
||||
|
||||
verify_file_data_base ();
|
||||
if (verify_flag)
|
||||
verify_file_data_base ();
|
||||
|
||||
clean_jobserver (status);
|
||||
|
||||
|
|
|
@ -561,7 +561,7 @@ extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag;
|
|||
extern int print_version_flag, print_directory_flag, check_symlink_flag;
|
||||
extern int warn_undefined_variables_flag, trace_flag, posix_pedantic;
|
||||
extern int not_parallel, second_expansion, clock_skew_detected;
|
||||
extern int rebuilding_makefiles, one_shell, output_sync;
|
||||
extern int rebuilding_makefiles, one_shell, output_sync, verify_flag;
|
||||
|
||||
/* can we run commands via 'sh -c xxx' or must we use batch files? */
|
||||
extern int batch_mode_shell;
|
||||
|
|
Loading…
Reference in a new issue