Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Apr 2000 18:51:16 -0400 (EDT)
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        hackers@FreeBSD.org
Subject:   commit MAKE_SHELL?
Message-ID:  <Pine.BSF.4.21.0004231837560.46547-200000@green.dyndns.org>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-333593351-956530276=:46547
Content-Type: TEXT/PLAIN; charset=US-ASCII

Some weeks ago, I made a small modification to make(1) so that it could
be built to use a different shell for its work.  It already seemed to
have the idea at least partially thought out and in the code, so it was
a naturally easy thing to finish implementing.  The code will remain
exactly the same unless you set the following (e.g. in make.conf):

MAKE_SHELL=ksh

Well, it's been sitting in my tree for a while now, and there have been
0 problems with it.  I use the ports and build worlds extensively, not
to mention having built everything which uses make(1) with this.  The
pdksh is more than sufficiently Bourne (or shall I say compatible?  It's
just a superset...) to support every single thing I've thrown at it.
Of course, it would be possible to use the real ksh with this patch, or
whatever ksh you want named "/bin/ksh".

I certainly don't mind adding more shells to the ${MAKE_SHELL} logic, but
so far have only done ksh because using pdksh as the ${MAKE_SHELL} does,
for me, result in about 10% faster make world time, and speeds port
building enormously (though port building speed has gotten faster with
some reason optimizations made to the Mk/bsd.port*.mk files).

I'd like to get public opinion on this change to see if many others will
find it useful.  Note that the change also allows you to use "/bin/csh"
with MAKE_SHELL=csh, but you might not want to shoot yourself in the foot
like that :)  Let me know if you find it useful to you; if people do find
it useful enough to have these make(1) speed increases, I'll commit it
to 5.0 and 4.0.  It should also apply to 3.4, but I haven't tried it yet,
as my machines run -CURRENT.

Let me know what kind of results you have :)  I'm interested in results
with the real Korn shell, zsh, or bash, as well; I'll specifically add
those to the logic if people have good results there.

Thanks for any feedback!

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'

--0-333593351-956530276=:46547
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="MAKE_SHELL.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.21.0004231851160.46547@green.dyndns.org>
Content-Description: 
Content-Disposition: attachment; filename="MAKE_SHELL.patch"

