-
Notifications
You must be signed in to change notification settings - Fork 78
WIP - Fix out of tree build #517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -446,17 +446,6 @@ export async function generateParseContent(progress: vscode.Progress<{}>, | |
| // Continue with the make dryrun invocation | ||
| let makeArgs: string[] = []; | ||
|
|
||
| // Prepend the target to the arguments given in the makefile.configurations object, | ||
| // unless we want to parse for the full set of available targets. | ||
| if (forTargets) { | ||
| makeArgs.push("all"); | ||
| } else { | ||
| let currentTarget: string | undefined = configuration.getCurrentTarget(); | ||
| if (currentTarget) { | ||
| makeArgs.push(currentTarget); | ||
| } | ||
| } | ||
|
|
||
| // Include all the make arguments defined in makefile.configurations.makeArgs | ||
| makeArgs = makeArgs.concat(configuration.getConfigurationMakeArgs()); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see why you moved makeArgs.push(currentAll) to later below... but what about "all" in case of "forTargets"? You did not do that intentionally? When "forTargets" is true, we need a slightly different set of args passed to "make" and if not correct we don't identify correctly all available targets. We need "all" in that case and with your change I don't see where we make sure we add "all".
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Recall that in #217, "all" does not work for target discovery. Removing "all" as an explicit target means make will work on the .DEFAULT_GOAL, whatever that happens to be (should be "all" in most or all autotools projects, but it can be something else, like "sub-make" in #217 This won't fix 217, because in that example the wrapper makefile has no ability to recurse, but it will avoid an unnecesary error ("target 'all' does not exist" in cases like #217). Adding 'all' to this command does nothing, as far as I can see. Was "all" added for some specific purpose, where the implicit target was not better? |
||
|
|
||
|
|
@@ -478,7 +467,11 @@ export async function generateParseContent(progress: vscode.Progress<{}>, | |
| makeArgs.push("--question"); | ||
| logger.messageNoCR("Generating targets information with command: "); | ||
| } else { | ||
| const makefilePath :string = configuration.getMakefilePath(); | ||
| makeArgs.push("--dry-run"); | ||
| makeArgs.push(`--assume-old=${makefilePath}`); | ||
| makeArgs.push(makefilePath); | ||
| makeArgs.push("AM_MAKEFLAGS=--assume-old=Makefile Makefile"); | ||
|
|
||
| // If this is not a clean configure, remove --always-make from the arguments list. | ||
| // We need to have --always-make in makefile.dryrunSwitches and remove it for not clean configure | ||
|
|
@@ -492,6 +485,9 @@ export async function generateParseContent(progress: vscode.Progress<{}>, | |
| } | ||
| }); | ||
|
|
||
| // Append the target to the arguments given in the makefile.configurations object | ||
| makeArgs.push(configuration.getCurrentTarget()); | ||
|
|
||
| logger.messageNoCR(`Generating ${getConfigureIsInBackground() ? "in the background a new " : ""}configuration cache with command: `); | ||
| } | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.