libstdc++ - co tego wymaga ??

Artur Frysiak wiget w t17.ds.pwr.wroc.pl
Pią, 17 Gru 1999, 10:24:46 CET


[piątek, 17 grudzień 1999], Marcin Dalecki napisał(a):

> Ludzie ludzie z zasady biblioteka libstdc++ jest niekomaptybilijna pomiędzy
> a) wersjami kompilatora.
> b) wersjami biblioteki.
> 
> bo:
> 
> 1. Ciągle coś się zmienia w obsłudze wyjątków.
> 2. Ciągle coś się zmienia w obsłudze rtti.
> 3. Ciągle coś się zmienia w "standardzie" języka.
> 
> itp...
> 
> Tak więc powinno się podbijać major numeru biblioteki a nie tylko
> minor (niby gwaratujący kompatybilijność.)

Minor wcale nie zapewnia kompatybilności. To dopiero micro ją zapewnia.
Przypomne:
Major.Minor.Micro
Ale tak to jest dla libstdc++.
Gdy coś jest robione via libtool to:
(o użyciu --version-info z info libtool)
--version-info CURRENT[:REVISION[:AGE]]
1. Zacząć o 0:0:0
2. Zmieniać cokolwiek w --version-info tylko przed publicznym ogłoszeniem.
Częstsze zmiany mogą spowodować nadmierny nieuzasadniony wzrost tych liczb.
3. Jeśli zminił się kod biblioteki przed ostatnią wersją zwiększyć REVISION
o jeden (c:r:a -> c:r+1:a).
4. Jeśli jakiś interface biblioteki został dodany, usunięty albo zmieniony
zwiększyć CURRENT i ustawić REVISION na 0.
5. Jeśli jakiś interface został dodany zwiększyć AGA.
6. Jeśli jakiś interface został usunięty ustawić AGA na 0.

Gdy będzie my tego przestrzegać libtool odwali za nas całą robote z
major.minor.micro dla bibliotek.

Wiget
-- 
wiget w t17.ds.pwr.wroc.pl		DS T17 Bofh
PGP key: http://www.t17.ds.pwr.wroc.pl/~wiget/pgp.key
1024D/12FE7FAE ACB5 5834 C2F7 F86E 4F21  6D88 06B8 2CFE 12FE 7FAE



Więcej informacji o liście dyskusyjnej pld-devel-pl