[Geany-devel] Remove MSYS dependency of Geany on Win~1
Nick Treleaven
nick.treleaven at xxxxx
Tue Jun 26 20:21:57 UTC 2012
On 26/06/2012 20:06, Dimitar Zhekov wrote:
>> MSYS does treat backslashes as escapes, and I think that is a worse
>> problem than cmd.exe interpreting forward slashes as command options, as
>> it can occur in more situations. I think we should use forward slashes
>> throughout.
>
> I expected something like that. OK, the "-b" version uses forward
> slashes only. It's stupid and less efficient - not that it matters on
> novadays machines. The command interpreters seem to tolerate forward
> slashes for an exact-match path.
I don't understand why you made these changes with a separate target for
each data subdirectory. This is not clean enough IMO.
BTW you missed data/templates/files. Wouldn't using a single xcopy be
more sensible to reduce bugs and maintenance?
>> Unfortunately I can't get your patch to apply against current Git, but
>> I'm not sure why (see attached file for errors). Can you/someone test if
>> it applies (maybe there's something weird happening on my Windows setup)?
>
> The original patch had CR+LF line endings, the attached "-a" version
> uses LF. But we should try "-b" anyway.
The problem turns out not to be line endings, that was just git warning
noise. The problem was something else, still don't know why.
I can now apply the -b version, but I had to add 'src/' to the second
file in the diff - are you manually concatenating diffs? Wouldn't it be
better to use 'git diff'?
> Note that using a cmd-style shell with SHELL defined to a *nix style
> shell fails, no matter if makefile.win32 is patched or not. That's a
> problem of GNU make under Win~1 trying to be too smart, and ending up
> with things like "CreateProcess (copy, ...) error 2". :)
I don't get the last part above, but I think this is by design:
"The program used as the shell is taken from the variable SHELL. If this
variable is not set in your makefile, the program /bin/sh is used as the
shell.
...
Unlike most variables, the variable SHELL is never set from the
environment. This is because the SHELL environment variable is used to
specify your personal choice of shell program for interactive use. It
would be very bad for personal choices like this to affect the
functioning of makefiles."
from
http://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html#Choosing-the-Shell
Also, I think you /can/ join command lines with a trailing backslash
(but your patch change is still better to have STLIBS anyway):
http://www.gnu.org/software/make/manual/html_node/Splitting-Lines.html
More information about the Devel
mailing list