SW5kZXg6IE1ha2VmaWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg
ZmlsZTogL3VzcjIvbmN2cy9zcmMvdXNyLmJpbi9tYWtlL01ha2VmaWxlLHYN
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMw0KZGlmZiAtdSAtcjEuMTMgTWFr
ZWZpbGUNCi0tLSBNYWtlZmlsZQkxOTk5LzExLzE1IDE3OjA3OjQ1CTEuMTMN
CisrKyBNYWtlZmlsZQkyMDAwLzAyLzA0IDA1OjM0OjM3DQpAQCAtMTIsNCAr
MTIsMjAgQEANCiAJbHN0TWVtYmVyLmMgbHN0TmV4dC5jIGxzdE9wZW4uYyBs
c3RSZW1vdmUuYyBsc3RSZXBsYWNlLmMgbHN0U3VjYy5jDQogLlBBVEg6CSR7
LkNVUkRJUn0vbHN0LmxpYg0KIA0KKyMgU2V0IHRoZSBzaGVsbCB3aGljaCBt
YWtlKDEpIHVzZXMuICBCb3VybmUgaXMgdGhlIGRlZmF1bHQsIGJ1dCBhIGRl
Y2VudA0KKyMgS29ybiBzaGVsbCB3b3JrcyBmaW5lLCBhbmQgbXVjaCBmYXN0
ZXIuICBVc2luZyB0aGUgQyBzaGVsbCBmb3IgdGhpcw0KKyMgd2lsbCBhbG1v
c3QgY2VydGFpbmx5IGJyZWFrIGV2ZXJ5dGhpbmcsIGJ1dCBpdCdzIFVuaXgg
dHJhZGl0aW9uIHRvDQorIyBhbGxvdyB5b3UgdG8gc2hvb3QgeW91cnNlbGYg
aW4gdGhlIGZvb3QgaWYgeW91IHdhbnQgdG8gOi0pDQorDQorTUFLRV9TSEVM
TD89CXNoDQorLmlmICR7TUFLRV9TSEVMTH0gPT0gImNzaCINCitDRkxBR1Mr
PQktRERFRlNIRUxMPTANCisuZWxpZiAke01BS0VfU0hFTEx9ID09ICJzaCIN
CitDRkxBR1MrPQktRERFRlNIRUxMPTENCisuZWxpZiAke01BS0VfU0hFTEx9
ID09ICJrc2giDQorQ0ZMQUdTKz0JLURERUZTSEVMTD0yDQorLmVsc2UNCisu
ZXJyb3IgIk1BS0VfU0hFTEwgbXVzdCBiZSBzZXQgdG8gb25lIG9mIFwiY3No
XCIsIFwic2hcIiBvciBcImtzaFwiLiINCisuZW5kaWYNCisNCiAuaW5jbHVk
ZSA8YnNkLnByb2cubWs+DQpJbmRleDogY29uZmlnLmgNCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NClJDUyBmaWxlOiAvdXNyMi9uY3ZzL3NyYy91c3IuYmlu
L21ha2UvY29uZmlnLmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjkNCmRp
ZmYgLXUgLXIxLjkgY29uZmlnLmgNCi0tLSBjb25maWcuaAkxOTk5LzA5LzEw
IDIwOjUxOjU5CTEuOQ0KKysrIGNvbmZpZy5oCTIwMDAvMDIvMDQgMDU6MjM6
NTINCkBAIC0zOSw4ICszOSw2IEBADQogICogJEZyZWVCU0Q6IHNyYy91c3Iu
YmluL21ha2UvY29uZmlnLmgsdiAxLjkgMTk5OS8wOS8xMCAyMDo1MTo1OSBq
dWxpYW4gRXhwICQNCiAgKi8NCiANCi0jZGVmaW5lCURFRlNIRUxMCTEJCQkv
KiBCb3VybmUgc2hlbGwgKi8NCi0NCiAvKg0KICAqIERFRk1BWEpPQlMNCiAg
KiBERUZNQVhMT0NBTA0KSW5kZXg6IGpvYi5jDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQpSQ1MgZmlsZTogL3VzcjIvbmN2cy9zcmMvdXNyLmJpbi9tYWtl
L2pvYi5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNw0KZGlmZiAtdSAt
cjEuMTcgam9iLmMNCi0tLSBqb2IuYwkyMDAwLzAxLzE3IDA2OjQzOjQwCTEu
MTcNCisrKyBqb2IuYwkyMDAwLzAyLzAzIDIzOjI0OjM1DQpAQCAtMTkxLDYg
KzE5MSwxNiBAQA0KICAgICAidiIsICJlIiwNCiB9LA0KICAgICAvKg0KKyAg
ICAgKiBLU0ggZGVzY3JpcHRpb24uIFRoZSBLb3JuIHNoZWxsIGhhcyBhIHN1
cGVyc2V0IG9mDQorICAgICAqIHRoZSBCb3VybmUgc2hlbGwncyBmdW5jdGlv
bmFsaXR5Lg0KKyAgICAgKi8NCit7DQorICAgICJrc2giLA0KKyAgICBUUlVF
LCAic2V0IC0iLCAic2V0IC12IiwgInNldCAtIiwgNSwNCisgICAgVFJVRSwg
InNldCAtZSIsICJzZXQgK2UiLA0KKyAgICAidiIsICJlIiwNCit9LA0KKyAg
ICAvKg0KICAgICAgKiBVTktOT1dOLg0KICAgICAgKi8NCiB7DQpJbmRleDog
bWFpbi5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3Vz
cjIvbmN2cy9zcmMvdXNyLmJpbi9tYWtlL21haW4uYyx2DQpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMzUNCmRpZmYgLXUgLXIxLjM1IG1haW4uYw0KLS0tIG1h
aW4uYwkxOTk5LzExLzIzIDEwOjM1OjI0CTEuMzUNCisrKyBtYWluLmMJMjAw
MC8wMy8yNSAyMDowMjo1NA0KQEAgLTQ4Myw2ICs0ODMsMTMgQEANCiAJCQkJ
CS8qIGF2b2lkIGZhdWx0cyBvbiByZWFkLW9ubHkgc3RyaW5ncyAqLw0KIAlz
dGF0aWMgY2hhciBzeXNwYXRoW10gPSBfUEFUSF9ERUZTWVNQQVRIOw0KIA0K
KyNpZiBERUZTSEVMTCA9PSAyDQorCS8qDQorCSAqIFR1cm4gb2ZmIEVOViB0
byBtYWtlIGtzaCBoYXBwaWVyLg0KKwkgKi8NCisJdW5zZXRlbnYoIkVOViIp
Ow0KKyNlbmRpZg0KKw0KICNpZmRlZiBSTElNSVRfTk9GSUxFDQogCS8qDQog
CSAqIGdldCByaWQgb2YgcmVzb3VyY2UgbGltaXQgb24gZmlsZSBkZXNjcmlw
dG9ycw0KQEAgLTEwMDUsNyArMTAxMiwxMyBAQA0KIAkodm9pZCkgZHVwMihm
ZHNbMV0sIDEpOw0KIAkodm9pZCkgY2xvc2UoZmRzWzFdKTsNCiANCisjaWYg
REVGU0hFTEwgPT0gMQ0KIAkodm9pZCkgZXhlY3YoIi9iaW4vc2giLCBhcmdz
KTsNCisjZWxpZiBERUZTSEVMTCA9PSAyDQorCSh2b2lkKSBleGVjdigiL2Jp
bi9rc2giLCBhcmdzKTsNCisjZWxzZQ0KKyNlcnJvciAiREVGU0hFTEwgbXVz
dCBiZSAxIG9yIDIuIg0KKyNlbmRpZg0KIAlfZXhpdCgxKTsNCiAJLypOT1RS
RUFDSEVEKi8NCiANCg==
--0-333593351-956530276=:46547--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0004231837560.46547-200000>