Closed
Bug 52232
Opened 24 years ago
Closed 24 years ago
modutil: check in Berkeley yacc-generated files.
Categories
(NSS :: Tools, defect, P3)
Tracking
(Not tracked)
RESOLVED
FIXED
3.0.1
People
(Reporter: wtc, Assigned: wtc)
References
Details
Attachments
(2 files)
The reason why we can't use the installparse.c file that's checked in on Windows NT is that the file includes the header <values.h>, which doesn't exist on NT. The installparse.{h,c} that are checked in were generated with the yacc on Solaris. I found that the yacc's on different Unix flavors generated different output files, each of which may include some platform-dependent system headers. It seems that Berkeley yacc generates the most portable output files. So I suggest that we check in the installparse.{c,h} generated by Berkeley yacc 1.9 (latest release). Once we do this, the "FORCE" target in modutil/Makefile can also be removed, because the checked-in version of installparse.{c,h} will be good for both Unix and NT.
Assignee | ||
Comment 1•24 years ago
|
||
Bob, is this going to undo the TLS and SSL flags you added to modutil?
Assignee | ||
Comment 2•24 years ago
|
||
I found that revision 1.2 of installparse.{c,h} was generated with the yacc on Solaris 2.6, which inserted #include <values.h> that doesn't exist on Windows. Revision 1.1 of installparse.{c,h} was generated with the Berkeley yacc 1.4 we use at Netscape on NT (nstools/bin/yacc.exe). Both revisions 1.1 and 1.2 of installparse.{c,h} were generated from revision 1.1 of installparse.y, which has not changed since NSS went open source. I reverted installparse.{c,h} to their previous state. /cvsroot/mozilla/security/nss/cmd/modutil/installparse.c, new revision: 1.3 /cvsroot/mozilla/security/nss/cmd/modutil/installparse.h, new revision: 1.3
Assignee | ||
Comment 3•24 years ago
|
||
Assignee | ||
Comment 4•24 years ago
|
||
The proposed patch does two things. 1. The makefile rule to generate installparse.{c,h} was removed from the primary Makefile so that they don't accidentally get generated and checked in. 2. To generate installparse.{c,h} from a new version of installparse.y, do gmake -f rules.mk generate The patch added some comments to rules.mk explaining why Berkeley yacc should be used.
Comment 5•24 years ago
|
||
RE: TLS/SSL changes. Unless I goofed and didn't check my changes into the .y and .l files, this should not affect them. bob
Assignee | ||
Comment 6•24 years ago
|
||
Assignee | ||
Comment 7•24 years ago
|
||
Ian pointed out that gmake has implicit rules for yacc and lex that may accidentally generate installparse.c from installparse.y if installparse.y has a newer timestamp than installparse.c, hence the revised patch to cancel the implicit rules. I checked in the revised patch. /cvsroot/mozilla/security/nss/cmd/modutil/Makefile, new revision: 1.6 /cvsroot/mozilla/security/nss/cmd/modutil/rules.mk,new revision: 1.2 Now yacc is not required to build NSS. (Unless you want to modify installparse.y.)
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 9•24 years ago
|
||
I have merged the fix to the NSS_30_BRANCH by forcibly moving the NSS_30_BRANCH tag to point to the following revisions of these files: /cvsroot/mozilla/security/nss/cmd/modutil/installparse.c, revision: 1.3 /cvsroot/mozilla/security/nss/cmd/modutil/installparse.h, revision: 1.3 /cvsroot/mozilla/security/nss/cmd/modutil/Makefile, revision: 1.6 /cvsroot/mozilla/security/nss/cmd/modutil/rules.mk, revision: 1.2 Target fix version 3.0.1.
Target Milestone: --- → 3.0.1
You need to log in
before you can comment on or make changes to this bug.
Description
•