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

Nick Treleaven nick.treleaven at xxxxx
Fri Jun 22 16:23:26 UTC 2012


On 19/06/2012 22:25, Matthew Brush wrote:
> On 12-06-19 10:12 AM, Dimitar Zhekov wrote:
>> Hi,
>>
>> Now that 1.22 is out, how about removing the MSYS build dependency
>> under Win~1? I tried to compile Geany with the default MinGW make,
>> without any MSYS, and there were some easily fixable problems:
>>
>> cd foo&& $(MAKE) -f makefile.win32&& cd ..\..
>>
>> does not work, probably requires some sh. But if we depend on GNU make
>> (which seems to be the case, since we're using ifdef/else/endif), it's
>> easier and shorter to:
>>
>> $(MAKE) -C foo -f makefile.win32

OK.

>> Linking does not work, because the stock make supports \ only for
>> variables, not commands. But that's even easier to fix:

OK.

>> There is also some inconsistency: CP = copy, but "cp -r" and "cp" at
>> the end of makefile. The install target can be rewritten as several
>> -$(MD) and non-recursive $(CP) commands, and no MSYS will be required.

Sigh. Is there no equivalent of 'cp -r' on Windows?

>> RFC. If we consider this worthy, I can make the required changes.

Sounds good.

> I have started working on this before:
> https://gist.github.com/1494603
>
> It builds but isn't perfect, like it doesn't do the icon/resource stuff,
> and doesn't use win32-conf.h properly, but it might be useful for a
> starting point. It's what I use for testing Geany on Windows.

I did respond to this before (maybe with a laundry list of suggestions), 
but off the top of my head, the main ones for me are:

* it doesn't show the commands, so devs won't notice e.g if CFLAGS 
aren't correctly set
* no support for building from MSYS

I haven't actually tested the makefile, but the idea of a single file is 
appealing, e.g. we can avoid duplication for GTK_CFLAGS, etc.

On 20/06/2012 19:04, Dimitar Zhekov wrote:
 > That looks like an entirely new makefile. I was able to compile Geany
 > with small (msys compatible) changes in the existing makefiles, and
 > setting MAKE to mingw32-make in localwin32.mk...

Yes, probably we should set MAKE=mingw32-make instead of 'make'.




More information about the Devel mailing list