diff --git a/sys/conf/Makefile.alpha b/sys/conf/Makefile.alpha index 87559cee5ff..1798e889cc2 100644 --- a/sys/conf/Makefile.alpha +++ b/sys/conf/Makefile.alpha @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500002 +%VERSREQ= 500003 # Can be overridden by makeoptions or /etc/make.conf KERNEL?= kernel diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386 index 8bbb953659f..acf5001199e 100644 --- a/sys/conf/Makefile.i386 +++ b/sys/conf/Makefile.i386 @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500002 +%VERSREQ= 500003 # Can be overridden by makeoptions or /etc/make.conf KERNEL?= kernel diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98 index 2f52ccb0ef4..7eab4e69def 100644 --- a/sys/conf/Makefile.pc98 +++ b/sys/conf/Makefile.pc98 @@ -19,7 +19,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500002 +%VERSREQ= 500003 # Can be overridden by makeoptions or /etc/make.conf KERNEL?= kernel diff --git a/sys/conf/Makefile.powerpc b/sys/conf/Makefile.powerpc index 8bbb953659f..acf5001199e 100644 --- a/sys/conf/Makefile.powerpc +++ b/sys/conf/Makefile.powerpc @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500002 +%VERSREQ= 500003 # Can be overridden by makeoptions or /etc/make.conf KERNEL?= kernel diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h index 1779dc5a37b..3964211bdfc 100644 --- a/usr.sbin/config/config.h +++ b/usr.sbin/config/config.h @@ -131,6 +131,7 @@ struct opt_list { extern char *ident; extern char *hints; extern int do_trace; +extern int hintmode; char *get_word(FILE *); char *get_quoted_word(FILE *); diff --git a/usr.sbin/config/config.y b/usr.sbin/config/config.y index 0de3e913aa2..5d12b9debf3 100644 --- a/usr.sbin/config/config.y +++ b/usr.sbin/config/config.y @@ -75,6 +75,7 @@ static struct device *curp = 0; struct device *dtab; char *ident; char *hints; +int hintmode; int yyline; struct file_list *ftab; char errbuf[80]; @@ -142,7 +143,10 @@ Config_spec: MAXUSERS NUMBER = { maxusers = $2; } | HINTS ID - = { hints = $2; }; + = { + hints = $2; + hintmode = 1; + }; System_spec: CONFIG System_id System_parameter_list diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h index 7a398f5c712..a797e64d5dc 100644 --- a/usr.sbin/config/configvers.h +++ b/usr.sbin/config/configvers.h @@ -8,4 +8,4 @@ * * $FreeBSD$ */ -#define CONFIGVERS 500002 +#define CONFIGVERS 500003 diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c index 282378082ce..bd110ecc268 100644 --- a/usr.sbin/config/mkmakefile.c +++ b/usr.sbin/config/mkmakefile.c @@ -225,6 +225,13 @@ makefile(void) ofp = fopen(path("hints.c.new"), "w"); if (ofp == NULL) err(1, "%s", path("hints.c.new")); + if (hintmode == 0) { + snprintf(line, sizeof(line), "%s.hints", PREFIX); + ifp = fopen(line, "r"); + if (ifp) + hintmode = 2; + } + fprintf(ofp, "int hintmode = %d;\n", hintmode); fprintf(ofp, "char static_hints[] = {\n"); if (ifp) { while (fgets(line, BUFSIZ, ifp) != 0) {