Месон буилд систем издање 1.3

Објављено је издање Месон 1.3.0 буилд система који се користи за изградњу пројеката као што су Кс.Орг Сервер, Меса, Лигхттпд, системд, ГСтреамер, Ваиланд, ГНОМЕ и ГТК. Месон код је написан у Питхон-у и лиценциран је под лиценцом Апацхе 2.0.

Кључни развојни циљ Месон-а је да обезбеди велику брзину процеса монтаже у комбинацији са практичношћу и лакоћом коришћења. Уместо маке, градња подразумевано користи Ниња комплет алата, али се могу користити и други бацкендови као што су кцоде и ВисуалСтудио. Систем има уграђени руковалац зависности на више платформи који вам омогућава да користите Месон за прављење пакета за дистрибуције. Правила асемблера су постављена на поједностављеном језику специфичном за домен, добро су читљива и разумљива кориснику (према идеји аутора, програмер треба да потроши минимум времена на писање правила).

Подржано је унакрсно компајлирање и изградња на Линук, Иллумос/Соларис, ФрееБСД, НетБСД, ДрагонФли БСД, Хаику, мацОС и Виндовс користећи ГЦЦ, Цланг, Висуал Студио и друге компајлере. Могуће је градити пројекте у различитим програмским језицима, укључујући Ц, Ц++, Фортран, Јава и Руст. Подржан је инкрементални режим изградње, у којем се поново праве само компоненте које су директно повезане са променама направљеним од последње израде. Месон се може користити за генерисање поновљивих буилд-ова, где покретање буилд-а у различитим окружењима резултира потпуно идентичним извршним програмима.

Главне иновације Месон 1.3:

  • Додата опција „веррор: труе“ методама провере компајлера цомпилер.цомпилес(), цомпилер.линкс() и цомпилер.рун(), која третира упозорења компајлера као грешке (може се користити за проверу да ли је код направљен без упозорења ).
  • Додата метода хас_дефине за проверу дефиниције симбола од стране претпроцесора.
  • Параметар мацро_наме је додат функцији цонфигуре_филе(), додајући макро заштиту за двоструке везе преко „#инцлуде“ („инцлуде гуардс“), дизајнираног у стилу макроа на језику Ц (поједностављавајући креирање конфигурационих датотека са динамичким имена макроа).
  • Нови излазни формат је додат у цонфигуре_филе() - ЈСОН ("оутпут_формат: јсон").
  • Додата је могућност коришћења листа вредности за параметре ц_стд и цпп_стд (на пример, „дефаулт_оптионс: 'ц_стд=гну11,ц11′’).
  • У модулима који користе ЦустомТаргет за обраду датотека, додата је могућност прилагођавања порука које шаље ниња услужни програм.
  • буилд_таргет „јар“ је застарео и уместо тога се препоручује позив „јар()“.
  • Параметар 'енв' је додат методи генератор.процесс() да би се подесила променљива окружења кроз коју ће генератор обрадити улаз.
  • Када се специфицирају називи циљева изградње повезаних са извршним датотекама, суфикси као што су "екецутабле('фоо', 'маин.ц', наме_суффик: 'бар')" су дозвољени да генеришу додатне извршне датотеке у истом директоријуму.
  • Додан је параметар „вс_модуле_дефс“ функцији екецуабле() да би се користила деф датотека која дефинише листу функција прослеђених схаред_модуле().
  • Додан параметар 'дефаулт_оптионс' функцији финд_програм() за постављање подразумеваних опција за резервни потпројекат.
  • Додата метода фс.релативе_то(), која враћа релативну путању за први аргумент, у односу на други, ако прва путања постоји. На пример, "фс.релативе_то('/префик/либ', '/префик/бин') == '../либ')".
  • Следећи параметар_симлинкс је додат функцијама инсталл_дата(), инсталл_хеадерс() и инсталл_субдир(); када је постављен, прате се симболичне везе.
  • Параметар „филл“ је додат методи инт.то_стринг() да би се стринг постепено попуњавао водећим нулама. На пример, позивање поруке(н.то_стринг(филл: 3)) за н=4 ће произвести стринг "004".
  • Додат је нови циљ, цланг-тиди-фик, који специфицира покретање услужног програма цланг-тиди са заставицом "-фик".
  • Могућност специфицирања суфикса (ТАРГЕТ_СУФФИКС) циља склопа ([ПАТХ_ТО_ТАРГЕТ/]ТАРГЕТ_НАМЕ.ТАРГЕТ_СУФФИКС[:ТАРГЕТ_ТИПЕ]) је додата команди компајлирања.
  • Додата је променљива окружења МЕСОН_ПАЦКАГЕ_ЦАЦХЕ_ДИР да би се заменила путања до кеша пакета (подпројекти/кеш кеш пакета), на пример, омогућавајући вам да користите дељени кеш у неколико пројеката.
  • Додата команда "месон сетуп --цлеарцацхе" за брисање трајног кеша.
  • Подршка за „потребну“ кључну реч је додата свим методама провере компајлера „хас_*“, на пример, уместо „ассерт(цц.хас_фунцтион('соме_фунцтион'))" сада можете да наведете „цц.хас_фунцтион('соме_фунцтион' , обавезно: тачно)”.
  • Нова кључна реч, руст_аби, додата је функцијама схаред_либрари(), статиц_либрари(), либрари() и схаред_модуле(), које треба користити уместо застареле руст_црате_типе.

Извор: опеннет.ру

Додај коментар