> Our assumption is that 'make' is using the wrong shell for some reason,
> i.e. it is told to use cmd.exe but uses the cygwin sh.exe instead.
I tested with different makefile:
First the current implementation used by hugin (SHELL variable quoted for shell):
SHELL="c:/windows/system32/cmd.exe"
all:
@echo ${SHELL}
make -f test.mk outputs:
SHELL is sh.exe
which is obviously wrong.
Removing the quotes (SHELL=c:/windows/system32/cmd.exe) results in correctly output:
SHELL is c:/windows/system32/cmd.exe
And now a last try with SHELL=c:\windows\system32\cmd.exe (with windows path separators and without quotes) gives the same output.
So gnu make processes the SHELL variable different than others
So I modified the makefile generation to the last variant (commited as efade34da4f6). Hopefully this fixes the issue of selecting the wrong shell.
> Alternatively it could be that Hugin is unintentionally running the
> cygwin make.exe instead of the shipped win32 make.exe, this would
> explain why it is incapable of finding cmd.exe.
This can not be happen. Hugin is always using make.exe in hugins path.
> Our assumption is that 'make' is using the wrong shell for some reason,
> i.e. it is told to use cmd.exe but uses the cygwin sh.exe instead.
I tested with different makefile: c:/windows/ system32/ cmd.exe"
First the current implementation used by hugin (SHELL variable quoted for shell):
SHELL="
all:
@echo ${SHELL}
make -f test.mk outputs:
SHELL is sh.exe
which is obviously wrong.
Removing the quotes (SHELL= c:/windows/ system32/ cmd.exe) results in correctly output: system32/ cmd.exe
SHELL is c:/windows/
And now a last try with SHELL=c: \windows\ system32\ cmd.exe (with windows path separators and without quotes) gives the same output.
So gnu make processes the SHELL variable different than others
So I modified the makefile generation to the last variant (commited as efade34da4f6). Hopefully this fixes the issue of selecting the wrong shell.
> Alternatively it could be that Hugin is unintentionally running the
> cygwin make.exe instead of the shipped win32 make.exe, this would
> explain why it is incapable of finding cmd.exe.
This can not be happen. Hugin is always using make.exe in hugins path.