On 09/07/09 16:35, mobi phil wrote: > Hello, > I successfully built vim72 on windows mobile, and would be happy if I > would be able to propagate my changes upstream. Before doing that I > still need to fix some small bugs, and prepare a decent status of files. > However first I have a few questions/comments: > 1. vim for windows mobile is built with cegcc > 2. the configure should be updated for this platform (some extra macros > need to be added) > 3. the os_mswin, gui_w32 etc family of files should flow into the linux > distro > All the changes in the os_mswin and family are protected by the WINCE > macro, so they should not brake the normal windows build. > I would not put any effort in preparing a "checkin" unless I get green > light. > Any opinion/comment?
I see you've already got Bram's, who has the final say about what goes or doesn't go into "mainstream" Vim, but he replied in very few words, so I'll allow myself a somewhat longer comment. Note that the preferred posting disposition on these lists is bottom-posting: put your reply below what you're replying to, and cut away what is not relevant to your reply. As Bram said, Vim versions for additional platforms are always welcome, but of course, everything that already compiles must keep going in identically the same way: this means that any differences in the source MUST be within #ifdef, #ifndef, #if defined(...) or #if !defined(...). I suppose that's what you mean above by "protected by the WINCE macro". The usual way to compile Vim is to use a configure script on Unix-like platforms (run by vim76/src/Makefile which is invoked by vim76/Makefile) and ad-hoc makefiles (named vim72/src/*.mak) for each compiler used to make a Windows-like Vim (Make_cyg.mak for Cygwin gcc when making a Vim version which can run without Cygwin installed, Make_ming.mak for MinGW gcc, Make_mvc.mak for Microsoft Visual C, Make_bc5.mak for the Borland BCC32 compiler version 5, etc.) The Unix configure script produces test programs, tries to compile, link and run them, to see what happens, and sets a lot of defines according to the results It also checks if the software libraries required for the --enable-* and --with-* configure arguments are both present and accompanied by appropriate header files, and if if one of them isn't, it disables the corresponding compile-time feature in Vim. All this wouldn't work very easily for cross-compiling, I think. OTOH, the ad-hoc makefiles get their configuration variables (possibly including the paths where some libraries are installed) from the user, either as defines on the make command-line or as environment variables set before running make. See my HowTo pages for examples: http://users.skynet.be/antoine.mechelynck/vim/compunix.htm for a detailed example of how I compile Vim on Linux, and http://users.skynet.be/antoine.mechelynck/vim/compile.htm for an equally detailed example of how I used to compile Vim when I was on Windows. This is faster than the configure method, and easier for the make utility, but of course if you declare that you have, let's say, MzScheme installed at such-and-such a place on the disk, there's no check that it can actually be found and used. In any case (again, as Bram said), if you hope to get your changes accepted, you should prepare a context diff based on the latest bugfixed sources (currently 7.2.228, NOT the 7.2.000 sources available in archive form at ftp.vim.org) and taken from the top vim72 directory, so that the patches could be applied by running, maybe, "patch -p0 < winmobile.diff" (without the quotes of course) from that same directory on the other guy's computer. Then send that patch either to Bram or to the vim_dev list (or both). To avoid corruption in transit, I recommend sending it as an attachment to an email rather than as part of the text. One possible way of taking such a diff would be to have the Vim 7.2.228 distribution at, let's say, d:\devel\vim\vim72 and below and your modified sources at, let's say, d:\devel\vim72mobile and below, no extraneous files in either of these trees, then run (in Cygwin or similar) cd /cygdrive/d/devel/vim/vim72mobile diff -c -r ../vim72 . > ../vim72mobile.diff You may need to change the above lines depending on the shell used to run diff, but I hope you understand what I mean. Best regards, Tony. -- Your conscience never stops you from doing anything. It just stops you from enjoying it. --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---
