From: noer AT cygnus DOT com (Geoffrey Noer) Subject: How to contribute to the gnu-win32 project 11 Dec 1996 21:05:36 -0800 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <199612120222.SAA11453.cygnus.gnu-win32@cirdan.cygnus.com> Content-Type: text Original-To: gnu-win32 AT cygnus DOT com Original-Cc: noer AT cygnus DOT com (Geoffrey Noer) X-Mailer: ELM [version 2.4 PL23] Content-Length: 3370 Original-Sender: owner-gnu-win32 AT cygnus DOT com Since a few people have asked how to fix problems they encounter, I thought I'd send a brief description of how to contribute fixes to the gnu-win32 project. How to rebuild the tools: ------------------------- With the cdksrc installed as /c/src, make a build directory /c/obj. Choose your install path, we'll use /c/install for this example. Follow these steps in bash to build the development tools: cd /c/obj /c/src/configure -v --prefix=/c/install \ --exec-prefix=/c/install/H-i386-cygwin32 > config.log 2>&1 make > make.log 2>&1 make -k install > install.log 2>&1 Because not all of the tools know how to deal with executables ending in .exe, you will need to copy files by hand into the install bin directory. (This needs to be fixed eventually). Note that you can follow these steps in another shell with the "tail -f" command. How to fix problems in the cygwin.dll: -------------------------------------- The code corresponding to the cygwin.dll is mostly in the winsup directory with additional code coming from newlib/libc and newlib/libm. If you modify code in winsup, you can rebuild your new cygwin.dll like this: cd /c/obj make all-target-winsup The new version of the dll will be /c/obj/winsup/new-cygwin.dll. Install it and see if your fix works. Note that I am only the maintainer of the winsup directory. That said, feel free to send me Cygwin32-related patches for other tools -- I'll probably know what you should do with them if I'm not in the position of making the change myself. Before you start modifying anything for real, you should probably send me mail describing what you want to do and how you want to do it so you don't waste time working on something we can't integrate. This also allows me to keep track of what's being worked on so efforts aren't duplicated. How to contribute your fix: --------------------------- If your change is going to be a significant one in terms of the size of your code changes, please check with me before starting. Depending on the circumstances, you may have to sign over the copyright ownership of your code changes to Cygnus or the FSF before we can include your contribution. Your employer may also have to send us a disclaimer stating that they have no claims to your contribution. I agree that this is annoying to deal with, but it is necessary for liability reasons. Since we have a standard form that you can fill out, sign, and send back, it doesn't end up being *that* much of a pain. Once you've finished making and testing your changes, you should send me a context diff. As an example, if you modified winsup/syscalls.cc and have the original source file around as /winsup/syscalls.cc-orig, you would do the following in bash: cd /c/src/winsup diff -c syscalls.cc-orig syscalls.cc >& syscalls.cc-patch Then send me the contents of syscalls.cc-patch in an email along with an explanation of what the change does. I'll test it and get back to you... What needs doing: ----------------- A fair amount of stuff. I'll try to post a list to the gnu-win32 web page soon. Please feel free to ask me any questions about any of this. I would love it if more people made useful contributions -- this can be one of the big advantages of free software; we all benefit from everyone else's work as well as our own... -- Geoffrey Noer noer AT cygnus DOT com - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".