Closed Bug 62855 Opened 25 years ago Closed 25 years ago

NSS build for OS/2

Categories

(NSS :: Libraries, defect, P1)

x86
OS/2
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jhpedemonte, Assigned: wtc)

References

Details

Attachments

(6 files)

File changes necessary to get NSS to build on the trunk for OS/2. This bug depends on bug 60912.
Depends on: 60912
Assigned the bug to relyea.
Assignee: wtc → relyea
Attached patch latest patchSplinter Review
In the above patch, I updates security/coreconf/OS2.mk and security/coreconf/rules.mk, in order to properly create DLLs (specifically nssckbi.dll, the root certs library).
Target Milestone: --- → 3.2
salsero suggested I reassign this bug to you. These are OS/2 changes to get NSS building on the tip. We'd really like to get them in. I'll even check them in if that is possible.
Assignee: relyea → wtc
Status: NEW → ASSIGNED
Priority: P3 → P1
A couple of comments: 1) Wan-Teh, do we still need PR_CALLBACK? If so do we have platforms that require the current tree order. I seem to remember PR_CALLBACK was to let win16 work. Does OS/2 really need to define it to allow callbacks across .DLL's? 2) Could one of the OS/2 team look at the new symbol restriction code used for nss3.dll ssl3.dll and smime3.dll (in mozilla/security/nss/lib/{nss,ssl,smime} and see if it's appropriate too make these work for OS/2 as well (there are changes too rules.mk in coreconf as well). The rest of the changes look good. I especially like the extra entropy in os2rand.c now. bob
OS/2 does still require PR_CALLBACK. Our compiler uses different calling convention for C++ vs. C and there is no way to override it. PR_CALLBACK is designed for any platform that needs to specify calling convention when executing callbacks. What do you mean by "current tree order"?
Javier: do I only need to review the last patch? (http://bugzilla.mozilla.org/showattachment.cgi?attach_id=23187)
Depends on: 67122
Wan-Teh Chang: Each patch supercedes the previous one. Would you rather I add a patch for each file?
Wan-Teh Chang: In response to your mail: > Another question: in mozilla/security/nss/lib/fortcrypt/swfort/swutl.c, > could you delete #include <sys/stat.h> > and see if you can still compile under VACPP? if i remove it, i get this error: error: "struct stat" is undefined > Similarly in mozilla/security/nss/lib/util/os2_rand.c, > do you need to include <sys/stat.h> to compile under > VACPP? also: error: "struct stat" is undefined > Finally, in mozilla/security/nss/cmd/selfserv/selfserv.c, > I'm curious as to what the <Process.h> header file is for. > Do you need it for getpid()? yes, needed for getpid()
Javier: one big patch file is fine. So <sys/stat.h> works for both EMX and VACPP?
yes, we've got one person building EMX, and he says that using <sys/stat.h> works for him, too. Also, I noticed in psm/server that there is now a psmmain.c and a main.cpp. However, trying to compile the two results in link errors since they both declare several of the same functions. If I remove psmmain.c from the manifest.mn, then it builds and runs fine. What is the purpose of psmmain.c?
OK, I've checked in the equivalent of your latest patch on both the tip and the NSS_3_1_BRANCH of NSS. Javier, could you try it out? You need to manually modify mozilla/client.mk and change "NSS_CLIENT_TAG" to "NSS_3_1_BRANCH".
Javier, regarding your question about psmmain.c and main.cpp in psm/server, please refer to Bug #64650, especially the comments from Jim Dunn at 2001-01-17 11:56.
Wan-Teh Chang, I changed rules.mk, adding a rule to handle the building of *.cpp files in order to properly handle bug #64650. Could you also check this in? Also, I am in the process of trying out the NSS_3_1_BRANCH. I'll let you know. Thanks
Javier, I checked in your patch for coreconf/rules.mk (the .cpp rule) on the tip and the NSS_3_1_BRANCH.
don't know how i missed it earlier, but I ran into a build break in ckfw/builtins. For OS/2, no import library was getting built, so I changed some of the coreconf files, as well as the Makefile in that directory. Seems to build fine now. This is using the NSS_3_1_BRANCH tag. Thanks.
Javier: for nssckbi.dll, we do not need to build the import library because nssckbi.dll is always loaded dynamically. Given this, is your patch still necessary?
I realize that, but i figured it would be best to fix the root problem in case the import library was ever needed in the future. If this it too much trouble for a library that isn't used, then I can just set IMPORT_LIBRARY = {null} and not worry about the changes to coreconf. Which do you recommend?
Javier: I figured out why your build failed in ckfw/builtins and checked in a fix on NSS_3_1_BRANCH. Your makefile rule to build import libraries will be needed by NSS 3.2, but for NSS_3_1_BRANCH we can do without it. Please update your NSS tree (cvs tag NSS_3_1_BRANCH) and try again. Thanks. I will check in your import library rule on the tip of NSS if I have time, as it will be needed when you port NSS 3.2 to OS/2.
Thanks, everything seems to work well (for now!)...
Thanks. I'm marking this bug as fixed. I will ask the PSM team to move the NSS_CLIENT_TAG on the modified files.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Target Milestone: 3.2 → 3.1.2
Version: unspecified → 3.1
By the way, I checked in your OS/2 import library makefile rule on the tip of NSS.
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: