From: Zdenek K. <zka...@re...> - 2010-08-31 10:18:16
|
Dne 28.8.2010 05:55, Eric Anholt napsal(a): > On Fri, 27 Aug 2010 13:16:04 +0200, Zdenek Kabelac <zka...@re...> wrote: >> On 27.8.2010 12:02, Julien Cristau wrote: >>> On Fri, Aug 27, 2010 at 11:26:59 +0200, Zdenek Kabelac wrote: >>> >>>> Why keeping different name for C++ and C ? >>>> >>> Because changing the name for C means breaking API for existing users, >>> which is not a nice thing to do. >>> >> >> >> Well if DRM would have very stable API - it would make sence - but from a view >> of occasional user who needs to compile drm for intel driver - it seems the >> API is changed so frequently and in such an incompatible way that this change >> doesn't look all that bad. >> >> How many libdrm project users are there - and how often is this variable used >> outside of libdrm ? >> >> Now C++ will use different names for same variables - that IMHO bigger issue... >> >> Also - if headers are supposed to be C++ friendly - maybe usage of >> extern "C" might be handy for such case ? > > Uh, you claim the API has changed, but I'm not aware of any circumstance > since TTM removal where upgrading libdrm on Intel should have broken > either API or ABI for its users. Can you back that up? Ok - I'm remembering this issue: Essentially I've had idea to try to bisect for this problem: https://bugs.freedesktop.org/show_bug.cgi?id=26937 As I'm quite sure, that there were times were I could use fullscreen for flash without fear of having to restart my desktop. So I've tried just some random older git versions of libdrm & intel driver - there were some minor compilations issue (I guess some list defines conflicts and few other minor things for compilation). However compiled driver & library actually never worked and all I got was usually black screen. It's probably hard to judge if the problem is kernel driver (using usually quite fresh vanilla git tree) or Xorg from Fedora Rawhide can't work with some slightly older libdrm/intel. It probably not reasonable to spend time to detect where exactly is problem - all I want to point out is, that some internal API must changed significantly so while I could usually boot with 2 year old kernel, I cannot use few months old drm&intel driver. And back to this issue - if this variable is used a lot by other projects, than this commit is probably ok - though looks ugly. But if there is just one project which uses it, than it's probably better to break API and keep it clean and use same variable for C & C++ programs. Zdenek |