Closed
Bug 515748
Opened 15 years ago
Closed 15 years ago
differentiate between wince and winmo
Categories
(Firefox Build System :: General, defect)
Tracking
(fennec1.0a4-wm+)
RESOLVED
FIXED
mozilla1.9.3a1
Tracking | Status | |
---|---|---|
fennec | 1.0a4-wm+ | --- |
People
(Reporter: mozilla, Assigned: blassey)
References
Details
Attachments
(2 files, 1 obsolete file)
(deleted),
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
ted
:
review+
wtc
:
review+
|
Details | Diff | Splinter Review |
Afaik, right now there is only wince-arm in the build config platform list.
We'd like to differentiate between wince-arm and winmo-arm in name at the very least.
We can currently work around this because fennec is on winmo and firefox is on wince, but there have been rumblings about fennec on wince and renaming fennec to firefox. Beyond those things, putting 'wince' in the winmo binaries can be confusing.
Comment 1•15 years ago
|
||
I don't understand this bug. What's the "build config platform list"? Are you saying that in our configure script we should treat windows CE and windows mobile as different targets (which would end up meaning different OS_ARCH values in our build system)? That doesn't sound ideal. Windows mobile is in fact based on a Windows CE kernel.
Reporter | ||
Comment 2•15 years ago
|
||
Windows Mobile is based on Windows CE, but they're not compatible.
What we end up with is fennec.*.wince-arm.* and firefox.*.wince-arm.*, but they are built for two different platforms.
There are plans to rename fennec to firefox, at which point we will have firefox.*.wince-arm.* and firefox.*.wince-arm.*, which are difficult to differentiate.
Comment 3•15 years ago
|
||
So you're only worried about the filenames? That's easy enough to fix at packaging time.
Reporter | ||
Comment 4•15 years ago
|
||
That's my main concern, yes. Also, are things like nightly updates affected by this setting?
If there really isn't anything else that's affected other than the binary filename, I'm fine with just fixing that.
Comment 5•15 years ago
|
||
https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
Having WinCE and WinMo builds both claiming to be WINCE_arm-msvc for BUILD_TARGET could well be a problem. Relying on the BUILD_ID to be unique isn't that great, and OS_VERSION isn't used for anything in AUS2 except not updating deprecated releases.
I'm not sure that the internal product name for updates and other things should be Firefox, regardless of what the marketing/public name is. It's not the same "product" from a code perspective, which is what updates and similar things care about.
This also isn't just a wince-specific problem; all of http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/ presumably will clash with firefox builds if it's renamed to firefox and takes the firefox version number.
Reporter | ||
Comment 8•15 years ago
|
||
Does (In reply to comment #6)
> I'm not sure that the internal product name for updates and other things should
> be Firefox, regardless of what the marketing/public name is. It's not the same
> "product" from a code perspective, which is what updates and similar things
> care about.
Yeah. I'm not sure what this means specifically though.
Does it mean everything branding-wise says Firefox, but you're launching fennec.exe? That would be easiest for us, definitely, but might be confusing to the user.
However, agreed, having multiple binaries named Firefox that have completely different UIs can be confusing in general.
(In reply to comment #8)
> Does it mean everything branding-wise says Firefox, but you're launching
> fennec.exe? That would be easiest for us, definitely, but might be confusing
> to the user.
If it was purely up to me, this sounds like the best approach; confusing a little, sure, though the cases where the user will launch the actual binary is pretty rare. There also might well be places where it's valid to have both fennec and firefox installed (e.g. think of a netbook that can transform into a tablet), and we don't want them to clash.
Reporter | ||
Comment 10•15 years ago
|
||
Ok, per the Mobile meeting it sounds like the binary name will remain Fennec, which does simplify things.
There were rumblings at some point of putting Fennec on WinCE devices (as recently as comment #9 :), which would necessitate differentiating the two platforms (winmo vs wince).
Comment 11•15 years ago
|
||
(In reply to comment #9)
> (In reply to comment #8)
> > Does it mean everything branding-wise says Firefox, but you're launching
> > fennec.exe? That would be easiest for us, definitely, but might be confusing
> > to the user.
>
> If it was purely up to me, this sounds like the best approach; confusing a
> little, sure, though the cases where the user will launch the actual binary is
> pretty rare. There also might well be places where it's valid to have both
> fennec and firefox installed (e.g. think of a netbook that can transform into a
> tablet), and we don't want them to clash.
Yeah, and its already hard enough to simultaneously test/run various versions of firefox together [or even having then use the same application ids].
For example: Install FF 3.5.x with a FF 3.6 and FF 3.7. Since they are all named firefox.exe, the windows process manager thinks they are all the same program, and clicking on one icon from another that is loaded actually runs the loaded program, not the new one being clicked.
I would rather see Fennec.exe which the UI is actually different than Firefox.exe anyday. Microsoft certainly doesn't name all Office apps Office.exe. Its even harder for guys to debug code that is running multiple platforms when bugs come up without having ifdefs for each platform path.
FWIW, at a high level, it wouldn't hurt if we had something like current branch be FirefoxNext.exe and trunk always be something like MozillaCentral.exe so we can finally run/test them side by side. (which would be another bug)
Comment 12•15 years ago
|
||
> Yeah, and its already hard enough to simultaneously test/run various versions
> of firefox together [or even having then use the same application ids].
> For example: Install FF 3.5.x with a FF 3.6 and FF 3.7. Since they are all
> named firefox.exe, the windows process manager thinks they are all the same
> program, and clicking on one icon from another that is loaded actually runs the
> loaded program, not the new one being clicked.
That is the designed behaviour. You would need to launch firefox.exe on the command line specifying --no-remote and -P to get the different versions running simultaneously, each with their own profile (firefox.exe --no-remote -P)
Assignee | ||
Comment 13•15 years ago
|
||
Attachment #410419 -
Flags: review?(ted.mielczarek)
Comment 14•15 years ago
|
||
I really don't think this is the right approach. We're building for the same target, really, it's just a different UI choice at the top level (plus this is a lot of build logic change in multiple trees with NSPR etc).
Reporter | ||
Comment 15•15 years ago
|
||
I'm under the impression that
a) WinMo binaries will not install and work properly on WinCE netbooks
b) Fennec will eventually be on both WinMo and WinCE
c) if they both identify themselves as "wince" in both filename and update platform, there will be confusion and conflicts.
Am I wrong in any of these?
Does comment #14 still hold if the above are true?
Comment 16•15 years ago
|
||
I don't know the answers to all of those, but from the build system perspective it doesn't really matter: if we can have a very small number of touchpoints where we need to make changes, such as the update channel and final release filename, we should do that, rather than make widespread changes across the entire system.
Aki, those three points are correct -- it /may/ be possible to create a single binary that will work on both WinMo and WinCE, but would require work in the code on our end that we're probably not going to do any time soon.
So I think where we're at here is that the filenames/product names will be 'firefox' and 'fennec', and now we're just trying to figure out what to do with the platform. The toolchain is actually different; a different SDK is used, etc., even if it's the same compiler.
Comment 18•15 years ago
|
||
I proposed on IRC yesterday that we use "arm-wince" for WinCE and "arm-wince-winmo" for Windows Mobile. The platform triplets allow 4-part definitions, with the last two being kernel-os nowadays, as seen in "linux-gnu". This way we could (in configure) check common code in case statements like *-wince*, and specific code with -wince-winmo. We would need to patch config.sub, which we generally take as a pristine copy from upstream, but the maintainer is pretty good about taking patches.
Thoughts?
Comment 19•15 years ago
|
||
OS_ARCH in makefiles would still be WINCE?
Comment 20•15 years ago
|
||
I hadn't actually thought further than that. I got hung up on the configure bits.
Assignee | ||
Comment 21•15 years ago
|
||
(In reply to comment #19)
> OS_ARCH in makefiles would still be WINCE?
That seems reasonable to me, with OS_TARGET = WINMO. Unfortunately nspr is testing OS_TARGET for WINCE in a bunch of places where as the rest of the code uses OS_ARCH. I think ted is an nspr peer now, so the question to him is if we can switch nspr over to using OS_ARCH like the rest of the tree.
Comment 22•15 years ago
|
||
I don't think it's clear at all what the difference between OS_ARCH and OS_TARGET is. I've been using them mostly interchangeably if they exist at all, I think. The canonical difference between them is when you're building a cross-compiler, but that doesn't apply here.
Comment 23•15 years ago
|
||
Comment on attachment 410419 [details] [diff] [review]
patch
Not a thorough review, but for sanity:
1) config.{guess,sub} changes need to get upstreamed. There's a contact address in them, they take patches. I'm not sure how I feel about arm-winmo, I think I'd prefer arm-wince-winmo, as I said, and we could just set the existing WINCE_WINDOWS_MOBILE flag by checking for the presence of that.
2) Please split the NSPR changes into a separate patch. (And if you could provide a patch without 'configure' changes included for review that'd be really helpful.)
Attachment #410419 -
Flags: review?(ted.mielczarek) → review-
Assignee | ||
Comment 24•15 years ago
|
||
Attachment #410419 -
Attachment is obsolete: true
Attachment #416128 -
Flags: review?(ted.mielczarek)
Assignee | ||
Comment 25•15 years ago
|
||
Assignee: nobody → bugmail
Attachment #416129 -
Flags: review?(ted.mielczarek)
Comment 26•15 years ago
|
||
Comment on attachment 416128 [details] [diff] [review]
patch v.2
>diff --git a/build/autoconf/config.sub b/build/autoconf/config.sub
>--- a/build/autoconf/config.sub
>+++ b/build/autoconf/config.sub
These changes look sane, but can you submit them for inclusion upstream? (the email address is in the file)
>diff --git a/configure.in b/configure.in
>--- a/configure.in
>+++ b/configure.in
>@@ -252,7 +252,7 @@ if test "$COMPILE_ENVIRONMENT"; then
>
> dnl Do some special WinCE toolchain stuff
> case "$target" in
>-*wince)
>+*wince|*winmo)
>
> MOZ_ARG_WITH_STRING(wince-sdk,
> [ --with-wince-sdk=WINCE_SDK_DIR
>@@ -265,18 +265,6 @@ case "$target" in
> OGLES_SDK_DIR=$withval)
>
> dnl Default to Windows Mobile components enabled
Remove this (now-extraneous) comment.
>+ make OGLES_SDK_DIR="$OGLES_SDK_DIR" WINCE_SDK_DIR="$WINCE_SDK_DIR" TOPSRCDIR="$_topsrcdirwin" OBJDIR="$_pwd" target="$target" -C $srcdir/build/wince/tools
Can you add some line continuations to this overly-long line while you're here?
Looks fine otherwise, r=me with those changes.
Attachment #416128 -
Flags: review?(ted.mielczarek) → review+
Comment 27•15 years ago
|
||
Comment on attachment 416129 [details] [diff] [review]
nspr patch v.2
>diff --git a/nsprpub/build/autoconf/config.sub b/nsprpub/build/autoconf/config.sub
>--- a/nsprpub/build/autoconf/config.sub
>+++ b/nsprpub/build/autoconf/config.sub
This is just copying the top-level build/autoconf/config.sub to nsprpub, right? (So it's the newer upstream version with your additional changes?)
I can land this in NSPR CVS for you when I get a chance, and I can update the snapshot in mozilla-central. I don't know hat would be involved in getting it to 1.9.2, I know NSPR needs an actual versioned release (even if it's beta) for that.
Attachment #416129 -
Flags: review?(ted.mielczarek) → review+
Comment 28•15 years ago
|
||
I landed the NSPR patch in CVS:
Checking in configure;
/cvsroot/mozilla/nsprpub/configure,v <-- configure
new revision: 1.263; previous revision: 1.262
done
Checking in configure.in;
/cvsroot/mozilla/nsprpub/configure.in,v <-- configure.in
new revision: 1.267; previous revision: 1.266
done
Checking in build/autoconf/config.sub;
/cvsroot/mozilla/nsprpub/build/autoconf/config.sub,v <-- config.sub
new revision: 1.18; previous revision: 1.17
done
Checking in config/rules.mk;
/cvsroot/mozilla/nsprpub/config/rules.mk,v <-- rules.mk
new revision: 3.76; previous revision: 3.75
done
Checking in pr/src/Makefile.in;
/cvsroot/mozilla/nsprpub/pr/src/Makefile.in,v <-- Makefile.in
new revision: 1.55; previous revision: 1.54
done
Checking in pr/src/md/windows/Makefile.in;
/cvsroot/mozilla/nsprpub/pr/src/md/windows/Makefile.in,v <-- Makefile.in
new revision: 1.20; previous revision: 1.19
done
Checking in pr/src/md/windows/objs.mk;
/cvsroot/mozilla/nsprpub/pr/src/md/windows/objs.mk,v <-- objs.mk
new revision: 1.11; previous revision: 1.10
done
Comment 29•15 years ago
|
||
The NSPR update patch for mozilla-central is in bug 507024.
Updated•15 years ago
|
Attachment #416129 -
Flags: review+
Comment 30•15 years ago
|
||
Comment on attachment 416129 [details] [diff] [review]
nspr patch v.2
r=wtc.
Assignee | ||
Comment 31•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•15 years ago
|
Attachment #416128 -
Flags: approval1.9.2?
Comment 32•15 years ago
|
||
'make installer' is broken. Perhaps a "ifeq ($(OS_TARGET),WINCE)"-type test needs updating ?
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Updated•15 years ago
|
Status: REOPENED → RESOLVED
Closed: 15 years ago → 15 years ago
Resolution: --- → FIXED
Comment 33•15 years ago
|
||
"WinMo Tracemonkey nightly" is not building since the 11th with:
checking target system type... Invalid configuration `arm-wince-winmo': system `winmo' not recognized
and then:
checking whether the C compiler (: ) works... no
*** Fix above errors and then restart with "make -f client.mk build"
configure: error: installation or configuration problem: C compiler cannot create executables.
Comment 34•15 years ago
|
||
"WinMo Tracemonkey nightly" is not building since the 11th with:
checking target system type... Invalid configuration `arm-wince-winmo': system `winmo' not recognized
and then:
checking whether the C compiler (: ) works... no
*** Fix above errors and then restart with "make -f client.mk build"
configure: error: installation or configuration problem: C compiler cannot create executables.
Is it related to this bug?
Comment 35•15 years ago
|
||
Sorry for the double commenting (mid-air collision)
Comment 36•15 years ago
|
||
Has Tracemonkey merged from m-c since then? They might just be missing the fixes here.
Comment 37•15 years ago
|
||
E10s has the same problem, and we've definitely merged m-c: I think the mozconfig changes for m-c didn't land on the project branches.
Comment 38•15 years ago
|
||
For E10s: I've set a clobber to fix machines with existing builds that are failing to cope with the --target=arm-wince-winmo change. There's an error later in the compile for you to fix:
e:/builds/moz2_slave/winmo-electrolysis/electrolysis/xpcom/base/nsTraceRefcntImpl.cpp(334) : error C3861: '_getpid': identifier not found
For TraceMonkey: need to merge from m-c and clobber.
Comment 39•15 years ago
|
||
(In reply to comment #33)
> "WinMo Tracemonkey nightly" is not building since the 11th with:
> checking target system type... Invalid configuration `arm-wince-winmo': system
> `winmo' not recognized
> and then:
> checking whether the C compiler (: ) works... no
I filed Bug 535031 on this issue.
Updated•15 years ago
|
Flags: in-testsuite-
Target Milestone: --- → mozilla1.9.3a1
Version: Other Branch → Trunk
Assignee | ||
Comment 40•15 years ago
|
||
Vlad + Dolske, quite a few people have run into problems/confusion since this landed. I was thinking we should change the wince6 to arm-wince-wince6 and error out or at least warn in configure if arm-wince is specified. What do you guys think?
Comment 41•15 years ago
|
||
I don't feel strongly either way.
Comment 42•15 years ago
|
||
(In reply to comment #40)
> Vlad + Dolske, quite a few people have run into problems/confusion since this
> landed. I was thinking we should change the wince6 to arm-wince-wince6 and
> error out or at least warn in configure if arm-wince is specified. What do you
> guys think?
(In reply to comment #41)
> I don't feel strongly either way.
Is there anything left to do here?
OS: Mac OS X → Windows Mobile 6 Professional
Assignee | ||
Comment 43•15 years ago
|
||
This bug is fixed, I was suggesting extra work to help developers that should be done in a different bug.
Comment 44•15 years ago
|
||
Are the changes going to land on 1.9.2 ?
Assignee | ||
Comment 45•15 years ago
|
||
still waiting for approval from drivers
Updated•15 years ago
|
Attachment #416128 -
Flags: approval1.9.2? → approval1.9.2.2?
Comment 46•15 years ago
|
||
Comment on attachment 416128 [details] [diff] [review]
patch v.2
Moving approval request to the list that's getting triaged.
Assignee | ||
Updated•15 years ago
|
tracking-fennec: --- → 1.0a4-wm+
Comment 47•15 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/cac067156b24
WinMo bustage: Electrolysis doesn't have WinMo tinderboxes and we had a silent code race with bug 515748
Blocks: 549293
Comment 48•15 years ago
|
||
(In reply to comment #46)
> (From update of attachment 416128 [details] [diff] [review])
> Moving approval request to the list that's getting triaged.
nominating for 1.9.2, because it blocks bug#533963.
blocking1.9.2: --- → ?
Comment 49•15 years ago
|
||
OK, but bug 533963 doesn't block 1.9.2 yet - should it?
Comment 50•15 years ago
|
||
Comment on attachment 416128 [details] [diff] [review]
patch v.2
Clearing approval nomination until we can get an answer to the above question!
Attachment #416128 -
Flags: approval1.9.2.2?
Updated•15 years ago
|
blocking1.9.2: ? → ---
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•