The OpenNET Project / Index page

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



"Опубликован Autodafe, инструментарий для замены Autotools на обычный Makefile"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Опубликован Autodafe, инструментарий для замены Autotools на обычный Makefile"  +/
Сообщение от opennews (??), 18-Апр-24, 23:52 
Эрик Рэймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО, опубликовал инструментарий Autodafe, позволяющий преобразовать сборочные инструкции и сценарии, применяемые утилитами Autotools, в один обычный Makefile, который может легко читаться и меняться разработчиками. Код проекта написан на языке Python и распространяется под лицензией BSD...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61025

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

Оглавление

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

1. Сообщение от Аноним (1), 18-Апр-24, 23:52   +2 +/
После ./configure там и так обычный Makefile
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (2), 18-Апр-24, 23:59   +6 +/
Зато до — нечитаемая мешанина символов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #7

3. Сообщение от Аноним (3), 19-Апр-24, 00:06   +/
Не хуже систем сборки, чем для C/C++
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24

4. Сообщение от Аноним (4), 19-Апр-24, 00:10   +/
> Из недостатков отмечается потеря поддержки старых Unix-систем

не понял. Ведь до  Autotools makefiles и так руками писали. Ну ли на м4

А что сразу нельзя встроить в  Autotools - чтобы выплевывал нормальный макефайл ?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #19

5. Сообщение от vle (ok), 19-Апр-24, 00:12   +3 +/
https://github.com/cheusov/mk-configure

Вариант без кодогенерации вообще.
Скорее всего он уже есть в вашей системе.

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

7. Сообщение от Аноним (1), 19-Апр-24, 00:14   +6 +/
Что до? До запуска ./configure никакого Makefile нету, откуда в наличии и спецсимволы возьмутся, тем более их мешанина? Есть только Makefile.am и configure.ac, к-е ты сам руками пишешь, они простые и понятные.

Короче, я не понимаю смысл этого скрипта на питоне. Ну пиши сразу чистый Makefile без автотулз. А если скрипт генерирует чистый Makefile из сценариев autotools, то какой в нем смысл, если я и autotools'ом так же сгенерирую?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #38, #78

8. Сообщение от Аноним (8), 19-Апр-24, 00:20   +3 +/
В который из мейков? Позикс, гнутый, бздешный?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #48

9. Сообщение от Аноним (3), 19-Апр-24, 00:48   +4 +/
Суть не в том, что Autotools создаёт плохой Makefile, а в том, что Autotools - кошмарный инструмент, от которого нужно избавиться и забыть как страшный сон. Главное мигрировать, а Makefile самый доступный вариант для этого
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #12, #90

10. Сообщение от Аноним (12), 19-Апр-24, 00:49    Скрыто ботом-модератором–3 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

11. Сообщение от Аноним (11), 19-Апр-24, 00:51   +3 +/
> Мотивом для создания проекта

Фига се он кодит с космической скоростью. Мне бы так.

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

12. Сообщение от Аноним (12), 19-Апр-24, 00:52   –8 +/
Makefile, как и make, устарел уже вместе с autotools много раз и такой же убогий костыльный хлам
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #13, #32

13. Сообщение от Аноним (13), 19-Апр-24, 01:09   +2 +/
И какой же смузи для make использовать? Всякие ninja - это тот же make, только вид сбоку. Ну типа быстрее тысячи правил сборки перемалывают.

Другой вопрос, что make плохо подходит для создания проекта, который должен собираться разными компиляторами в разных ОС и ещё конфигурируемо (с подключением/отключением/поиском библиотек и отключением/включением поддержки разных фичей). Для helloworld на своей собственной ОС Makefile делается за 10 минут и редко занимает больше пары десятков строк.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #95

15. Сообщение от Аноним (15), 19-Апр-24, 01:15   +1 +/
Сообщите дедуле, что каждый год и так количество пакетов собираемых с autotools сокращается. Уже есть Cmake и Meson.
Ответить | Правка | Наверх | Cообщить модератору

16. Сообщение от тыквенное латте (?), 19-Апр-24, 01:16   +4 +/
> Из недостатков отмечается потеря поддержки старых Unix-систем, усиление зависимости от libtool и снижение гибкости в настройке.

