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