Description: |
I don't know if it is really a bug from Tk and I didn't see any ticket about that so...
The problem might happen if you use x11 apps with MacOSX.
If we build with --enable-aqua, Tk provides a local dir. named X11 with some headers whose the names might collide with the Xorg headers (X11/Xlib.h, X11/X.h for instance).
Typically, the X11 tk local dir is localized directly under the {prefix}/include. If we use "make install" you might erase X11 header from Xorg project.
That means that "downstream" (like pkgsrc for instance) cannot have on the same system X11 applications and Tcl/Tk installed with aqua build ;
or even an user cannot have without more isolation have Tk with aqua build and X11.
I don't know if the local X11 headers change might have an impact to Tk C api application
but I tried to isolate them to "tk/X11" header in order to avoid a potential name collision.
I succeeded in compiling both X11 and aqua Tk project on macosx. I tried to compile some tiny C code and that seems ok.
Test are ok.
I didn't test more because I don't know if the problem and the patch are relevant.
|
User Comments: |
chrstphrchvz added on 2019-07-04 01:11:50:
(text/x-fossil-wiki)
I'm aware that Tk Aqua in MacPorts (<code>tk +quartz</code>) also has to work around this issue. Currently, …/include/X11/ is instead installed to …/include/X11_tk/, then anything using those headers is patched, e.g.
<code>#include <X11/Xlib.h></code>
becomes
<code>#include <X11_tk/Xlib.h></code>
|