Commit bfd5ede7 authored by Rob Pike's avatar Rob Pike

add -P pkgdir option to 6l to have it look first in pkgdir for a package.

this allows gotest to find the locally built package when doing
	make
	gotest
without this option, one would have to say
	make install
	gotest
which kinda defeats the purpose

based on discussions with rsc.

R=ken,rsc
DELTA=12  (10 added, 1 deleted, 1 changed)
OCL=27606
CL=27606
parent 45ed7297
......@@ -288,6 +288,7 @@ EXTERN vlong INITDAT;
EXTERN int32 INITRND;
EXTERN vlong INITTEXT;
EXTERN char* INITENTRY; /* entry point */
EXTERN char* PKGDIR;
EXTERN Biobuf bso;
EXTERN int32 bsssize;
EXTERN int cbc;
......
......@@ -87,6 +87,7 @@ main(int argc, char *argv[])
INITDAT = -1;
INITRND = -1;
INITENTRY = 0;
PKGDIR = nil;
ARGBEGIN {
default:
......@@ -122,6 +123,11 @@ main(int argc, char *argv[])
if(a)
INITRND = atolwhex(a);
break;
case 'P':
a = ARGF();
if(a)
PKGDIR = a;
break;
case 'x': /* produce export table */
doexp = 1;
if(argv[1] != nil && argv[1][0] != '-' && !isobjfile(argv[1]))
......@@ -684,9 +690,10 @@ addlib(char *src, char *obj)
}
if(search) {
// try dot and then try goroot.
// going to have to do better (probably a command line flag) later.
// try dot, -P "pkgdir", and then goroot.
snprint(pname, sizeof pname, ".%s", name);
if(access(pname, AEXIST) < 0 && PKGDIR != nil)
snprint(pname, sizeof pname, "%s/%s", PKGDIR, name);
if(access(pname, AEXIST) < 0)
snprint(pname, sizeof pname, "%s/pkg/%s", goroot, name);
strcpy(name, pname);
......
......@@ -13,6 +13,7 @@ GC=${GC:-${O}g}
GL=${GL:-${O}l}
export GC GL
GC="$GC -I _obj"
GL="$GL -P _obj"
gofiles=""
loop=true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment