Skip to content

Commit

Permalink
Add -s option to config.
Browse files Browse the repository at this point in the history
This option allows for specifying the directory to use as the location for
kernel source files. This option was ported from NetBSD.

GitHub Pull Request:   #18
Submitted by:          Steve Kiernan <stevek@juniper.net>, Simon Gerraty <sjg@juniper.net>
Obtained from:         Juniper Networks, Inc.
Reviewed by:           imp
Differential Revision: https://reviews.freebsd.org/D1722
Relnotes:              yes


git-svn-id: svn+ssh://svn.freebsd.org/base/head@277904 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
  • Loading branch information
rodrigc committed Jan 29, 2015
1 parent b774d18 commit 23da414
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
13 changes: 13 additions & 0 deletions usr.sbin/config/config.8
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
.Op Fl CVgp
.Op Fl I Ar path
.Op Fl d Ar destdir
.Op Fl s Ar srcdir
.Ar SYSTEM_NAME
.Nm
.Op Fl x Ar kernel
Expand Down Expand Up @@ -85,6 +86,10 @@ Note that
does not append
.Ar SYSTEM_NAME
to the directory given.
.It Fl s Ar srcdir
Use
.Ar srcdir
as the source directory, instead of the default one.
.It Fl m
Print the MACHINE and MACHINE_ARCH values for this
kernel and exit.
Expand Down Expand Up @@ -143,6 +148,14 @@ header files,
definitions of
the number of various devices that will be compiled into the system.
.Pp
The
.Nm
utility looks for kernel sources in the directory
.Pa ../..
or the one given with the
.Fl s
option.
.Pp
After running
.Nm ,
it is necessary to run
Expand Down
14 changes: 11 additions & 3 deletions usr.sbin/config/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ main(int argc, char **argv)
printmachine = 0;
kernfile = NULL;
SLIST_INIT(&includepath);
while ((ch = getopt(argc, argv, "CI:d:gmpVx:")) != -1)
while ((ch = getopt(argc, argv, "CI:d:gmpsVx:")) != -1)
switch (ch) {
case 'C':
filebased = 1;
Expand Down Expand Up @@ -144,6 +144,12 @@ main(int argc, char **argv)
case 'p':
profiling++;
break;
case 's':
if (*srcdir == '\0')
strlcpy(srcdir, optarg, sizeof(srcdir));
else
errx(EXIT_FAILURE, "src directory already set");
break;
case 'V':
printf("%d\n", CONFIGVERS);
exit(0);
Expand Down Expand Up @@ -180,7 +186,8 @@ main(int argc, char **argv)
len = strlen(destdir);
while (len > 1 && destdir[len - 1] == '/')
destdir[--len] = '\0';
get_srcdir();
if (*srcdir == '\0')
get_srcdir();
} else {
strlcpy(destdir, CDIR, sizeof(destdir));
strlcat(destdir, PREFIX, sizeof(destdir));
Expand Down Expand Up @@ -275,7 +282,8 @@ static void
usage(void)
{

fprintf(stderr, "usage: config [-CgmpV] [-d destdir] sysname\n");
fprintf(stderr,
"usage: config [-CgmpV] [-d destdir] [-s srcdir] sysname\n");
fprintf(stderr, " config -x kernel\n");
exit(EX_USAGE);
}
Expand Down

0 comments on commit 23da414

Please sign in to comment.