Looking for saved searches? click on "Search Bugs" above.

make webdav code link with xpcom_glue instead of xpcom directly, convert to frozen linkage

VERIFIED FIXED

Status

Core Graveyard
WebDAV
VERIFIED FIXED
10 years ago
2 years ago

People

(Reporter: dbo, Assigned: dbo)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

(Assignee)

Description

10 years ago
Follow-up bug from bug 324440 comment #31.
(Assignee)

Comment 1

10 years ago
Created attachment 285465 [details] [diff] [review]
change to frozen linkage on trunk
Attachment #285465 - Flags: review?(shaver)
(Assignee)

Updated

10 years ago
Blocks: 324440

Updated

10 years ago
Assignee: shaver → daniel.boelzle

Updated

10 years ago
Status: NEW → ASSIGNED
Shaver's unlikely to be responsive for a while (have you seen his latest blog post? :), maybe there's someone else you could ask for review?
(Assignee)

Comment 3

10 years ago
Yes, I know; he's off at least until end of october. I think we could wait some time with this one (because calendar still releases from branch), but if e.g. dmose wants to jump in, it would of course be great. :)
(Assignee)

Updated

10 years ago
Attachment #285465 - Flags: review?(shaver) → review?(dmose)

Comment 4

10 years ago
Comment on attachment 285465 [details] [diff] [review]
change to frozen linkage on trunk

Looks good; r=dmose.  I don't think we ever had an explicit policy about whether sr is required in the WebDAV code, so I'll assert that it's not.
Attachment #285465 - Flags: review?(dmose) → review+
(Assignee)

Comment 5

10 years ago
Checked in on trunk.
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
This caused sunbird-trunk build to go red.
../../../staticlib/components/libwebdav.a(nsWebDAVService.o): In function `nsWebDAVService::PropfindInternal(nsIWebDAVResource*, unsigned int, char const**, int, nsIWebDAVOperationListener*, nsIInterfaceRequestor*, nsISupports*, int)':
/builds/tinderbox/Sunbird-Trunk/Linux_2.6.18-8.el5_Depend/mozilla/extensions/webdav/src/nsWebDAVService.cpp:420: undefined reference to `nsACString::RFindChar(char) const'

and a whole bunch of those errors.
http://tinderbox.mozilla.org/showlog.cgi?log=Sunbird/1196708040.1196711853.23287.gz
apparently, this mixes internal and external linkage.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Created attachment 291275 [details] [diff] [review]
patch for bustage [checked in]

This patch makes sunbird-static work on mac. But I couldn't test thunderbird+lightning yet.
Attachment #291275 - Flags: review?(daniel.boelzle)
An alternative would be some ifdef magic to set MOZILLA_INTERNAL_API when doing a static build. That would need to be combined with #include "nsStringGlue.h" instead of "nsStringApi.h"

Comment 9

10 years ago
r=dmose to check in to fix build bustage.  I think it's worth investigating to understand better what the right fix really is, however.  mvl's proposal in comment 8 seems like a good option.

Updated

10 years ago
Attachment #291275 - Flags: review?(daniel.boelzle) → review+

Comment 10

10 years ago
Created attachment 291466 [details] [diff] [review]
fix breakage

not sure if this is a clean fix but it seems to work somehow...
Comment on attachment 291275 [details] [diff] [review]
patch for bustage [checked in]

I checked in this patch. Trees are getting green.
I even think that this might be the right fix. It treats webdav as an extension, for all builds. I think that's what we want.
Attachment #291275 - Attachment description: patch for bustage → patch for bustage [checked in]
(Assignee)

Comment 12

10 years ago
Comment on attachment 291275 [details] [diff] [review]
patch for bustage [checked in]

mvl, it's not clear to me why your patch fixes trunk static builds. Could you please elaborate why it does?

>-#include "nsStringAPI.h"
>+#include "nsStringGlue.h"
Especially this confuses me since we don't want the non-frozen API to be included, so why not straight away include nsStringAPI.h?
Sorry, I forget to mention that I didn't check in that part of the patch, since it indeed does not fix anything. (it was part of my other attempt of fixing this)

The patch fixes the builds because it makes webdav always shared. It can't be linked in static, because it uses the external string api, while sunbird itself uses the internal. Trying to make webdav link staticly would mix the two api's.
(Assignee)

Comment 14

10 years ago
(In reply to comment #13)
> The patch fixes the builds because it makes webdav always shared. It can't be
> linked in static, because it uses the external string api, while sunbird itself
> uses the internal. Trying to make webdav link staticly would mix the two api's.
Yes makes sense. Yesterday ause and I were wondering about why we shouldn't take webdav dynamically, too.
But w.r.t. bug 324440, is it feasible at all to link a static (frozen only) sunbird?
(Assignee)

Comment 15

10 years ago
Static sunbird builds again => FIXED.
Status: REOPENED → RESOLVED
Last Resolved: 10 years ago10 years ago
Resolution: --- → FIXED
(Assignee)

Comment 16

10 years ago
verified on trunk
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.