On Mon, Jul 30, 2012 at 11:41 AM, Cosmin Apreutesei <cosmin.apreutesei@xxxxxxxxx> wrote: >> If it is something for which there is no way to do an alternative >> implementation I might just let it error. What is code using your >> library going to do if it needs the functions? Maybe you provide a >> test routine or table that lets the user know what is there so they >> can abort if stuff they need is missing. > > (sorry, I missed your last paragraph and question) > > Ok, so application A is using cairo to output a PDF document, and > application B to display stuff on screen via GDI. Two apps using two > cairo API chunks which are optional to compile. Each app will break if > the wrong cairo.dll is shipped with it, but I want both to work with > the same cairo.lua file, so I don't think the argument "your app will > break anyway" applies to middleware. > This sounds like a bloody awful design on Cairo's part: Why should there be an allegedly-cross-platform API that changes its API based on the available features? /s/ Adam