microsoft / microsoft/vscode-makefile-tools

Fix configure infinite loop (corner cases) for autoconf projects caused by --dry-run+--always-make

Open
#508 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
242
Forks
78
PR merge metrics
No merged PRs in 30d

Description

          @drok , thank you for the additional info, very useful and we will consider it all. Lucky that indeed the most common cases can be addressed with the simpler approach. I will open a work item for the cases that we will not be able to address, including an eventual fork of make or even a contribution into the main one, if it will be desired.

Brainstorm: I am not familiar yet with automake to write myself or play much with it other than just run the usual commands on an existing framework. Can you see a solution where the Makefile Tools extension would use the original makefile of the project as source-input, we call automake ourselves to generate a new makefile which will be identical in content but at least can inherit the variables we need? Then the dry-run will be invoked on that newly generated makefile. I'll be thinking and maybe you can also add on top of this idea or let me know if you see this wouldn't help at all.
Or... We could also with some easy preprocess string manipulation change all the recursive MAKE invocations from the source-input makefiles so that all the destination-output makefiles automake (the one ran by us) have the right flags inserted at the end of the command... This is just brainstorm for future...

Originally posted by @andreeis in https://github.com/microsoft/vscode-makefile-tools/issues/500#issuecomment-1745347632

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is identified in the issue. Start by reproducing the configure infinite loop in an autoconf project with --dry-run and --always-make, then inspect how the Makefile Tools extension invokes make and handles recursive makefiles. Done means the corner cases no longer loop while existing configure behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
build-system, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.