Skip to content
  • Emmanuele Bassi's avatar
    Use compiler annotations to determine symbol visibility · 79466474
    Emmanuele Bassi authored
    Instead of relying on a separate file that requires being update every
    time we add a new public function we should use compiler annotations to
    let the linker know which symbols are public and exported.
    
    In order to achieve this we have to:
    
     * check for the visibility=hidden attribute
     * add -fvisibility=hidden to the linker flags
     * add a macro to annotate all public symbols
    
    While we're at it, we should copy the versioned symbols macro layout
    already used by GLib, GTK+, and other G* libraries, including the
    ability to express the range of allowed versions of JSON-GLib that
    third party code can compile against.
    79466474