Closed Bug 806558 Opened 8 years ago Closed 8 years ago

$(XPIDL_MODULE) link -vs- xpt.py: add missing dep

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla19

People

(Reporter: joey, Assigned: joey)

Details

Attachments

(1 file, 2 obsolete files)

xpidl target rules in config/rules.mk that reference the $(XPIDL_LINK) macro should have dist/sdk/bin/xpt.py mentioned as a pre-requisite.

This will remove a processing order problem where xpcom/typelib/xpt/tools/ must be traversed before a makefile containing XPIDL_MODULE can be linked.

XPT_PY = $(filter %/xpt.py,$(XPIDL_LINK))

$(XPT_PY):
    $(MAKE) -C $(DEPTH)/xpcom/typelib/xpt/tools export


config/config.mk:
=================
XPIDL_LINK = $(PYTHON) $(LIBXUL_DIST)/sdk/bin/xpt.py link


xpcom/typelib/xpt/tools/xpt.py:
xpcom/typelib/xpt/tools/Makefile:
=================================
# Install xpt.py in SDK early
export::
    @$(MAKE) libs


config/rules.mk:
================
# no need to link together if XPIDLSRCS contains only XPIDL_MODULE
ifneq ($(XPIDL_MODULE).idl,$(strip $(XPIDLSRCS)))
$(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.xpt,$(XPIDLSRCS)) $(GLOBAL_DEPS)
	$(XPIDL_LINK) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.xpt,$(XPIDLSRCS))
endif # XPIDL_MODULE.xpt != XPIDLSRCS
Assignee: nobody → joey
Comment on attachment 676572 [details] [diff] [review]
add xpt.py as a dep die XPIDL_LINK use

Add xpt.py from the XPIDL_LINK command as a dependency for linking.  This will remove a traversal/ordering problem.
Attachment #676572 - Flags: review?(gps)
Comment on attachment 676572 [details] [diff] [review]
add xpt.py as a dep die XPIDL_LINK use

Review of attachment 676572 [details] [diff] [review]:
-----------------------------------------------------------------

Did you forget to refresh the patch? AFAICT the patch as uploaded doesn't actually do anything (it adds a new target and variable that aren't referenced anywhere).

::: config/rules.mk
@@ +1256,5 @@
>  
>  # no need to link together if XPIDLSRCS contains only XPIDL_MODULE
>  ifneq ($(XPIDL_MODULE).idl,$(strip $(XPIDLSRCS)))
> +XPT_PY = $(filter %/xpt.py,$(XPIDL_LINK))
> +xpidl-module-deps = \

This variable is not used AFAICT.
Attachment #676572 - Flags: review?(gps)
Attachment #676572 - Attachment is obsolete: true
Comment on attachment 676983 [details] [diff] [review]
add xpt.py as a dep die XPIDL_LINK use

Hrmph not sure what happened to that last patch.  Submitted by 'hg bzexport' and https://hg.mozilla.org/try/rev/bbce65fa0623 submitted from the same directory has all the edits.

Patch re-uploaded.
Attachment #676983 - Flags: review?(gps)
Still the same patch. Have you hg qrefresh'ed ?
Wait, this is build-system, not mozilla-central, isn't it?
Attachment #676983 - Attachment is obsolete: true
Attachment #676983 - Flags: review?(gps)
Comment on attachment 677818 [details] [diff] [review]
add xpt.py as a dep die XPIDL_LINK use

Let's try this again.

This patch is based on m-c.  The patch is a small subset of another xpidl/refactoring patch bound for b-s.

last patch was missing one edit that should have placed a dependency on xpt.py for the $(XPIDL_MODLE).xpt link.

A few more variable assignments were brought forward in this checkin to simplify the link line.
Attachment #677818 - Flags: review?(gps)
Attachment #677818 - Flags: review?(gps) → review?(mh+mozilla)
Attachment #677818 - Flags: review?(mh+mozilla) → review+
changeset: 113275:2fc346d2488a
https://hg.mozilla.org/mozilla-central/rev/2fc346d2488a
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.