On 12-06-25 12:33 PM, Dimitar Zhekov wrote:
On Fri, 22 Jun 2012 13:08:22 -0700 Matthew Brush mbrush@codebrainz.ca wrote:
Hi. Here is a small diff (for makefile.win32 and src/makefile.win32 only) that makes Geany 1.22 Win~1 compilation and installation independent of MSYS. Usage:
C> mingw32-make -f makefile.win32 C> mingw32-make -f makefile.win32 install
Tested with mingw, cmd/tcc. Should work with MSYS make too... but I had to use backslashes in the install: target, and am not sure if/how MSYS make escapes them. Win~1 fully supports forward slashes internally, but the command interpreters have only partial support.
Which command interpreters? AFAIK `cmd.exe` supports it fine, no?
Also, on the topic of improving the win32 makefiles, we should make sure that all paths are quoted because IIRC last time I tried to use them, stuff like this[1] made it blow up when my PREFIX was (for example), `C:/Documents and Settings/...` (ie. spaces in the filename).
All install: destination paths, yes. About the others - will anyone put gtk+ under "C:\Documents and Settings", or something like that?
IIRC mine was:
%HOMEPATH%/gtk = C:/Documents and Settings/Matthew Brush/gtk
But I could even imagine:
C:/Program Files/GTK
Or even:
G:/GTK Stuff
The truth to be said, all paths should be quoted under all OS-es, but nobody does that unless a path with spaces is really likely.
For anything on Windows, spaces in filenames is *really* likely :)
Out of curiosity/boredom I tried on Linux for Autotools to use
./configure --prefix=/tmp/Geany\ Stuff
And it almost went all the way though, except for I needed to add pair of unescaped quotes here: https://github.com/geany/geany/blob/master/plugins/Makefile.am#L106
And the final step of installing the geany binary failed with:
test -z "/tmp/Geany Stuff/bin" || /bin/mkdir -p "/tmp/Geany Stuff/bin" /bin/bash ../libtool --silent --mode=install /usr/bin/install -c geany '/tmp/Geany Stuff/bin' /usr/bin/install: target `Stuff/bin/geany' is not a directory make[2]: *** [install-binPROGRAMS] Error 1
Which seems strange since `/usr/bin/install -c geany '/tmp/Geany Stuff/bin'` on its own works just fine.
Anyway, that's the extent of how much I care about it, and I haven't used Windows in many months, so it doesn't really matter anyway to me. I just figured that it's not often we can fix bugs with 2 characters ("") so it might be worthwhile :)
Cheers, Matthew Brush