Node: Request: support out of tree build

Created on 12 Jan 2017  路  7Comments  路  Source: nodejs/node

Currently, the configure script and Makefile assume they're being executed with the work tree as the current working directory. This isn't always the case, and supporting out-of-tree building is very useful; it supports automation, and it supports development, in the cases where the make targets change what is/is not installed.

I updated configure to support this, but failed to realize the project is not using Automake, and once I had, didn't attempt to update the Makefile. Certain tools (from the tools/ directory) are hardcoded in the Makefile rules.

build feature request

Most helpful comment

@nmschulte Did you tag the wrong issue in your last comment? The one you've referenced is about updates to CONTRIBUTING.md

All 7 comments

@nmschulte:
This isn't always the case

Out of curiosity. What is your use case where in-place builds doesn't work?

What is your use case where in-place builds doesn't work?

I am currently running up against issue npm/npm#10343, and I am building (and installing) multiple versions of node, and wishing to retain the build configuration/build. This is most trivially (and typically) done by building in a separate directory for each configuration.

@nmschulte Did you tag the wrong issue in your last comment? The one you've referenced is about updates to CONTRIBUTING.md

Did you tag the wrong issue in your last comment?

@sxa555, ah! I meant npm/npm#10343, indeed.

10751 was closed and there haven't been requests from the community or enthusiasm from maintainers so I'm going to go ahead and close this out.

P.S. configure can now be called from anywhere:
https://github.com/nodejs/node/blob/9f4bf4ca43bc40f68a05c87081a9bae8736515b1/configure#L38-L39
and using ninja instead of make allows building from out of tree, so this is essentially implemented.

If you're looking to keep the labels accurate, I guess I should have clarified what I meant by out-of-tree: the artifacts of the build would be pwd local, so you could build different commits / patches to different build directories from the same source repository / directory.

Was this page helpful?
0 / 5 - 0 ratings