Closed Bug 111009 Opened 23 years ago Closed 23 years ago

Build system does not allow specification of output dir for components

Categories

(SeaMonkey :: Build Config, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla0.9.8

People

(Reporter: ccarlen, Assigned: netscape)

Details

This came from bug 70714:

On Linux, how do I do what the Windows makefile is doing here:

+install:: $(DLL)
+
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\Embed\components

I want this component to be built into Embed/components and *not* bin/components



------- Additional Comment #35 From Christopher Seawood 2001-08-08 14:10 -------

Right now, you can't.  Any component library built using the standard rules
installs the library in $(DIST)/bin automatically.

Otherwise you want:

install:: $(SHARED_LIBRARY)
        $(INSTALL) $(SHARED_LIBRARY) $(DIST)/Embed/components

We need this to build components which may only be built for embedding but not
for seamonkey.
Blocks: 70714
No longer blocks: 70714
Looking at windows' rules.mak, it looks as though it automatically puts the
component into $(DIST)\bin\components as well.  So for win32 compatibility, you
just need the rule that I posted earlier.  For the component to be not placed
into $(DIST)\bin\components, then either both build systems need to be revamped
to allow optional component path replacement or you can just add a command to
that rule to remove the component from $(DIST)\bin\components.   Btw, the
COMPONENTS_PATH rules have already landed for Unix from bug 91829.

http://lxr.mozilla.org/seamonkey/source/config/rules.mak#445
http://lxr.mozilla.org/seamonkey/source/config/rules.mk#390
Summary: Unix makefile system does not allow specification of output dir for components → Build system does not allow specification of output dir for components
OS: Linux → All
Priority: -- → P3
Hardware: Other → All
Target Milestone: --- → mozilla0.9.8
I just added NO_DIST_INSTALL to the build system for bug 84539.  If you set that
variable before including rules.mk, then the default ruleset will not instally
_anything_ to $(DIST) by default.  Then you will need to add the local rule to
install the component under Embed.  It doesn't look like the patch from bug
70714 ever got checked in so I don't have a patch for you.
Marking fixed as the build system has this capability now.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.