Fedora planuje zapewnić możliwość budowania pakietów w Clang zamiast w GCC

Do wdrożenia w Fedorze 33 zaplanowany zmiana zasady korzystania z kompilatorów w dystrybucji, zgodnie z którymi kompilator do budowy pakietu można wybrać w zależności od zaleceń i preferencji projektu głównego (upstream). Fedora obecnie wymusza użycie GCC do budowania wszystkich pakietów, chyba że pakiet można zbudować tylko w Clang/LLVM.

Powodem udostępnienia możliwości budowania za pomocą Clang jest to, że niektóre projekty, np. Firefox и chrom, podczas programowania używają Clanga jako głównego kompilatora, a oparte na nim zestawy są lepiej testowane. Używanie Clanga do takich pakietów pozwoli uniknąć wychwytywania błędów pojawiających się podczas budowania w GCC, a także koordynowania poprawek tych błędów z głównym projektem. Budowanie przy użyciu GCC ma pozytywny wpływ na utrzymanie przenośności kodu opracowanego przy użyciu Clang, ale stwarza większe obciążenie dla opiekunów i opóźnia publikację aktualizacji (np. Mozilla zabrania używaj znaku towarowego Firefox podczas stosowania poprawek innych firm, więc musisz najpierw upewnić się, że łatki są uwzględnione w głównym strumieniu i wypuścić aktualizację dopiero po pojawieniu się poprawek w upstreamie).

Należy zauważyć, że logiczne byłoby użycie Clang dla pakietów, dla których ten kompilator jest lepiej dostosowany i używany w głównym projekcie. W przypadku takich pakietów możliwe byłoby zmniejszenie obciążeń konserwacyjnych, gdyby pakiety były przygotowywane przez przedstawicieli projektu głównego. Jeżeli pakiet buduje przedstawiciel społeczności, wówczas proponuje się pozostawienie opiekunowi możliwości wyboru kompilatora. W przypadku pakietów, których główne projekty nie faworyzują tego czy innego kompilatora, zaleca się utrzymanie status quo (kompilacja w GCC jak poprzednio). Autorem propozycji jest Jeff Law z Red Hat, który jest jednym z opiekunów GCC i Binutils.

Źródło: opennet.ru

Dodaj komentarz