Closed Bug 426330 Opened 17 years ago Closed 12 years ago

Include -Ldist/bin when expanding EXTRA_DSO_LIBS

Categories

(Firefox Build System :: General, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: ynvich, Unassigned)

Details

Attachments

(1 file)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b4) Gecko/2008031211 Firefox/3.0b4 Build Identifier: 20080401 trunk If I add custom shared lib in a xul application, ld fails. Reproducible: Always Steps to Reproduce: 1. Create custom shared lib with Mozilla build system. It'll be put into $(DIST)/lib automatically. 2. Add custom to EXTRA_DSO_LIBS before including rules.mk in target Makefile.in 3. Add $(EXTRA_DSO_LIBS) to EXTRA_DSO_LDOPTS after including rules.mk Actual Results: /usr/bin/ld: cannot find -lcustom Expected Results: successful linking Patch follows.
Attached patch proposed fixSplinter Review
This patch adds -L$(DIST)/bin to EXTRA_DSO_LDOPTS, but only on *nix and when EXTRA_DSO_LIBS is defined.
Attachment #312912 - Flags: review?
Attachment #312912 - Flags: review? → review?(benjamin)
Comment on attachment 312912 [details] [diff] [review] proposed fix I think you want to alter EXPAND_MOZLIBNAME, not EXTRA_DSO_LDOPTS, since there are other places where we can use EXPAND_MOZLIBNAME, such as LIBS for linking executables.
Attachment #312912 - Flags: review?(benjamin) → review-
(In reply to comment #2) > (From update of attachment 312912 [details] [diff] [review]) > I think you want to alter EXPAND_MOZLIBNAME, not EXTRA_DSO_LDOPTS, since there > are other places where we can use EXPAND_MOZLIBNAME, such as LIBS for linking > executables. My first guess was to add -L$(DIST)/lib to EXPAND_MOZLIBNAME, but it caused the build to break with a complaint: ... no rule to make target -L/path/to/dist/lib required by ... EXTRA_DSO_LIBS is full-text included in DSO_LDOPTS_DEPS var (rules.mk line 717). The attached version builds fine.
The convention has been to add $(LIBS_DIR) to EXTRA_DSO_LDOPTS before $(EXTRA_DSO_LIBS) in each makefile that uses EXTRA_DSO_LIBS. I don't recall the reasons (if any) for not doing that automatically. http://lxr.mozilla.org/mozilla/search?string=LIBS_DIR
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
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: