Skip to content
  • Alexander Afanasyev's avatar
    Change with shared library compatibility version handling · 728205fe
    Alexander Afanasyev authored
    For ELF binaries (e.g., Linux): default compatible version (SONAME =
    `<library-name>.so.<MAJOR>`) can be specialized using additional `cnum`
    parameter to `<library-name>.so.<MAJOR>.<MINOR>` or
    `<library-name>.so.<MAJOR>.<MINOR>.<PATCH>`.
    
    For Mach-O binaries (e.g., OS X):
    
    - (bugfix) install-name points to compatible version (not absolute path
      to a non-versioned library)
    - Default install-name `<install-path>/<library-name>.<MAJOR>.dylib` can
      be specialized using `cnum` parameter to
      `<install-path>/<library-name>.<MAJOR>.<MINOR>.dylib` or
      `<install-path>/<library-name>.<MAJOR>.<MINOR>.<PATCH>.dylib`
    - `-Wl,-compatibility_version` and `-Wl,-current_version` flags use
      version from cnum/vnum (default cnum is vnum.split('.')[0])
    728205fe