Closed Bug 112255 Opened 23 years ago Closed 22 years ago

Make plugin SDK part of the build

Categories

(Core Graveyard :: Plug-ins, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.3beta

People

(Reporter: peterlubczynski-bugs, Assigned: peterl-bugs)

References

Details

(Keywords: topembed+, Whiteboard: [PL2:P2])

Attachments

(5 files, 5 obsolete files)

Not sure if this should go to plugins or build config. The plugin SDK needs to be incorporated into the Mozilla build system so we can generate the headers for each platform. If would also probably be good to build the samples when DISABLE_TESTS is not defined.
Why not to build them each cycle? They do not need to be exported anywhere but making sure we never break it looks attractive to me.
Attached patch Mac build script changes to create headers (obsolete) (deleted) — Splinter Review
With this patch, you can now build the Mac samples in the tree. This patch probably needs to be expaned to include a build flag and also automatically build the samples, but I think I'll wait until after Conrad's XML project changes at the start of next week.
Done for Windows. Now it is just a matter of triggering it by changing mozilla/modules/plugin/makefile.win: - DIRS= base\public base\src samples\default\windows + DIRS= base\public base\src samples\default\windows tools\sdk What kind of sr do we need for this? Serge, would you please look at Unix makefiles?
I'm on it.
Attached patch linux patch to build sdk samples (obsolete) (deleted) — Splinter Review
just uncomment #ENABLE_PLUGIN_SDK_SAMPLES = 1 in /mozilla/modules/plugin/Makefile.in and all samples will build in the tree automatically
nominating nsbeta1, mozilla1.0
Keywords: mozilla1.0, nsbeta1
Marking nsbeta1+. Moving to Mozilla1.0 per ADT triage.
Keywords: nsbeta1nsbeta1+
Target Milestone: --- → mozilla1.0
Reassigning to peterl, as on Window and Unix changing building scripts is trivial, so Mac should get most of attention.
Assignee: av → peterl
Attached patch patch to make SDK part of Mac build (obsolete) (deleted) — Splinter Review
With this patch, I can successfully complete both Carbon and Classic Mac builds with the SDK samples built. Please review. I think this is the last step needed to make the SDK part of the build. Are other platforms ready? Should one combined patch be made to land at the same time? Also, not sure if any of the sample code in the SDK has been reviewed. Perhaps a super reviewer could glance over it to give a blessing?
Attachment #59806 - Attachment is obsolete: true
Please use a MANIFEST file instead of all those MakeAlias calls.
Attached patch patch using MANIFESTs (deleted) — Splinter Review
I created MANIFEST_PluginSDK files in every module we need headers from. I had a little trouble with XPCOM as I needed some IDL'ed headers that are in dist:xpcom. Please comment/review.
Attachment #73995 - Attachment is obsolete: true
adding adt3 to status whiteboard as per discussion with beppe.
Whiteboard: [ADT3]
Hmm, now I see why perhaps you didn't use a manifest in the first place; the files you need are scattered throughout the tree, requiring a number of manifest files. However, I still think this solution is better, since folks making changes to the main MANIFEST files are more likely to see your plugin manifests, and maintain them. Having idl-generated headers in the plugin SDK seems somewhat risky to me. Shouldn't you include the idl, and force plugin authors to build the idl themselves?
In order to use the raw IDLs, I think I'd have to include extra projects to build them which is not currently done on other platforms. Maybe it could be cleaner if a Perl script located in the SDK could just be executed to do all the MakeAlias calls? Can that be done with our build system or stand-alone?
You could do that, but then you lose locality, so folks might remove headers that the plugin sdk needs, and omit to fix up the plugin SDK file copying.
Comment on attachment 74797 [details] [diff] [review] patch using MANIFESTs I would really prefer that we use a single script file rather than littering the tree with these additional MANIFEST files. Let's consider moving the script for building the SDK itself out of MozillaBuildList.pm.
Fair enough.
After talking this one over with several folks, this is not needed for the current release, this can wait. Removing ADT3 and marking as nsbeta1-
Keywords: nsbeta1+nsbeta1-
Whiteboard: [ADT3]
Target Milestone: mozilla1.0 → mozilla1.0.1
Attached file MacCarbonSDKd1.sit (deleted) —
For those who don't have the ability to generate their own Mozilla builds, MacCarbonSDKd1.sit is from my debug carbon build and contains the headers, converted xml to mcp projects, built xpt type libraries, and built samples.
Attached file WinSDKd1.zip (deleted) —
Here's an zip of my Windows built SDK directory from my debug build.
Attached file MacClassicSDKd1.sit (deleted) —
Here is a sample Mac SDK from the tree built under Classic
I applied the Linux patch, but I am not able to compile because it says that there is no Makefile.in in tools/sdk/common. I am using the 1.0RC2 source tree.
well, linux patch is kind of old and probably it needs some changes.
Priority: -- → P3
this needs to be reworked, will account for this in the next round of work
Priority: P3 → P2
Whiteboard: [PL2:P2]
Target Milestone: mozilla1.0.1 → mozilla1.1alpha
Target Milestone: mozilla1.1alpha → mozilla1.2beta
Keywords: topembed
Comment on attachment 61824 [details] [diff] [review] linux patch to build sdk samples I've checked in linux part of tools/sdk/samples
Attachment #61824 - Attachment is obsolete: true
Keywords: topembedtopembed+
Target Milestone: mozilla1.2beta → mozilla1.3alpha
Blocks: grouper
Target Milestone: mozilla1.3alpha → mozilla1.3beta
Attached patch patch v.1 (obsolete) (deleted) — Splinter Review
The Gecko SDK already contains all the NSPR and XPCOM headers and tools needed by plugin developers but does not contain NPAPI headers. The Gecko SDK is already part of the build and can be found in mozilla/dist/sdk and is packaged nightly for Win32 here: http://ftp.mozilla.org/pub/mozilla/nightly/latest/gecko-sdk-win32.zip This patch adds the needed headers to build NPAPI plugins to the Gecko SDK so plugin developers just need a single SDK to get the right headers, tools, and libs and then can use the sample project files. This patch also enables building the plugin sdk samples on Win32 when ENABLE_TESTS is defined.
Attachment #111005 - Flags: review?(seawood)
Comment on attachment 111005 [details] [diff] [review] patch v.1 r=cls
Attachment #111005 - Flags: review?(seawood) → review+
Attached patch patch v.2 (obsolete) (deleted) — Splinter Review
updated patch now builds tests on Linux and Darwin because it contains the fixes to the SDK from bug 186163 and bug 185776.
Attachment #111005 - Attachment is obsolete: true
Attachment #111581 - Flags: review?(seawood)
Comment on attachment 111581 [details] [diff] [review] patch v.2 r=cls
Attachment #111581 - Flags: review?(seawood) → review+
Attached patch patch v.3 (deleted) — Splinter Review
last patch had some problems when added to the build: can't copy files in export:: that don't exsist Here's a new patch that replaces the header file copy w/ REQUIRES lines
Attachment #111581 - Attachment is obsolete: true
Attachment #112229 - Flags: review?(seawood)
Comment on attachment 112229 [details] [diff] [review] patch v.3 r=cls
Attachment #112229 - Flags: review?(seawood) → review+
seeing approval to land last patch for mozilla 1.3b The risk is low as the plugin samples are only compiled if ENABLE_TESTS is defined.
Status: NEW → ASSIGNED
Flags: blocking1.3b?
Comment on attachment 112229 [details] [diff] [review] patch v.3 a=asa (on behalf of drivers) for checkin to 1.3beta. (you want "approval1.3b?" in the attachment not "blocking1.3b?" in the bug to request approval to land.
Attachment #112229 - Flags: approval1.3b+
Flags: blocking1.3b?
SDK now builds with ENABLE_TESTS and all needed headers are in the GeckoSDK, marking FIXED
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: