One lower-impact compromise would be to simply rename private fields of the structs to something obviously wrong when compiling without __XSERVER__. Easy-ish patches to get right, and preserves ABI compatibility. If you generate the secret names with a macro, you can change them regularly to ensure no one is building against them :-).
Bart On Fri, Mar 23, 2012 at 9:23 AM, Keith Packard <kei...@keithp.com> wrote: > <#part sign=pgpmime> > On Fri, 23 Mar 2012 18:30:30 +1000, Peter Hutterer <peter.hutte...@who-t.net> > wrote: > >> Good point, but that would only get us half-way. We currently export >> things like the GrabRec as well, just because they are in the same >> header. These could be moved into a private header. For other structs >> like the DeviceIntRec, we want only parts to be exposed to the driver so >> we either need the private structs, opaque structs + API or conditional >> compilation. > > So we need a DeviceIntIntRec that includes DeviceIntRec? Or should we > move a bunch of the stuff that is currently in DeviceIntRec over to > DeviceRec? Neither of those options sounds like much fun at all, the > former would preserve existing API compatibility, albeit with a comedic > naming effect (DeviceIntNoSeriouslyNotPublicRec...) > > -- > keith.pack...@intel.com > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel