This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Built XWin on mingw - with patches


On Thu, Nov 3, 2011 at 2:18 PM, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
>
> On 01/11/2011 20:39, Ryan Pavlik wrote:
>>
>> Not sure if this is the right forum for this, but it seemed more
>
> This is absolutely the correct list.
>
> Thanks very much for putting in the effort to do this.
>
>> specific and probably more appropriate than the overall xorg lists.
>> I wanted to build a native windows X server (essentially an
>> open-source Xming). I had to patch a number of the packages along the
>> way, but did eventually arrive at a build that worked. ?I looked at
>> and used a few of the Xming patches, but only generally went to those
>> when the naive approach didn't work.
>
> This may be a problem.
>
> The material on the Xming website is licensed under a Creative Commons license, which is not compatible with the X11 license. ?So, patches from the Xming website are not acceptable unless the author has agreed to re-license them appropriately.

I emailed him and he indicated that he already has a process worked
out for re-licensing a patch at a time to submit to you.

As such, I have re-worked my patch queue to remove all patches derived
from the Xming web site. It doesn't add everything that the previous
branch did, but it does build and start to work, and all these patches
are licensed like the X11 source itself as they are my work. ?I also
re-worked the commit messages and patches a bit, and added some
additional patches.

https://github.com/rpavlik/Xserver/tree/cleanpatches-1.11-branch

>>
>> I'm looking for some feedback on the patches so that they can get into
>> the main line of the projects.
>>
>> I built using mingw-cross-env, with my fork here that includes the
>> dependency packages: https://bitbucket.org/rpavlik/mingw-cross-env/
>> This builds everything except the xorg-server module (ignore the fact
>> there's an xorg-server makefile there - the patches aren't up to date
>> for that module.)
>>
>> Patches for these dependencies are as follows, in that mingw-cross-env
>> repo (These should all have commit messages from being exported from
>> git format-patch):
>> libX11-1-add-xwinsock-include, libX11-2-windows-threads,
>> libX11-3-MinGW-lacks-caddr_t
>> libXaw-1-need-winsock
>> libXfont-1-dummy-readlink
>> libxcb-1-fix-include-order-with-Xdmcp, libxcb-2-wsastartup - this last
>> one fixes running libX11 apps built for Windows, including the
>> integrated multi-window WM.
>> xkbcomp-1-Use-X11-Xwindows.h, xkbcomp-2-Look-in-windows-base-dir-too -
>> this last one supports the "RELOCATE_PROJECTROOT" option in the XWin
>> server - should still work fine in the normal case though.
>
> I've quickly looked over these patches and in general they look good, and I'd be happy to help get them merged upstream.
>
> A couple of general points I'd make though:
>
> It helps a great deal in reviewing if the comments state why the change is a good idea (e.g. what problem it fixes), rather than just describing the change which is made.

I've revised the commit messages for xorg-server accordingly -
hopefully these are better.

>
> I also noticed that a bit more care might be needed with the define you are using to enable platform specific code: WIN32 and __MINGW__ should not be used interchangeably. ?WIN32 will also be defined when building VcXsrv, and neither is defined on Cygwin.
>


Ah, true. I have gone through and improved this in my cleanpatches
branch, and have also added some convenience defines to make this
easier to get right - this is the last half of the commits.

>
> So, can you post your patches here, preferably in git-send-email format so we can review them in detail?
>

I wasn't sure if you wanted one email per patch, and 43 emails seemed
like an awful lot, so I've attached them all (git format-patch) to
this one. If you prefer, I can send them individually to this (or
another) list with git send-email.  These are just the xserver
patches, not the ones for other packages that I mentioned in the
mingw-cross-env repository.

Thanks!

Ryan
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

rpavlik@iastate.edu
http://academic.cleardefinition.com

Attachment: 0001-os-osinit.c-Exclude-new-signal-sigaction-code-on-non.patch
Description: Binary data

Attachment: 0002-os-xsha1.c-Preemptively-include-X11-Xwindows.h-on-Wi.patch
Description: Binary data

Attachment: 0003-os-utils.c-sigaction-is-POSIX.patch
Description: Binary data

Attachment: 0004-os-utils.c-Windows-non-cygwin-get-only-stubs-for-Loc.patch
Description: Binary data

Attachment: 0005-hw-xwin-XWin.exe.manifest-Modify-to-be-more-generic.patch
Description: Binary data

