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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui