Closed
Bug 299780
Opened 19 years ago
Closed 16 years ago
Make NSS build on WinCE.
Categories
(NSS :: Build, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 454120
People
(Reporter: dougt, Unassigned)
Details
Attachments
(3 files)
41 bytes,
patch
|
wtc
:
review-
|
Details | Diff | Splinter Review |
10.59 KB,
patch
|
Details | Diff | Splinter Review | |
2.94 KB,
patch
|
Details | Diff | Splinter Review |
Reporter | ||
Comment 1•19 years ago
|
||
WINCE5.1.mk simply points to WINCE.mk.
Reporter | ||
Comment 2•19 years ago
|
||
this, along with patch 188393, allows NSS to be built for WinCE.
Reporter | ||
Comment 3•19 years ago
|
||
Reporter | ||
Comment 4•19 years ago
|
||
The patches presented here are not as general as they could be and are intended to simply make NSS build when building Minimo not when building NSS standalone. I know this is a very low priority for the NSS engineers. I would like to land these patches on the main CLIENT branch some time. In the meantime, i created a branch to keep these changes on: NSS_WINCE_CLIENT_TAG
Comment 5•19 years ago
|
||
Comment on attachment 188393 [details] [diff] [review] WINCE5.1.mk Doug: you can avoid such trivial WINCEx.y.mk files by adding WINCE to the TARGET_OSES list in mozilla/security/coreconf/config.mk. OSes on that list only need a single <OS>.mk file, as opposed to one for each version of the OS.
Attachment #188393 -
Attachment is patch: true
Attachment #188393 -
Flags: review-
Comment 6•19 years ago
|
||
Comment on attachment 188395 [details] [diff] [review] patch to WINCE.mk. The comment in your version of WINCE.mk seems to imply that it is based on WIN32.mk rather than the current version of WINCE.mk. I need to know how you arrived at the file to help me review it. There are some white space changes (spaces to tabs), which may have been caused by the editor you used. In particular the patch for coreconf/ruleset.mk is all whitespace changes and should be removed. In coreconf/rules.mk, you have: > $(LIBRARY): $(OBJS) > @$(MAKE_OBJDIR) > rm -f $@ >+ifeq (,$(filter-out WINCE%,$(OS_TARGET))) >+ $(AR) $(OBJS) -OUT:$@ >+else > ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) > $(AR) $(subst /,\\,$(OBJS)) > else > $(AR) $(OBJS) > endif >+endif You should make -OUT:$@ part of AR so you don't need a special case for WINCE here. You don't define AR in WINCE.mk, so you are obviously passing that in on the command line from mozilla/security/manager/Makefile.in. I believe your other changes to coreconf/rules.mk can also be improved.
Comment 7•19 years ago
|
||
Doug, I think there's some background information missing here. I had NSS building and working with WinCE (Pocket PC 2002) in 2002. There were a LOT more changes than this needed to get it to build and work. So, if the attached patches are really all that are now needed, then I gather that either a) the WinCE SDK has changed *radically* since 2002, or b) you're not using it, but are instead using something else. (cygwin CE? :) What about WinCE on ARM CPUs? Previously, MS's compiler for ARM was named clarm.exe. Does "cl" now build for ARM CPUs too? PPC2002's SDK used only unicode (UCS2) not ASCII, in things like filenames, So there were lots of changes needed in places where filenames are used, such as in NSS_Init, and the handling of filenames strings for secmod.db. The SDK's headers didn't support most libc functions, and didn't offer "errno". I developed a BIG mod to dbm to get it to use NSPR for all file IO instead of libc file IO methods (which didn't exist on WinCE). It also used NSPR error codes rather then "errno", which also didn't exist. I also developed an implementation of errno (in NSS headers, IIRC) that used NSPR to provide the function that returns the address of errno in thread local storage. I don't see anything like that in these patches. Is there another patch somewhere, that implements lots of missing libc features, on which this patch depends? If so, pls provide info about that. Other comments: a) the patch that reformats comments in ruleset.mk (but makes no other changes) seems unnecessary. b) do you really want to change the block comment in wince.mk to say this is a makefile for NT and Win95? Or is the sense of this patch backwards? Finally, these changes, if accepted, need to land on the trunk, not merely on some browser branch.
Comment 8•19 years ago
|
||
Comment on attachment 188400 [details] [diff] [review] Code changes These changes look okay. Can you describe what they are? For example, "XXX header is available on current versions of WinCE" or "XXX feature in libSSL can be implemented on current versions of WinCE".
Reporter | ||
Comment 9•19 years ago
|
||
cygwin ce -- not really, but close :-> These changes require mozilla/build/wince/shunt/ -- it is a library which implements many of the missing APIs that Win32 has but WinCE doesn't. For example, CreateMutexA is implemented in terms of CreateMutexW. I do think that errno is broken as it doesn't use tls. As far as the compiler goes, when building mozilla minimo, i explictly set CXX, LD, AR, etc. So, no doubt the changes to ignore clarm aren't general. Maybe these changes are not needed if NSS already builds for WINCE. I couldn't get it to work out of the box.
Comment 10•19 years ago
|
||
Doug, there have been numerous attempts to build NSS and NSPR on WinCE in the past. At least one of them was succesful. Here are some relevant branch tags: NSS_WINCE_ALPHA_BRANCH WINCE_PORT_BRANCH WINCE_20020218_BRANCH WINCE_20020710_BRANCH
Updated•18 years ago
|
QA Contact: wtchang → build
Reporter | ||
Comment 11•16 years ago
|
||
not actively working on this, feel free to help yourself.
Assignee: doug.turner → nobody
OS: Windows XP → Windows Mobile 6 Standard
Reporter | ||
Updated•16 years ago
|
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•