diff --git a/config/rules.mk b/config/rules.mk index ea969bb3c704..b04191cd01b5 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -1504,6 +1504,29 @@ endif endif # XPIDLSRCS + + +# +# General rules for exporting idl files. +# +# WORK-AROUND ONLY, for mozilla/tools/module-deps/bootstrap.pl build. +# Bug to fix idl dependecy problems w/o this extra build pass is +# http://bugzilla.mozilla.org/show_bug.cgi?id=145777 +# +$(IDL_DIR):: + @if test ! -d $@; then echo Creating $@; rm -rf $@; $(NSINSTALL) -D $@; else true; fi + +export-idl:: $(XPIDLSRCS) $(SDK_XPIDLSRCS) $(IDL_DIR) +ifneq ($(XPIDLSRCS),) +ifndef NO_DIST_INSTALL + $(INSTALL) $(IFLAGS1) $^ +endif +endif + +$(LOOP_OVER_DIRS) + + + + ifneq ($(SDK_XPIDLSRCS),) # export .idl files to $(IDL_DIR) & $(SDK_IDL_DIR) export:: $(IDL_DIR) $(SDK_IDL_DIR) diff --git a/tools/module-deps/bootstrap.pl b/tools/module-deps/bootstrap.pl index 718cdda9008b..d8124946ea63 100755 --- a/tools/module-deps/bootstrap.pl +++ b/tools/module-deps/bootstrap.pl @@ -382,8 +382,8 @@ sub FindMakefiles { chdir("$basedir/mozilla"); # Export-phase first. Export IDL stuff first to avoid IDL order problems. - # system("$makecmd export-idl"); # testing, not part of make system yet. - system("$makecmd export"); # run_shell_command("$makecmd export"); + system("$makecmd export-idl"); # workaround for idl order problems. + system("$makecmd export"); # run_shell_command("$makecmd export"); # Libs-phase next. system("$makecmd libs"); # run_shell_command("$makecmd libs");