/* call the next function in the chain * it should hopefully be from the system provided lib * wereHamster> since my libGL.so is linked with libGL.so.native, which is * a symlink to the real libGL.so, I make sure that the next * symbol exists (which is why dlsym(RTLD_NEXT) will return a * valid symbol) * note: dlsym(RTLD_NEXT <- * * this loads the library only once */ #define chain(name, ...) ({ \ /* * call name() which is provided by yukon-core-lib * wereHamster> glue() is used to load yukon-core-lib and call the * yukonCore* function. It 'glues' libGL and libX11 together, * but without axctually make both depended on each other, * they stay completely separated * this loads the library ("yukon-core-lib") and the function (name) only * once, the function pointer doesn't change */ #define glue(name, ...) ({ \