filon: SPECS blackbox.spec,1.51,1.52

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Pią, 8 Lut 2002, 10:20:38 CET


On Fri, 8 Feb 2002, Filip Kalinski wrote:

> On day Fri, Feb 08, 2002 at 09:43:52AM +0100, Tomasz Kłoczko wrote what follows:
> > On Wed, 6 Feb 2002, Filip Kalinski wrote:
> > [..]
> > > @@ -48,7 +48,7 @@
> > >  autoconf
> > >  automake -a -c
> > >  %configure
> > > -%{__make} CXX="%{__cc}"
> > > +%{__make} CXX=%{?__cxx:"%{__cxx}"}%{!?__cxx:"g++"}
> > 
> 
> Nie jest bez sensu, bo w ostatnim rpm'ie dodałem definowanie __cxx,
> czego nie ma we wcześniejszych. Bez tego się _nie kompiluje_.

Jest bez sensu bo uzywanie g++ powoduje linkowanie z libstdc++ i dopiero
podmiana na %__cc powoduje że to się nie dzieje. W tym wypadku linkowanie
z libstdc++ jest zbędne bo de facto żana funkcja ABI C++ nie jest
potzrebna w kodzie blackboxa i dlatego jest to lokalnie podmieniane na
%__cc. Zmienić globalnie %__cc na gcc nie możesz bo w zasadzie niemal
każdy program w C++ przestanie sie budować. Przypomnę że gcc rozumie tekst
źródłowy C++ (co wiecej z autoconf pzrychodzi odpowiednie maktro
spradzxajace czy kompilator C potrzafi to robić) i potrafi to kompilować
ale nie linkuje tego co skompiluje z libstdc++, a takei linkowanie nie
jest zawsze potzrebne. Niektórzy wręcz piszą świadomie tak kod C++ aby nie
było potrzebne linkowanie z libstdc++. Tak jest przykładowo z lftp które
jak najbardziej jest napisane w C++.

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



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