Skip to content
  • Emmanuele Bassi's avatar
    Build with hidden symbols by default · ba4d5fbd
    Emmanuele Bassi authored
    We should default on every platform we care about to hidden symbols, to
    avoid leaking private symbols.
    
    On Windows this is the default state of affairs with the MSVC toolchain;
    with GCC and GCC-compatible toolchains, we need to opt into this
    behaviour. Luckily for us, Cairo already has an annotation for public
    symbols, so we can easily tweak it to include the visibility attribute.
    
    When building ancillary libraries as part of the Cairo compilation on
    Windows, we use a pre-processor symbol to ensure that we keep the
    dllexport annotation. This avoids including the cairoint.h header file.
    
    Fixes: #582
    ba4d5fbd