wine on FC

Pekka Pietikainen pp at ee.oulu.fi
Fri Oct 17 08:15:02 UTC 2003


On Thu, Oct 16, 2003 at 03:51:17PM -0500, Justin Georgeson wrote:
> >The problem seems to be that wine and krb5 use FAR  for something
> >very different (latter assumes it's empty, former probably uses it
> >for something totally hideous). Doing a #undef FAR before including 
> >ssl.h does the trick for me.
> 
> that is indeed interesting, as only the first line that produces a 
> compiler error (out of ~10) uses FAR. I'm tend to be wary of such fixes 
> though, as I don't fully understand the potential side-effects.
The first one causes typedef struct kssl_ctx_st { ... } KSSL_CTX; 
to not get defined. The rest of the errors are lines that use
KSSL_CTX :-)

wine defines FAR as 

#ifndef FAR
#define FAR         __ONLY_IN_WINELIB()
#endif

#ifdef __WINESRC__
#define __ONLY_IN_WINELIB(x)    do_not_use_this_in_wine
#else
#define __ONLY_IN_WINELIB(x)	x
#endif

so the line ends up as

krb5_octet do_not_use_this_in_wine *key;

So, if you want to play it safe I guess you could do something kludgy like

#ifdef HAVE_OPENSSL_SSL_H
#define DSA __ssl_DSA  /* avoid conflict with commctrl.h */
#define __wine_FAR FAR /* avoid conflict with kssl.h */
#undef FAR
# include <openssl/ssl.h>
#undef FAR
#define FAR __wine_FAR
#undef DSA

-- 
Pekka Pietikainen





More information about the test mailing list