On 26/05/11 2:19 AM, Bram Moolenaar wrote:
Ben Schmidt wrote (quite a long time ago):

Finally getting around to compiling Vim 7.3, and taking a little more
interest in the mailing list again. Would love to get back into Vim
development again if I can find time.

I use Vim in X on the Mac (gtk2), as well as in the console, as well as
MacVim. Building for X isn't done much these days, and has caused a
couple of problems, because os_macosx.c and os_mac_conv.c define
#NO_X11_INCLUDES.

- netbeans.pro uses the type BalloonEval which is not included if no X11
    headers are; I worked around this by adding typedef void to the .c
    files that #define NO_X11_INCLUDES. It's a nasty hack, but I haven't
    fiddled with the Vim source code for so long I don't have any idea
    what the 'right way' would be, so I figured I might as well just do a
    hack and someone else would know the proper way.

In src/proto.h there already is a workaround for this.  Adjusting the
#ifdef should work.

Ah, OK. Yes, this works:

#if !defined(FEAT_BEVAL) || defined (NO_X11_INCLUDES)

Is FEAT_BEVAL defined in your case? Perhaps it should not be.

It is indeed defined. I don't use the feature, myself, but I don't see
any reason it wouldn't work or shouldn't be compiled in if all the code
to make it work is there in the GTK and Vim GTK GUI code.

- FEAT_GUI is not defined if NO_X11_INCLUDES is defined (because doing
    so would pull in a lot of stuff that needs the X headers), so the
    check of FEAT_GUI in os_macosx.c is useless; I worked around it by
    unconditionally defining a different constant.

It'd be great if you could put similar workarounds in the source, Bram,
so it can compile out of the box.

I'm puzzeled by how you can compile Vim with GTK while NO_X11_INCLUDES
is defined.  What are you using for building?

I build with a standard toolset using ./configure and make.
NO_X11_INCLUDES is only defined in and by the two Mac-specific source
files named above. As one of the code comments says, this is to avoid a
clash between definitions of Boolean in the X11 and Mac header files.
All the actual GTK components compile with the X11 headers included (and
not any Mac headers).

Is this already in src/INSTALLmac.txt?  If not, can you add it?

I don't think INSTALLmac.txt needs any modification. It does use
--disable-darwin to compile an X11 GUI, which I don't do (I seem to
remember that it disabled something I wanted--maybe native Mac clipboard
support--I can't remember). At any rate, it is nicer not to need to
supply it, and perhaps future Mac-specific features will rely on it that
we don't want to disable just because the GUI is GTK. So perhaps it
would be appropriate to remove --disable-darwin from INSTALLmac.txt, but
I'm unsure of exactly what the consequences are, and it's certainly not
necessary to change it.

Ben.



--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to