Closed Bug 423129 Opened 16 years ago Closed 8 years ago

--with-libxul-sdk should make requirements lighter

Categories

(Firefox Build System :: General, defect)

Other
Other
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: glandium, Assigned: glandium)

Details

Attachments

(1 file, 1 obsolete file)

When building --with-libxul-sdk, the gnomevfs extension ends up being built while it is already in libxul...
'reporter' is also built in both. It should be in browser, but not in xulrunner (when browser is built with --with-libxul-sdk)

... and configure could use some MOZ_ENABLE_LIBXUL protections to make the requirements lighter.
(In reply to comment #1)
> 'reporter' is also built in both. It should be in browser, but not in xulrunner

AFAICS, it is not built by default on xulrunner.
right. my bad. I've built it with xul to share it with mail and suite.
It's my problem then.
Summary: --with-libxul-sdk should disable gnomevfs extension → --with-libxul-sdk should make requirements lighter
Attached patch patch (obsolete) — Splinter Review
This makes requirements lighter
Attachment #315487 - Flags: review?(benjamin)
Comment on attachment 315487 [details] [diff] [review]
patch

I don't think you can safely ifdef out the "select the default toolkit" bits: we have makefile ifdefs on the toolkit in browser/ code.
Attachment #315487 - Flags: review?(benjamin) → review-
Yes, the obvious difference being that the back and forward icons are not the gtk icons anymore with the patch applied. It seems MOZ_WIDGET_TOOLKIT is what is being checked for in various places in browser/ code. But is there a way to get that information from the sdk? If not, there should.
What about checking something like
perl -e 'while (<>) { /MOZ_DEFAULT_TOOLKIT *\"(.*)\"/ && print $1; }' $LIBXUL_SDK_DIR/include/mozilla-config.h
?
Oh, seems like the gnome shell service needs glib and gdk pixbuf... i wonder if it wouldn't be worth making this component only dependent on the mozilla platform... At least, it should be possible to create the wallpaper with nsPNGEncoder, I guess.
I don't think that's necessary: the browser has platform-specific components on all platforms; I don't think we need or want to make it completely agnostic.
Attached patch patch v2Splinter Review
Assignee: nobody → mh+mozilla
Attachment #315487 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #322390 - Flags: review?(benjamin)
Comment on attachment 322390 [details] [diff] [review]
patch v2

I'm not sure what the value is of this patch, and I'm worried about skipping large blocks of configure checks without understanding the consequences. But I'm going to punt this to Ted in any case.
Attachment #322390 - Flags: review?(benjamin) → review?(ted.mielczarek)
(In reply to comment #11)
> (From update of attachment 322390 [details] [diff] [review])
> I'm not sure what the value is of this patch, and I'm worried about skipping
> large blocks of configure checks without understanding the consequences. But
> I'm going to punt this to Ted in any case.

Ted, review please?
I've been waffling on this patch, which is why I haven't reviewed it. Sorry, should have been clearer about my thought process.

I'm not sure this will address the use cases properly. Certainly there will be people using the build system to build things like Fennec, which is purely XUL+JS, and doesn't need all the library checks here. At the same time, there are going to be people building more complicated applications with binary components, who may want some of these checks, and if we remove them then they can't use the libxul SDK, and have to build their own XULRunner. Maybe that's ok, but I'm not sure that that's the right tradeoff to make.
In ubuntu, we are already exporting the build system in the xul SDK to build some xulapps, namely fennec, prism, instantbird and xul-explorer. But the bad thing is that I had to add far too many build dependencies to those small xulapps. As I export configure.in, my plan was to patch it in each xulapp according to its requirement (using the patch system of the deb package).

I would prefer something more elegant, i.e., maybe perform all the tests in a non fatal way and decide at the end if the result is suitable for MOZ_BUILD_APP.
Preferably with a way to pass the list of requirements to configure.
That's not a bad idea, actually. Perhaps --with-libxul-sdk could make all library checks non-fatal, and provide a way for the project being built to error at the end of configure if certain libraries are missing. I'm not sure what the implementation difficulty of that would be, but it sounds like the right plan.
Attachment #322390 - Flags: review?(ted.mielczarek) → review-
Comment on attachment 322390 [details] [diff] [review]
patch v2

I don't think this is good enough, sorry.
--with-libxul-sdk was removed in bug 1038639
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: