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

Re: G++ 2 => 3 transition (was Re: GNU C++ 3.0 porting help wanted)



"Steve M. Robbins" <steven.robbins@videotron.ca> writes:
> Richard Kettlewell wrote:

>> Upstream should have changed the version number to reflect the ABI
>> change anyway, shouldn't they?
> 
> This thread started to confuse me starting here.
> 
> The ABI change is caused by a new C++ compiler, not an upstream
> library change.  Isn't that right?

Yes.

> I don't see how you are going to enforce any correlation between
> (upstream) library version number and the compiler with which it
> gets built.  At least, not across OSes and distributions, which is
> what Sean was worrying about, above.

I was imagining something like this in configure.in (or something
similar in other build control scripts):

  if test "x$GXX" = xyes; then
    case `$CXX --version` in
    2* )
      SOVERSION=3
      ;;
    3* )
      SOVERSION=4
      ;;
    esac
  else 
    # choose SOVERSION for other C++ implementations
  fi
  AC_SUBST(SOVERSION)

(Explicitly looking at the version number is not necessarily the
nicest approach, but the point is that the problem is not insoluble.)

To enforce correlation across distributions: making sure upstream gets
it right in the first place would seem to be the best approach;
failing that one would have to coordinate with people doing the
packaging for the same libraries in other distributions.

To enforce correlation across different operating systems: why do you
need to do that?

-- 
http://www.greenend.org.uk/rjk/



Reply to: