2015-03-30 11 views
5

Chciałbym flagę, która jest zależna od wersji systemu operacyjnego, a nie tylko system operacyjny:Cabal "os" Flaga z wersji systemu operacyjnego

if os(darwin) && os-version() >= 10.7 

lub

if os-version(>=10.7) 

lub coś z tym zachowaniem.

mogę to zrobić z make i sw_vers -productVersion, ale chcę zachować plik Cabal ze build-type: Simple (mam na myśli to nawet ma pole frameworks).

Kontekst: Mam pewne powiązania z niektórymi funkcjami kakao, które zostały wprowadzone w OSX 10.7. Chciałabym, żeby Cabal nie próbowała budować na starszych komputerach Mac, zamiast spamować osobę instalującą pakiet z niepomocnymi błędami "nie znaleziono symbolu" lub czymkolwiek.

(W "warunkach") wydaje się mówić "nie".

Odpowiedz

1

Masz rację. Cabal nie oferuje tej funkcji. Oto relevant ticket. Jednak w przypadku systemu OS X nie trzeba koniecznie przejść od wersji build-type: Simple. Zamiast tego można użyć CPP i makr dostarczonych przez jabłko, jak omówiono pod another SO question.

Powiązane problemy