а nih синдром не отмечается? тобишь, написать аналог autotools, который генерирует мейкфайл (как autotools), чтоб избавить проект от autotools, ценой потери всего что умеет autotools, и не умеет аналог. Гениально! Дайте два.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18, #40

18. Сообщение от Аноним (18), 19-Апр-24, 01:21   –1 +/
Итак, у тебя один проект, который ты используешь только на своих серверах и для своих заказчиков.
Зачема тебе все эти тулсы. Ты просто сделал форк викинул весь хлам и скатился до 100 строк в Makefile.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #20

19. Сообщение от тыквенное латте (?), 19-Апр-24, 01:27   +1 +/
>А что сразу нельзя встроить в  Autotools - чтобы выплевывал нормальный макефайл ?

нормальный - понятие относительное. если ты писал в стиле suckless Makefile, а они очень приятные и наглядные, то знаешь что начинается при сборке под различные оси и платформы. Гнушные хакеры пишут софт, который соберётся от какого-нибудь мамонта SGI, до GNU Hurd, с различными линкерами и кор-утилитами, я например собирал гну-софт с suckless {s,u}base. Представь какой должен быть Makefile для такого.

P.S. CMake норм, но монстр, а meson периодически сломанная игрушка от фридрисктоп/красношляпы. Autotools выбор настоящих бородачей, что бы ни говорили смузи505ы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #25

20. Сообщение от тыквенное латте (?), 19-Апр-24, 01:32   +2 +/
А так - по 50 строк на configure.ac и Makefile.ac и у меня есть поддержка сборки для всего зоопарка. Не понимаю, как человек осиливший autotools не может осилить Plain Makefile? Зачем ему питон-портянка? :-D

Впрочем, я дед, и давно перестал понимать это ваше АйТи.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

21. Сообщение от Skullnetemail (ok), 19-Апр-24, 01:35   –1 +/
А вариант не юзать autotools никак не приходит в голову? Есть же CMake...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #53

22. Сообщение от Аноним (22), 19-Апр-24, 01:39   –1 +/
ну так это лопата для закапывания автотулса и есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

