bug-xorriso
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-xorriso] building libisofs-1.4.4, libburn-1.4.4, libisoburn-1.4


From: Thomas Schmitt
Subject: Re: [Bug-xorriso] building libisofs-1.4.4, libburn-1.4.4, libisoburn-1.4.4 on OpenBSD
Date: Thu, 21 Jul 2016 17:09:10 +0200

Hi,

> -#ifdef __OpenBSD___
> +#ifdef __OpenBSD__

Urgh. How did i manage to spoil this ?
(The repetitions are due to copy and paste, of course.)

Hopefully fixed by
  http://libburnia-project.org/changeset/5722

-----------------------------------------------------------------------

We need to achieve a suitable full .so name of the installed libraries.

Intended are

  libisofs.so.6
  libburn.so.4
  libisoburn.so.1

with possibly further suffixes like libisofs.so.6.80.0 on Linux or
libisofs.so.6.80 on NetBSD.

Important is that the API/ABI compatibility promise about earlier releases
is expressed according to the habits of the linker.
I.e. future libisofs.so shall again have first suffix .6 and possibly
a higher second suffix (e.g. .82.x). If the linker supports this, it shall
use the libisofs.so.6 with the highest second/third suffix.

If there is only one version number, then younger libisofs.so.6 shall
overwrite older libisofs.so.6 on installation.

For NetBSD i hacked my local files
  /usr/share/aclocal/libtool.m4
  /usr/share/libtool/config/ltmain.sh
to get

  library.so.N.nn

in the build system of the tar balls.
The hacked files get into effect during ./bootstrap after checkout from
repository. See xorriso-1.4.4/libtool.m4 and xorriso-1.4.4/ltmain.sh
for copies of my local files.

OpenBSD is currently mapped to $version_type "sunos", which in ltmain.sh
yields undesirable  library.so.nn.nn

        sunos)
          major=".$current"
          versuffix=".$current.$revision"

as was NetBSD before i introduced an extra case for it

        netbsd)
          # ts B51007 : to get library.so.N.nn
          major=.`expr $current - $age`
          versuffix="$major.$age"

$current and $age get incremented with each release.
`expr $current - $age` is guaranteed to yield 6, 4, and 1 for libisofs,
libburn, and libisoburn respectively. $revision is nearly always 0.

The "sunos" scheme is undesirable, because it increments the .so version
with each new release of the libraries. Older applications will not link
with the newer, better libraries.

Suitable schemes besides "netbsd" would be  library.so.N.nn.nn

        linux) # correct to gnu/linux during the next big refactor
          func_arith $current - $age
          major=.$func_arith_result
          versuffix="$major.$age.$revision"

and my hacked version of "freebsd-elf" which yields  library.so.N

        freebsd-elf)
          major=.`expr $current - $age`
          versuffix="$major"

So which one would match the OpenBSD linker best ?

-----------------------------------------------------------------------

Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]