The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guile"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guile"  +/
Сообщение от opennews on 09-Окт-13, 21:57 
После трёх лет разработки представлен (http://lists.gnu.org/archive/html/info-gnu/2013-10/msg00006....) релиз системы сборки GNU Make 4.0 (http://www.gnu.org/software/make/). Наиболее существенным новшеством является опциональная поддержка языка GNU Guile (http://www.gnu.org/software/guile/) (одна из реализаций языка Scheme) для определения дополнительных функций в make-файлах. Проверить в скрипте поддержку  Guile можно путём оценки наличия ключевого слова guile в переменной ".FEATURES". При наличии поддержки Guile, появляется возможность загрузки/определения  Guile-скриптов с реализацией дополнительных функций и их использование в сценарии сборки.

Из других изменений отмечается:


-  Новый оператор  "!=" для вызова внешних shell-команд, выступающий в качестве альтернативы функции $(shell ...) и реализованный для совместимости с BSD make. Например, вместо "var := $(shell echo *.c)" можно написать "var != echo *.c". Появление нового оператора может привести к нарушению обратной совместимости, так как присвоение значений переменным оканчивающимся на символ "!" теперь может интерпретироваться как вызов shell-команд. Чтобы избежать подобного поведения следует использовать пробел для явного отделения имени переменной ("var! = value" вместо "var!= value");
-  Новый оператор присвоения  "::=", определённый в стандарте POSIX 2012 и идентичный ранее доступному оператору ":=";

-  Новая функция $(file ...) для организации записи в файл;

-  Новая опция командной строки "--output-sync" ("-O"), включающая режим группировки вывода по целям и рекурсивным вызовам make, что позволяет обеспечить наглядность вывода при сборке с распараллеливанием в несколько потоков (вывод разных экземпляров make не будет смешиваться);

-  Реализация режима трассировки, активируемого через указание опции "--trace". При включении режима выводятся полные сведения о всех шагах сборки с указанием файла и номера строки. Данные выводятся  даже, если указана переменная .SILENT или применён префикс "@";
-  В опцию "--debug" добавлена поддержка флага "n" (none) для принудительного отключения всех отладочных настроек;

-  Сервер управления работами (jobserver), используемый для оптимизации выполнения параллельной сборки проектов в несколько потоков, адаптирован для работы на платформе Windows. Для Windows также обеспечена поддержка специальной сборочной цели .ONESHELL (http://www.gnu.org/software/make/manual/make.html#Execution);

-  Указание опций "-r" и "-R" в переменной MAKEFLAGS внутри make-файла теперь приводит к удалению всех встроенных правил и переменных.


URL: http://lists.gnu.org/archive/html/info-gnu/2013-10/msg00006....
Новость: http://www.opennet.ru/opennews/art.shtml?num=38120

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +2 +/
Сообщение от zhenya_k on 09-Окт-13, 21:57 
В арчике уже в тестинге.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +14 +/
Сообщение от Аноним (??) on 09-Окт-13, 23:23 
будто в арчике есть что то кроме тестинга
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

19. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  –1 +/
Сообщение от Аноним (??) on 10-Окт-13, 09:25 
Ты не поверишь…
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

20. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Аноним (??) on 10-Окт-13, 11:54 
слишком толсто
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

2. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +10 +/
Сообщение от Аноним (??) on 09-Окт-13, 22:02 
Что за воспалённый мозг придумал использовать "!=" в каком-то другом значении, кроме как "не-равно"?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Антон (??) on 09-Окт-13, 22:17 
Мозг какого-то bsdуна:
>New feature: "!=" shell assignment operator as an alternative to the
>  $(shell ...) function.  Implemented for compatibility with BSD makefiles.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +2 +/
Сообщение от Аноним (??) on 09-Окт-13, 22:28 
Кто вам сказал, что это "не-равно"? Это же "факториал равен". А вообще кто к чему привык.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +1 +/
Сообщение от омнономнимус on 09-Окт-13, 22:33 
> "факториал равен"

факториал чего?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +8 +/
Сообщение от Vkni (ok) on 09-Окт-13, 22:59 
той переменной, что слева от восклицательного знака:

var != 120

Сразу же понятно, что это эквивалент var = 5. На положительные вещественные числа != естественным образом обобщается с помощью Г-функции.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  –1 +/
Сообщение от омнономнимус on 09-Окт-13, 23:04 
и во скольких языках программирования есть такая интерпретация восклицательного знака?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Аноним (??) on 09-Окт-13, 23:08 
Тогда что такое
var != 11 ?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +2 +/
Сообщение от Vkni (ok) on 09-Окт-13, 23:46 
Как я уже и писал, для нецелых var оператор тривиально обобщается с помощью Г-функции:

http://www.wolframalpha.com/input/?i=gamma%28x%2B1...

Выбирать, разумеется, нужно положительный корень. Для отрицательных чисел, думаю, лучше  "!=" не определять.

В данном случае, он эквивалентен
var = 3.45964745355628

;-)

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от nib email on 09-Окт-13, 23:38 
факториал от lvalue, например // бред не правда ли?
или как используется в bash`t: http://unix.stackexchange.com/questions/3747/understanding-t...
если у вас "!" ассоциируется только с оператором нет, то у меня для вас грустные новости - вы семантикофоб
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

13. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Аноним (??) on 10-Окт-13, 00:56 
> Это же "факториал равен".

Тогда нужно писать «=!»:

 120 =! 5
1
 43 =! 13
0

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

14. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +1 +/
Сообщение от pavlinux (ok) on 10-Окт-13, 01:32 
!n это субфакториал, и !5 = 44
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +3 +/
Сообщение от Аноним (??) on 10-Окт-13, 02:15 
Да, для Makefile'ов вычисление факториала, безусловно, очень актуально:)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

26. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от pavlinux (ok) on 11-Окт-13, 03:55 
> Да, для Makefile'ов вычисление факториала, безусловно, очень актуально:)

COMBINE_FLAGS="-O0, -O1, -O2, -O3, -Ofast, -ffast-math, -fexcess-precision=fast -fno-strict-aliasing -ftree-vectorize, -funroll-all-loops,...."

Вариантов перестановки этих флагов будет аккурат факториал от sizeof(COMBINE_FLAGS)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Аноним (??) on 10-Окт-13, 02:38 
А вот и покусанный упомянутым бздуном.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

21. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от dq0s4y71 (ok) on 10-Окт-13, 13:51 
Тот же воспалённый мозг придумал использовать оператор сдвига в качестве оператора вывода в С++.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

22. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от yet another anonymous on 10-Окт-13, 14:17 
> Тот же воспалённый мозг придумал использовать оператор сдвига в качестве оператора вывода в С++.

Дык, количество символов на клавиатуре не очень большое.

cout \rightarrow x;

было бы лучше, если бы символ \rightarrow можно было бы ввести более вменяемым способом.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +2 +/
Сообщение от dq0s4y71 (ok) on 10-Окт-13, 16:05 
Да уж, С++ такой мощный язык, что ему даже символов на клавиатуре не хватает...
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

12. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Led (ok) on 10-Окт-13, 00:10 
> Новая опция командной строки "--output-sync" ("-O"), включающая режим группировки вывода по целям и рекурсивным вызовам make

Ура! Наконец-то!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Mihail Zenkov email(ok) on 10-Окт-13, 16:38 
> Реализация режима трассировки, активируемого через указание опции "--trace".

Очень радует!

>Наиболее существенным новшеством является опциональная поддержка языка GNU Guile (одна из реализаций языка Scheme)

Что поддержка опциональная, это хорошо. Но боюсь что скоро начнется злоупотребление этим и пакеты, которые прекрасно собирались без Guile, начнут ее требовать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Ordu email(ok) on 11-Окт-13, 00:43 
> Что поддержка опциональная, это хорошо. Но боюсь что скоро начнется злоупотребление
> этим и пакеты, которые прекрасно собирались без Guile, начнут ее требовать.

А что в этом страшного? guile -- небольшая библиотека, которая может не очень популярна, но, тем не менее, используется в ряде программ. Как минимум, сходу в голову приходят gimp и lilypond. Может быть, конечно, вы не правите фотки, может быть вы не набираете/компилируете ноты/табы, но и тем не менее, с большой вероятностью guile уже установлен в вашей системе как депенданс к чему-нибудь ещё.
Или речь идёт о сервере? Но разве вы на сервере собираете ПО? Не на выделенной для этих целей железке?

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

27. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от Mihail Zenkov email(ok) on 11-Окт-13, 05:38 
gimp-2.8.4, собран руками, guile не требовал.

Просто мне не нравится, когда приложения тянут за собой пакеты, которые мне ненужны  и без которых приложение могло бы нормально работать (d-bus, systemd, pulsaudio, udev и т.д.). Когда они опциональны - ничего не имею против, но когда я не могу без них собрать программу, это как минимум раздражает.

Весной в gtk+3 перевели atk-bridge из опции в обязательную зависимость и не потому, что без него никак, а просто 'им так тестировать легче' ибо меньше вариантов сборки (и как только linux-kernel с миллионами вариантов сборки тестируют). А потом смотришь на современный калькулятор и десятилетней давности  - вроде все тоже, а памяти ест в 100 раз больше.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

28. "Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guil..."  +/
Сообщение от A.N. Onim on 11-Окт-13, 11:02 
Мир gentoo ждёт тебя, юный падаван.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру