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•19 years ago
|
QA Contact: wtchang → build
Reporter | ||
Comment 11•17 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
•