23. Сообщение от Аноним (23), 19-Апр-24, 01:56   –2 +/
Если что, вместе с языком D распространяется интересная вещь DUB ( https://dub.pm/ ) - она много чего может, включая и компиляцию. А главное - конфиги пишут на человеческом языке.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34

24. Сообщение от rezzet (?), 19-Апр-24, 03:15   +4 +/
autoconf это боль и страдание. Cmake по факту сейчас становится стандартом для с++, он с более человеческим лицом, но то же конечно кактус еще тот.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #31, #62, #69, #89

25. Сообщение от Аноним (-), 19-Апр-24, 03:59   –1 +/
"Разработчики корпораций пишут софт, который соберётся от какого-нибудь мамонта SGI, до GNU Hurd, с различными линкерами и кор-утилитами"

Исправил, не благодари.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #26

26. Сообщение от тыквенное латте (?), 19-Апр-24, 04:11   +5 +/
> "Разработчики корпораций пишут софт, который запускается через wget !@#% | bash под ubuntu lts.

Исправил, не благодари.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #39, #41

29. Сообщение от Аноним (29), 19-Апр-24, 05:47   +1 +/
Конфиги Autotools бывают весьма замысловаты, даже если речь не о кроссплатформенном софте: так понимаю, Эрик Рэймонд тупо подзабил на некоторые возможности Autotools?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30

30. Сообщение от Аноним (30), 19-Апр-24, 05:57   +/
https://gitlab.com/esr/autodafe/-/blob/master/de-autoconfisc...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

31. Сообщение от Мне хватает (?), 19-Апр-24, 06:26    Скрыто ботом-модератором+5 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

32. Сообщение от YT (?), 19-Апр-24, 06:27   +/
Куда с мигрируешь с любителями каждый по не обоснованному случаю меняющими версию свойх библиотек , которые не относятся к действительно нужным миграционным допустим графическим где gles1 , gles2 действительно отличаются как d3d9/8/9/10/11/12 ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #94, #107

33. Сообщение от Аноним (34), 19-Апр-24, 07:47   –3 +/
Отдам предпочтение Autotools, он на православной GPLv3+.
Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Аноним (34), 19-Апр-24, 07:50   +/
Там же 2 варианта конфигов. Если .sdl, то да, на человековоспринимаемом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

35. Сообщение от Аноним (35), 19-Апр-24, 08:11   +/
Недавно собирал Lua, вместо всего этого треша чистенький make-файл, который удобно читать и при необходимости редактировать. При этом, внимание! Lua собирается во всех операционках и любыми компиляторами!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36, #45, #76

36. Сообщение от тыквенное латте (?), 19-Апр-24, 08:26   +3 +/
> Недавно собирал Lua, вместо всего этого треша чистенький make-файл, который удобно читать
> и при необходимости редактировать. При этом, внимание! Lua собирается во всех
> операционках и любыми компиляторами!

достаточно почитать сценарий кросс-сборки для разных платформ в каком нибудь Т2 SDE, и там будут все прелести повторения m4 скриптов и создания необходимых файлов и правил компиляции вручную. А так то конечно, простенький мейкфайл, удобно читать и при необходимости редактировать... как мейнтейнеры lua. Хуже только если при таких навыках написания мейкфайлов, разрабы луа решат перейти на месон. :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

37. Сообщение от Аноним (-), 19-Апр-24, 08:54   +3 +/
Вот теперь надо написать транслятор из ниндзи в мейкфайл. И заодно из симейка, чтобы не собирать симейк.

И не на питоне.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #61

38. Сообщение от Аноним (38), 19-Апр-24, 09:15   –3 +/
Вы, то есть, уже проверили каждую строчку этого ./configure и готовы уверенно сказать, что новый мейнтейнер вашего любимого проекта ещё не засунул туда бэкдор?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #42, #47

39. Сообщение от нах. (?), 19-Апр-24, 09:16   +1 +/
Причем в процессе скачивает тебе вчера выпущенную версию пихона и два десятка (бинарных) библиотек к ней.

(только не lts а `date +%y`.04 конечно - будет тебе уважающий себя разработчик пердолиться с твоим немодным на целый год уже софтом в lts, ага щас)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

40. Сообщение от нах. (?), 19-Апр-24, 09:17   +/
Типичная современная разработка, что ж не так?

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

41. Сообщение от Аноним (41), 19-Апр-24, 09:21   +/
И такое тоже пишут, спору нет. А гнутые хакеры пишут манифесты вроде https://www.gnu.org/gnu/manifesto.ru.html с просьбами халявы, лозунги и прочие столь же полезные (нет) вещи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

42. Сообщение от Аноним (42), 19-Апр-24, 09:27   +5 +/
Скажи честно, ты ведь ни разу не юзал autotools, верно?
Иначе бы знал что там и ./configure никакого нет, его надо сгенерировать из configure.ac
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

44. Сообщение от n00by (ok), 19-Апр-24, 10:17   +1 +/
Эрик Рэймонд читает Опеннет? Тут неоднократно сборщики пакетов называли autotools плохим словом, но сами ничего не могли с этим поделать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #84

45. Сообщение от n00by (ok), 19-Апр-24, 10:19   +2 +/
Как вы вообще читаете например такое?

# Функция всего лишь удаляет суффикс -unstable-v с цифрой из имени файла.
unvers = $(strip $(foreach v,1 2 3 4 5 6 7 8 9,\
             $(if $(findstring -v$(v),$(1)),$(subst -unstable-v$(v),,$(1)),)))
wlproto = $(if $(findstring unstable,$(1)),unstable/$(call unvers,$(1)),stable/$(1))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #52, #101, #108

46. Сообщение от Аноним (46), 19-Апр-24, 10:39   +3 +/
Аутодафе́ — публичное покаяние осуждённых еретиков, чтение и исполнение их приговоров, в том числе сожжение на костре.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #85

47. Сообщение от Аноним (42), 19-Апр-24, 11:07   +/
1. Он туда может хоть черта лысого засунуть. Но после выполнения ./configure создается Makefile, котоый я и могу проверить.

2. Речь в новости о том, что ты сам будешь генерировать свои Makefile этим скриптом на питоне. Ты сам себе бекдор собрался встраивать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

48. Сообщение от нах. (?), 19-Апр-24, 11:11   +/
Ты когда последний раз видел configure, способный сгенерить файл для мэйка отличного от единственноправильного гнутого? Году наверное этак в 99м?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #81, #88, #117

50. Сообщение от Аноним (42), 19-Апр-24, 11:13   +1 +/
> стоявший у истоков движения открытого ПО

Стоять то он стоял, конечно, но кроме как чудовищно кривым и забагованным fetchmail'ом больше ничем неизвестен

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #86, #105

52. Сообщение от куку (?), 19-Апр-24, 11:47   +/
Это вялотекущее аутодафе, для этого надо пренебречь всеми остстальными сферами жизни.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

53. Сообщение от pavlinux (ok), 19-Апр-24, 12:00   +/
Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #56

56. Сообщение от Skullnetemail (ok), 19-Апр-24, 13:01   –1 +/
> Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.

В чём проблема написать руками?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #57

57. Сообщение от pavlinux (ok), 19-Апр-24, 13:10   +2 +/
>> Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.
> В чём проблема написать руками?

Вообще нет проблем, как и для autotools

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

58. Сообщение от Аноним (58), 19-Апр-24, 13:24   +/
О, сам Эрик Рэймонд! Этому товарищу я верю, чувствую вещь стоящая должна быть!
Ответить | Правка | Наверх | Cообщить модератору

59. Сообщение от Аноним (59), 19-Апр-24, 13:25   +1 +/
вот бы ещё мэйкфайлы в CMake преобразовывать автоматически... без использования больших языковых моделей...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #65

61. Сообщение от Бывалый Смузихлёб (ok), 19-Апр-24, 13:50   +/
> И не на питоне

Но ведь ради него всё и затевалось!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

62. Сообщение от Аноним (62), 19-Апр-24, 13:58   –2 +/
meson же!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #111

63. Сообщение от Пряник (?), 19-Апр-24, 14:03   +/
А как Rust без make обходится?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #66, #67, #68

64. Сообщение от Аноним (62), 19-Апр-24, 14:05   +4 +/
То есть через 30 лет сообществу всётаки надоел подход когда скрипт делает скрипт который генерирует сценарий сборки.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82, #99

65. Сообщение от pavlinux (ok), 19-Апр-24, 14:10   +3 +/
> вот бы ещё мэйкфайлы в CMake преобразовывать автоматически... без использования больших
> языковых моделей...

Преобразовать Makefile в CMakeLists.txt для cmake, чтоб  cmake потом сгенерил Makefile?
Подружись с автором проекта, у него в башке такая же логика ))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #70, #118

66. Сообщение от pavlinux (ok), 19-Апр-24, 14:16   +1 +/
> А как Rust без make обходится?

Выcep не удался. У них блобятина на питонятине генерящая Makefile
https://github.com/rust-lang/rust/blob/master/src/bootstrap/...


    with bootstrap.output('Makefile') as f:
        contents = os.path.join(rust_dir, 'src', 'bootstrap', 'mk', 'Makefile.in')
        contents = open(contents).read()
        contents = contents.replace("$(CFG_SRC_DIR)", rust_dir + '/')
        contents = contents.replace("$(CFG_PYTHON)", sys.executable)
        f.write(contents)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #116

67. Сообщение от Аноним (42), 19-Апр-24, 14:22   –1 +/
Никак. Он без него не обходится. Или ты думаешь что какой-нить cmake - это замена make? А вот и нет, cmake - это замена autotools. Все эти системы сборки в итоге генерируют Makefile, к-й выполняется make'ом (написанном на C, аха-аха-аха). В том числе и в расте
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #74, #103, #119

68. Сообщение от Аноним (62), 19-Апр-24, 14:22   +3 +/
Раст код не надо собирать, тем более юзать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #115

69. Сообщение от Ivan_83 (ok), 19-Апр-24, 14:24   +/
CMake имеет слишком много зависимостей, и внутри синтаксис там плавает, где то _CFLAG где то _CFLAGS и тп после вроде бы стандартных автодетектов.

Meson по зависимостям лучше, но он идиотский из за питон синтаксиса и полной зависимости от pkgconf без возможности насильно что то задавать руками.


Я бы хотел видеть сборочную систему написанную на LUA.
Фишка в том, что там зависимостей никаких кроме С и make нет.
Как минимум autotools такое точно должно легко заменять. Возможно месон. Смаке вроде с курлом линкуется и умеет сам тянуть с инета, потому его полноценная замена потребует больше зависимостей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #77, #79, #91, #102

70. Сообщение от тыквенное латте (?), 19-Апр-24, 14:27   +1 +/
>> вот бы ещё мэйкфайлы в CMake преобразовывать автоматически... без использования больших
>> языковых моделей...
> Преобразовать Makefile в CMakeLists.txt для cmake, чтоб  cmake потом сгенерил Makefile?
> Подружись с автором проекта, у него в башке такая же логика ))

но-но-но, ты забываешь что симейк может генерировать билд файл для ниндзи, а тут как раз бежит на грабли, волосы назад, вот этот чувак
https://www.opennet.dev/openforum/vsluhforumID3/133456.html#37
который хочет генерировать мейкфайлы из сгенерированного для ниндзи билдфайла, сгенеренный из cmake'ом из cmakelists.txt, который сгенерила тулза уже вот этого чувака выше из мейкфайла, сгенеренного autotools'ом.


Звучит как стартап, я за колой!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

74. Сообщение от Ivan_83 (ok), 19-Апр-24, 14:45   +/
Вообще то нет.
Cmake умеет сам быть make и умеет генерить сценарий для ninja, это исключает использование ещё и make, насколько я знаю.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #80, #104

76. Сообщение от Ivan_83 (ok), 19-Апр-24, 15:21   +/
Да, я за то чтобы всё собирать с помощью make на LUA, осталось его только создать :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

77. Сообщение от Советский инженер (ok), 19-Апр-24, 15:28   +/
>Я бы хотел видеть сборочную систему написанную на LUA.

https://github.com/matricks/bam/tree/master

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

78. Сообщение от Я (??), 19-Апр-24, 15:29   +/
смысл в том чтобы взять проект с автотулами, прогнать скрипт, получить мейкфайл и полностью удалить ошмётки автотула из проекта.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

79. Сообщение от Анонимemail (79), 19-Апр-24, 15:41   +2 +/
Premake https://premake.github.io/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

80. Сообщение от Аноним (42), 19-Апр-24, 16:04    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

81. Сообщение от Аноним (8), 19-Апр-24, 16:10   +/
Там сразу так и не поймешь, какой из них перед тобой
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

82. Сообщение от Сообщество (?), 19-Апр-24, 16:37   +1 +/
Нет, мне не надоел такой подход
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

84. Сообщение от Аноним (84), 19-Апр-24, 17:45   –1 +/
Как будто программа Эрика - это решение проблемы. Портировать на CMake и с нуля проблем нет. Просто выкидываешь весь autotools-хлам и с нуля делаешь по нормальному. Но ведь мэйнтейнеры-дебилы на это не согласятся, а недебилы уже давно сами перешли без посторонней помощи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

85. Сообщение от Аноним (85), 19-Апр-24, 18:12   +1 +/
А я то думал, что "Autodafe" - это поковерканное "Autodeath".

Кстати, анекдот в тему вспомнился:

I saw a book entitled "Die GNU Autotools" and I thought "My feelings exactly". Turns out the book was in German.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #106

86. Сообщение от Аноним (85), 19-Апр-24, 18:16   +/
Ты что! "Собор и Базар" ведь!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #98

88. Сообщение от Аноним (88), 19-Апр-24, 19:57   +/
Ну поставь себе трупик фряхи, там тебе будет их собственный мэйк, а gmake опционален
Так что не нужно тут, хочешь негнутого мэйка, бери негнутый
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #114

89. Сообщение от Аноним (89), 19-Апр-24, 20:00   +1 +/
qmake был удобным вариантом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

90. Сообщение от Аноним (89), 19-Апр-24, 20:02   +2 +/
может Autotools и кошмар, но требовать для сборки С-программ наличия питона в сборочном окружении - это какой-то позор и зашквар...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

91. Сообщение от Александр (??), 19-Апр-24, 20:28   +/
На lua premake5 и xmake хороши. Xmake не использовал, только доки видел. А вот premake5 активно использую. Очень гибкий и читаемый сборочный скрипт выходит. Честно говоря, понятнее и проще выходит, нежели Cmake. Увы, последний мне приходится использовать из-за того, чтотон почти стандарт доя C++. Но если что-то чисто своё, не тянущее собирабельных зависимостей, использую premake5. Также из плюсов: на сколько помню, не имеет зависимостей. Lua линкуется в исполняемый файл.
Не из lua qmake нравится. Жаль к Qt прибит. Жду, когда от него откажутся, и может сообщество вынесет его как независимую сборочную систему.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

92. Сообщение от randomize (?), 19-Апр-24, 21:03   +2 +/
Троллинг 99 уровня, начиная названием проекта и файлов и заканчивая языком.
Ответить | Правка | Наверх | Cообщить модератору

94. Сообщение от Аноним (12), 19-Апр-24, 22:42   +/
Сам то понял что спросил? Пиши свои таблицы совместимости внешней либы с твоим проектом и маппингов в сборочные опции. Это много проще, понятнее и удобнее в дальнейшем использовании, чем весь хлам autotools-ов, который в основном заточен на подерржку кучи реализаций libс и POSIX стандартов в разных ОС.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

95. Сообщение от Аноним (12), 19-Апр-24, 22:46   +/
>  Ну типа быстрее тысячи правил сборки перемалывают. Другой вопрос, что make плохо подходит для создания проекта...

Ну да, подумаешь, мелочь. ninja далеко не тот же make

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

98. Сообщение от Изя (?), 19-Апр-24, 23:58   +/
Guidebook к нетхаку
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

99. Сообщение от vle (ok), 20-Апр-24, 00:42   +/
https://github.com/cheusov/mk-configure
Лично мне такой подход надоел 15 лет назад. В два раза быстрее :-)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

100. Сообщение от Аноним (102), 20-Апр-24, 03:26   +1 +/
У этого проекта такой же смысл как перемалывать кости динозавров чтобы лепить новые скелеты динозавров.
Ответить | Правка | Наверх | Cообщить модератору

101. Сообщение от Аноним (102), 20-Апр-24, 03:30   –1 +/
Именно поэтому использование Makefile, m4 и прочего наркоманского бреда из 70-х нужно законодательно запретить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

102. Сообщение от Аноним (102), 20-Апр-24, 03:33   +/
Meson хуже хотя бы тем, что у него нет документации. Есть какой-то несчастный огрызок на сайте, а хотите больше - несите деньги за книжку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

103. Сообщение от Аноним (12), 20-Апр-24, 06:23   +/
Замены autotools как таковой нет. CMake это просто генератор сборочных правил, а autotools ещё и конфигуратор. Впрочем для большинства приложений достаточно CMake + небольших своих доработок
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #120

104. Сообщение от Аноним (12), 20-Апр-24, 06:23   +1 +/
CMake make-ом быть не умеет, не неси чуши
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

105. Сообщение от Аноним (106), 20-Апр-24, 10:56   +/
reposurgeon же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

106. Сообщение от Аноним (106), 20-Апр-24, 10:58   +/
>auto de fé , meaning 'act of faith'
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

107. Сообщение от Аноним (-), 20-Апр-24, 12:33   +/
Зачем себе проблем создавать? Если все эти версии действительно востребованы, то найдётся мейнтейнер, который будет заниматься этим. С тебя только юнит-тесты, чтобы отлавливать несовместимости API. Хотя тот вот мейнтейнер с радостью этим займётся, если ты его пинать будешь, чтобы он все найденные несовместимости оформлял бы юнит-тестами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

108. Сообщение от Аноним (-), 20-Апр-24, 12:36   +/
Потому что не надо писать скрипты на sh, и тем более на мешанине make и sh. Для таких вещей есть python. Каждому инструменту своё применение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #109

109. Сообщение от n00by (ok), 20-Апр-24, 15:53   +/
Это фрагмент Makefile для GNU Make. Всё соответствует официальной документации info make.

И почему вдруг на Python, которого может не оказаться, а не на OCaml? Вопрос чисто гипотетический, зачем может понадобиться ЯП для сборки одного исполняемого файла из десятка .c/.h, не спрашиваю.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108 Ответы: #110

110. Сообщение от Аноним (12), 20-Апр-24, 20:36    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #112

111. Сообщение от Аноним (111), 20-Апр-24, 23:22   +/
Проблема в том, что большие увесистые проекты перевести очень сложно,
так как там мало того что закостенелые адепты Autotools, а во вторых
много зависимых скриптов сборки.

Нужен какой-то временной промежуток, что бы люди изучили и перевели,
а самая проблема, что должно быть какое-то озарение или запрос от
вселенной, а там нет такого...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

112. Сообщение от n00by (ok), 21-Апр-24, 07:49   +/
> Пиши на OCaml

Императив аткуализует вопрос, на который раньше можно было не отвечать: зачем понадобился ЯП для сборки одного исполняемого файла из десятка .c/.h?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

113. Сообщение от Аноним (113), 21-Апр-24, 13:37   +/
Вещь явно полезная, если выполняет свои обещания, но название... Из ближайших ассоциаций только одна конспирологическая теория.
Ответить | Правка | Наверх | Cообщить модератору

114. Сообщение от vle (ok), 21-Апр-24, 17:25   +/
> Ну поставь себе трупик фряхи, там тебе будет их собственный мэйк, а
> gmake опционален
> Так что не нужно тут, хочешь негнутого мэйка, бери негнутый

Во FreeBSD не их собственный make, а make взятый из NetBSD.
Он также известен как bmake, и он очень хорош.
Свой собственный make FreeBSD-шники, как я понял, закопали.
bmake также утащили в Minix, так же как и вообще весь userlevel из NetBSD.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

115. Сообщение от Пряник (?), 22-Апр-24, 11:01   +/
Тебя никто не заставляет :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

116. Сообщение от Пряник (?), 22-Апр-24, 11:02   +/
Спасибо за комплимент :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

117. Сообщение от Аноним (117), 22-Апр-24, 22:25   +/
Вообще-то configure таки генерирует мейкфайлы совместимые с любыми мейками, если там явно в .am не написать GNU'шного синтаксиса. В портах FreeBSD все порты с GNU_CONFIGURE=YES не без USES=gmake собираются BSD'шным мейком, и на самом деле портов требущих гнутого единицы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #121

118. Сообщение от Аноним (117), 22-Апр-24, 22:39   +/
> Преобразовать Makefile в CMakeLists.txt для cmake, чтоб  cmake потом сгенерил Makefile?
> Подружись с автором проекта, у него в башке такая же логика ))

Зато у него в башке хоть что-то есть. Так-то абсолютно логично перевести источник истины с низкоуровневого сценария на высокоуровневый, из которого генерить обратно низкоуровневые если это нужно. Как ассемблер переписать на ЯВУ и потом скомпилить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

119. Сообщение от Аноним (117), 22-Апр-24, 22:44   +/
> Все эти системы сборки в итоге генерируют Makefile

Это неверно даже для плюсов, потому cmake может кроме makefile генерировать и ninja и проекты ide. Вне ide вместо make уже давно используют ninja (который на плюсах если что).

А для rust это вообще чушь, там cargo собирает проект напрямую из высокоуровневого описания, и никаких инструментов уровня "из файлика собери мне другой файлик" не используется в принципе.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

120. Сообщение от Аноним (117), 22-Апр-24, 22:47   +/
Это конечно же ложь, cmake в том числе и конфигуратор (сборка информации о системе, поиск зависимостей, опции сборки - всё это он делает) и чтобы знать это достаточно cmake хотя бы раз запустить. Не понимаю как вы, ни разу не запустив cmake, себе позволяете что-то про него рассказывать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

121. Сообщение от нах. (?), 22-Апр-24, 23:20   +/
Ну вот лет двадцать назад - генерил.

А сейчас в большинстве случаев - медвежуть с то pathsubst, то wildcard, то еще какая хрень которую и сам автырь-то без бутылки наверное не разберет. Зачем оно в автогенерящемся файле - а хз, оне художники, оне так видют.

> и на самом деле портов требущих гнутого единицы

боюсь что остальные сотнитыщ - хеловроты или что-то совсем ненужное. Полагаю у меня нет ни одного набора пакетов для фри (неважно - отдельнособранного или в совсем standalone системе где не было смысла морочиться со сборкой вне ее самой) где не притащился бы зачем-то gnu make.

И твое CONFIGURE yes само по себе редкость просто так.  USES=autoreconf (и еще надо autoheader обязательно версии n+1 !) же ж - чтоб жизнь медом не казалась.
(впрочем, на фоне нинзей с прочей питононечистью - можно и не огорчаться уже особо)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117


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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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