Closed Bug 955094 Opened 6 years ago Closed 6 years ago

Statically link libpurple into libpurplexpcom

Categories

(Chat Core :: General, defect)

x86
Other
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: florian, Assigned: florian)

References

Details

Attachments

(1 file, 2 obsolete files)

*** Original post on bio 1665 at 2012-08-24 17:36:00 UTC ***

*** Due to BzAPI limitations, the initial description is in comment 1 ***
Blocks: 955009
Attached patch WIP working on Mac (obsolete) — Splinter Review
*** Original post on bio 1665 as attmnt 1834 at 2012-08-24 17:36:00 UTC ***

This is required so that purplexpcom shipped in an add-on (bug 955009 (bio 1579)) can find libpurple.

The attached patch is a work in progress tested only on Mac.
It works; both for statically and dynamically linked protocol plugins.
Unfortunately, the solution used to make dynamically linked protocol plugins work hardcodes the path to the purplexpcom library inside each dynamically linked protocol plugin, so that won't work if purplexpcom is installed in the user's profile (ie if it's shipped as an add-on). It can still work if libpurple is shipped as a built-in add-on though :).
Attached patch WIP2 (obsolete) — Splinter Review
*** Original post on bio 1665 as attmnt 1837 at 2012-08-24 23:45:00 UTC ***

Now also works on Linux. And made the packaging change to no longer have a separate libpurple file.

Still need to test on Windows. Help wanted :).
Comment on attachment 8353593 [details] [diff] [review]
WIP working on Mac

*** Original change on bio 1665 attmnt 1834 at 2012-08-24 23:45:56 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8353593 - Attachment is obsolete: true
Attached patch Patch v3Splinter Review
*** Original post on bio 1665 as attmnt 1843 at 2012-08-25 23:35:00 UTC ***

I still haven't tested on Windows, but I think this is now ready to be tried on buildbot.
Comment on attachment 8353596 [details] [diff] [review]
WIP2

*** Original change on bio 1665 attmnt 1837 at 2012-08-25 23:35:13 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8353596 - Attachment is obsolete: true
*** Original post on bio 1665 at 2012-08-25 23:43:53 UTC ***

(In reply to comment #2)
> Created attachment 8353602 [details] [diff] [review] (bio-attmnt 1843) [details]
> Patch v3

In addition to statically linking libpurple into purplexpcom, this patch also removes all the WINCE references in all files that I've touched, and removes a clever hack from prpl-rules.mk that I added at the time we started linking prpls statically into libpurple and had to avoid object file name collisions on Mac that doesn't support static libraries correctly. This is no longer needed now that the Mozilla build system uses fakelib.
*** Original post on bio 1665 at 2012-08-26 00:09:31 UTC ***

Pushed attachment 8353602 [details] [diff] [review] (bio-attmnt 1843) as http://hg.instantbird.org/instantbird/rev/36dc3d4f1fa2

Leaving open until I see the results on buildbot.
Assignee: nobody → florian
Status: NEW → ASSIGNED
*** Original post on bio 1665 at 2012-08-26 13:49:26 UTC ***

https://hg.instantbird.org/instantbird/rev/3fc33f06d0a6 should fix the bustage on mac (the -lresolv was missing there after some cleanup in purplexpcom's makefile)

https://hg.instantbird.org/instantbird/rev/de41fb01efaf should fix teh bustage on non-debug linux builds (I tested only linux debug yesterday evening just before pushing.)
*** Original post on bio 1665 at 2012-08-27 13:28:29 UTC ***

Another bustage fix, this Windows debug builds (or more specifically for dynamically linked prpls on Windows) this time:
http://hg.instantbird.org/instantbird/rev/f51d5f7a2fd8

And now that we have a working nightly on each of the OSes, I'm resolving this as FIXED. \o/
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.3
Blocks: 955117
You need to log in before you can comment on or make changes to this bug.