Closed Bug 299669 Opened 20 years ago Closed 20 years ago

Allow mozilla to build with libIDL-2 for non-gtk2 backends

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bastiaan, Assigned: bastiaan)

Details

Attachments

(1 file, 3 obsolete files)

Currently, configure fails when libIDL (version 1.x) is not found on backends other than gtk2. Bug 201836 comment #19 states that "gtk1 builds requires libIDL1", but I believe that is not (or not anymore) the case. I've successfully built and run a gtk1 build with the upcoming patch.
Attached patch fix (obsolete) — Splinter Review
Attachment #188238 - Flags: review?(benjamin)
This patch also makes the build system prefer libIDL2 over libIDL, but I presume that's not a problem.
so, question: did you verify that this pkgconfig syntax still allows building if only libIDL 1 is present? Also: should we maybe prefer libIDL 1 for gtk1 builds?
Attached patch switch things around (obsolete) — Splinter Review
(In reply to comment #3) > so, question: did you verify that this pkgconfig syntax still allows building > if only libIDL 1 is present? As a matter of fact, it doesn't. This patch allows that, though; I've also tested this patch with the qt backend (for libIDL2, that is). > Also: should we maybe prefer libIDL 1 for gtk1 builds? The new patch prefers libIDL1 if it is available.
Attachment #188238 - Attachment is obsolete: true
Attachment #188256 - Flags: review?(benjamin)
Attachment #188238 - Flags: review?(benjamin)
> As a matter of fact, it doesn't. (I think adding a new argument containg [] to the PKG_CHECK_MODULES would've worked for that part)
I've been asked about this before. Because configure was so careful about this, I assumed that there was a build-time requirement to use libIDL-2 when using gtk+-2. This patch allows a gtk+-2 and libIDL-1 combination, and in fact prefers it over gtk+-2 with libIDL-2. Is that OK?
(In reply to comment #6) > This patch allows a gtk+-2 and libIDL-1 combination, and in fact > prefers it over gtk+-2 with libIDL-2. Is that OK? A combination of libIDL1 and gtk2 worked fine when I tested the build.
Comment on attachment 188256 [details] [diff] [review] switch things around The combination may work fine but people will still expect to use libIDL-2/glib2 when buiding against gtk2 (see bug 156593). We should check for a matching set (libIDL-1/gtk1 & libIDL-2/gtk2) first, then fallback to whatever's available.
Attachment #188256 - Flags: review?(benjamin) → review-
Attached patch address comment (obsolete) — Splinter Review
Attachment #188256 - Attachment is obsolete: true
Attachment #188309 - Flags: review?(cls)
You've got four checks where three would do, and if you're using gtk1 or gtk2 but don't have any libIDL, you might run three of them when you only need two. Why split it out like that? How about this? if gtk1 selected check for libIDL-1 if libIDL not found check for libIDL-2 if both libIDL not found and gtk1 not selected check for libIDL-1 Reverse the 1s and 2s to prefer libIDL-1 when gtk has no influence, to mimic the present behavior exactly but provide a fallback. Also, a nit: if you want to set an undefined _LIBIDL_FOUND to empty, which you don't need to do, do it outside of the tests instead of in the if-false block of a test.
(In reply to comment #10) > You've got four checks where three would do, and if you're using gtk1 or gtk2 > but don't have any libIDL, you might run three of them when you only need two. > Why split it out like that? How about this? [..] I didn't do it that way, because the AM_PATH_LIBIDL macro doesn't seem to have a nice error/abort like PKG_CHECK_MODULES. > Also, a nit: if you want to set an undefined _LIBIDL_FOUND to empty, which you > don't need to do, do it outside of the tests instead of in the if-false block of > a test. That was needed because adding a new argument with [], as biesi suggested in comment #5 doesn't seem to be effective.
Comment on attachment 188309 [details] [diff] [review] address comment Trivial nit that can be fixed upon checkin: use 4 space indention.
Attachment #188309 - Flags: review?(cls)
Attachment #188309 - Flags: review+
Attachment #188309 - Flags: approval1.8b3?
Comment on attachment 188309 [details] [diff] [review] address comment a=bsmedberg with spacing fixed
Attachment #188309 - Flags: approval1.8b3? → approval1.8b3+
Fixes indentation.
Attachment #188309 - Attachment is obsolete: true
Checking in configure.in; /cvsroot/mozilla/configure.in,v <-- configure.in new revision: 1.1488; previous revision: 1.1487 done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
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: