microsoft / microsoft/vscode-makefile-tools
Fix configure infinite loop (corner cases) for autoconf projects caused by --dry-run+--always-make
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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