nowe makra warunkowe --with/--without

Filip Kaliński fk181140 w students.mimuw.edu.pl
Nie, 23 Wrz 2001, 10:19:36 CEST


On Sat, 22 Sep 2001 22:14:46 +0200
Jakub Bogusz <qboosh w prioris.mini.pw.edu.pl> wrote:

> Właśnie sprawdziłem to, co do czego miałem wątpliwości na spotkaniu.
> 
> %{?bcond: }  i  %{!?bcond: }  sprawdzają, czy makro jest zdefiniowane,
> a nie jaką ma wartość.
> 
> Czyli jeżeli mamy gdzieś np.:
> LDFLAGS="-lcośtam %{?ssl:-lssl -lcrypto}"
> %configure %{!?ssl:--without-ssl}
> 
> To niezależnie czy będzie definicja ssl=0 czy ssl=1, pierwszy warunek
> będzie spełniony ("-lssl -lcrypto" wejdzie do LDFLAGS), drugi nie
> (nie będzie dodane --without-ssl).
> Przeciwna sytuacja będzie tylko jeżeli makro ssl _w ogóle_ nie będzie
> zdefiniowane.
> 
> Testowy spec:
> 
> #v+
> Name:		sst
> Summary:	sst
> Group:		sst
> Version:	1
> Release:	1
> License:	sst
> 
> %description
> 
> %prep
> echo "test %{?bcond:yes}%{!?bcond:no}"
> #v-
> 
> Dalej "rpm -bp sst.spec" daje odpowiedź "no",
> "rpm -bp sst.spec --define bcond=1" daje "yes",
> "rpm -bp sst.spec --define bcond=0" daje także "yes".
> 
> 
> Przy czymś takim zostaje tylko używanie:
> %if %{ssl}
> cośtam
> %else
> cośinnego
> %endif
> ...a nie zawsze jest to wygodne... (w testowym przykładzie akurat tak)
> 

Niekoniecznie, przecież jeśli założymy, że rpm ... -with <sth> definiuje
<sth>, a rpm ... -without <sth> nie robi _nic_ , to otrzymamy to czego
chcieliśmy, będzie można uzywać %{<sth>:...}.

-- 
Filip Kaliński <f.kalinski w students.mimuw.edu.pl>



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