[Pixman] [PATCH] Allow building on Windows with cmd.exe

Andrea Canciani ranma42 at gmail.com
Thu Jun 4 02:02:43 PDT 2015


The patch does not regress the mingw-based build (basically that used in
http://cairographics.org/end_to_end_build_for_win32/ )
I did not manage to get the build working on the cmd.exe shell. Do you have
any instructions (or possibly indications about what is the correct
environment) for that?

AFAICT the change still relies on a Unix-like make command.
A bigger (but possibly even more interesting) change would be an
NMAKE-based build, so that the command-line tools available in Visual
Studio are sufficient for building the whole project.

Andrea

On Mon, Jun 1, 2015 at 8:44 AM, Andrea Canciani <ranma42 at gmail.com> wrote:

> The ping was good and the changes make sense. Currently I am replying from
> the phone and I will not have access to my computer until the 3rd, but I am
> flagging this mail so that I will test and review the patch asap.
>
> Sorry for the delay
> Andrea
> On Jun 1, 2015 8:09 AM, "Siarhei Siamashka" <siarhei.siamashka at gmail.com>
> wrote:
>
>> On Wed, 22 Apr 2015 04:01:31 +0200
>> Simon Richter <Simon.Richter at hogyros.de> wrote:
>>
>> > This finds out whether the standard shell for make is cmd.exe, and
>> adjusts
>> > the build process accordingly.
>> > ---
>> >  Makefile.win32.common | 14 ++++++++++++--
>> >  1 file changed, 12 insertions(+), 2 deletions(-)
>>
>> Thanks for the patch.
>>
>> But it is a bit difficult for non-Windows folks to see if
>> it makes any sense or not. So it would be best if some other
>> Windows user could review and confirm that it works.
>>
>> I have added Andrea Canciani (the author of the win32 makefiles)
>> to CC.
>>
>> > diff --git a/Makefile.win32.common b/Makefile.win32.common
>> > index 777f94c..335886f 100644
>> > --- a/Makefile.win32.common
>> > +++ b/Makefile.win32.common
>> > @@ -1,5 +1,15 @@
>> >  LIBRARY = pixman-1
>> >
>> > +ifeq ($(shell echo ""),)
>> > +# POSIX style shell
>> > +mkdir_p = mkdir -p $1
>> > +rm = $(RM) $1
>> > +else
>> > +# DOS/Windows style shell
>> > +mkdir_p = if not exist $(subst /,\,$1) md $(subst /,\,$1)
>> > +rm = del $(subst /,\,$1)
>> > +endif
>> > +
>> >  CC = cl
>> >  LD = link
>> >  AR = lib
>> > @@ -47,10 +57,10 @@ endif
>> >
>> >
>> >  $(CFG_VAR)/%.obj: %.c $(libpixman_headers)
>> > -     @mkdir -p $(CFG_VAR)
>> > +     @$(call mkdir_p,$(@D))
>> >       @$(CC) -c $(PIXMAN_CFLAGS) -Fo"$@" $<
>> >
>> >  clean: inform
>> > -     @$(RM) $(CFG_VAR)/*.{exe,ilk,lib,obj,pdb} $(BUILT_SOURCES) ||
>> exit 0
>> > +     @-$(call rm,$(CFG_VAR)/*.exe $(CFG_VAR)/*.ilk $(CFG_VAR)/*.lib
>> $(CFG_VAR)/*.obj $(CFG_VAR)/*.pdb} $(BUILT_SOURCES))
>> >
>> >  .PHONY: inform clean
>>
>>
>>
>> --
>> Best regards,
>> Siarhei Siamashka
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20150604/d452fd61/attachment.html>


More information about the Pixman mailing list