Attachment: 0006-hw-xwin-Makefile.am-Include-manifest-in-the-dist-tar.patch
Description: Binary data

Attachment: 0007-configure.ac-use-ws2_32-instead-of-winsock2-on-MinGW.patch
Description: Binary data

Attachment: 0008-os-osinit.c-no-getpgrp-and-friends-on-windows-except.patch
Description: Binary data

Attachment: 0009-os-utils.c-Use-winxp-or-better-for-Winsock-API.patch
Description: Binary data

Attachment: 0010-include-xwin-config.h.in-Add-RELOCATE_PROJECTROOT-to.patch
Description: Binary data

Attachment: 0011-hw-xwin-InitOutput.c-Only-reset-the-xkb-directory-if.patch
Description: Binary data

Attachment: 0012-hw-xwin-InitOutput.c-reformat-winGetBaseDir.patch
Description: Binary data

Attachment: 0013-hw-xwin-InitOutput.c-Remove-duplicated-code-for-sett.patch
Description: Binary data

Attachment: 0014-hw-xwin-winwindow.h-Add-missing-include-xwin-config..patch
Description: Binary data

Attachment: 0015-hw-xwin-winwindow.h-change-window-class-and-window-c.patch
Description: Binary data

Attachment: 0016-hw-xwin-winwindow.h-make-project-name-aware-of-non-C.patch
Description: Binary data

Attachment: 0017-dix-registry.c-non-cygwin-find-protocol.txt-in-reloc.patch
Description: Binary data

Attachment: 0018-hw-xwin-winrandr.c-Fix-function-pointer-mismatch.patch
Description: Binary data

Attachment: 0019-hw-xwin-winmultiwindowwm.c-fix-memory-leak.patch
Description: Binary data

Attachment: 0020-hw-xwin-winengine.c-clarify-if-statement-mixed-with-.patch
Description: Binary data

Attachment: 0021-hw-xwin-winnativegdi.c-Fix-potential-null-ptr-deref.patch
Description: Binary data

Attachment: 0022-hw-xwin-winpfbdd.c-fix-possible-null-ptr-deref.patch
Description: Binary data

Attachment: 0023-hw-xwin-winshadgdi.c-fix-double-free.patch
Description: Binary data

Attachment: 0024-hw-xwin-winwin32rootless.c-Fix-possible-null-ptr-der.patch
Description: Binary data

Attachment: 0025-hw-xwin-winwin32rootlesswindow.c-Fix-possible-null-p.patch
Description: Binary data

Attachment: 0026-hw-xwin-winwin32rootless.c-remove-empty-if0.patch
Description: Binary data

Attachment: 0027-dix-registry.c-Free-old-memory-upon-realloc-failure.patch
Description: Binary data

Attachment: 0028-os-access.c-Windows-non-cygwin-isn-t-just-mingw.patch
Description: Binary data

Attachment: 0029-os-utils.c-core-policy-needs-non-Windows-or-Cygwin.patch
Description: Binary data

Attachment: 0030-os-utils.c-All-Windows-gets-GetTimeInMillis.patch
Description: Binary data

Attachment: 0031-os-xdmcp.c-fix-_XSERVTransWSAStartup-warning.patch
Description: Binary data

Attachment: 0032-dix-dispatch.c-os-utils.c-Disable-smart-scheduler-fo.patch
Description: Binary data

Attachment: 0033-include-misc.h-Add-simplified-defines-for-windowsnes.patch
Description: Binary data

Attachment: 0034-xkb-xkbInit.c-use-new-Win32-defines.patch
Description: Binary data

Attachment: 0035-os-utils.c-New-win32-defines.patch
Description: Binary data

Attachment: 0036-miext-rootless-rootlessConfig.h-New-win32-defines.patch
Description: Binary data

Attachment: 0037-hw-xwin-winclipboard.h-Fix-duplicate-definition.patch
Description: Binary data

Attachment: 0038-dix-registry.c-New-win32-defines.patch
Description: Binary data

Attachment: 0039-dix-dispatch.c-New-win32-defines.patch
Description: Binary data

Attachment: 0040-os-utils.c-include-misc.h.patch
Description: Binary data

Attachment: 0041-configure.ac-mingw-doesn-t-have-setuid-either.patch
Description: Binary data

Attachment: 0042-configure.ac-auto-disable-MITSHM-if-we-lack-IPC.patch
Description: Binary data

Attachment: 0043-configure.ac-Fix-typo-in-extension-flag-help.patch
Description: Binary data

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]