[Geany-devel] Remove MSYS dependency of Geany on Win~1

Matthew Brush mbrush at xxxxx
Mon Jun 25 20:52:12 UTC 2012


On 12-06-25 12:33 PM, Dimitar Zhekov wrote:
> On Fri, 22 Jun 2012 13:08:22 -0700
> Matthew Brush <mbrush at 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




More information about the Devel mailing list