make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: setting SHELL variable


From: Jonathan Baccash
Subject: Re: setting SHELL variable
Date: Tue, 13 Sep 2005 13:56:17 -0700

Sorry for the delay.  It seems your patch fixes my problem.  Thanks. 
The new output is as expected:

Makefile:1: SHELL=C:/mks/mksnt/sh.exe
Makefile:5: SHELL=cmd.exe
'b'' is not recognized as an internal or external command,
operable program or batch file.
echo %SHELL%
cmd.exe
echo 'a|b'
'b'' is not recognized as an internal or external command,
operable program or batch file.
ake: *** [all] Error 255

> Please see if the two patches below fix your problem.
> 
>        * main.c (find_and_set_default_shell): If found a DOSish shell,
>        set sh_found and the value of default_shell, and report the
>        findings in debug mode.
> 
>        * job.c (construct_command_argv_internal): Check unixy_shell, not
>        no_default_sh_exe, to decide whether to use Unixy or DOSish
>        builtin commands.
> 
> --- main.c~1    2005-07-30 17:22:26.817500000 +0300
> +++ main.c      2005-07-30 18:02:58.395625000 +0300
> @@ -751,7 +751,11 @@ find_and_set_default_shell (char *token)
>           && !strcmpi (tokend - 4, "cmd.exe"))) {
>     batch_mode_shell = 1;
>     unixy_shell = 0;
> -    sh_found = 0;
> +    sprintf(sh_path, "%s", search_token);
> +    default_shell = xstrdup(w32ify(sh_path,0));
> +    DB (DB_VERBOSE,
> +        (_("find_and_set_shell setting default_shell = %s\n"), 
> default_shell));
> +    sh_found = 1;
>   } else if (!no_default_sh_exe &&
>              (token == NULL || !strcmp (search_token, default_shell))) {
>     /* no new information, path already set or known */
> 
> --- job.c~1     2005-07-30 16:57:16.755000000 +0300
> +++ job.c       2005-07-30 18:27:04.161250000 +0300
> @@ -2274,7 +2274,7 @@ construct_command_argv_internal (char *l
>  #ifdef WINDOWS32
>   int slow_flag = 0;
> 
> -  if (no_default_sh_exe) {
> +  if (!unixy_shell) {
>     sh_cmds = sh_cmds_dos;
>     sh_chars = sh_chars_dos;
>   } else {
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]