The OpenNET Project / Index page

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

Опубликован Autodafe, инструментарий для замены Autotools на обычный Makefile

18.04.2024 23:44

Эрик Рэймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО, опубликовал инструментарий Autodafe, позволяющий преобразовать сборочные инструкции и сценарии, применяемые утилитами Autotools, в один обычный Makefile, который может легко читаться и меняться разработчиками. Код проекта написан на языке Python и распространяется под лицензией BSD.

В состав входит программа makemake, которая преобразует сгенерированный утилитой automake сборочный файл Makefile в эквивалентный читаемый Makefile, пригодный для редактирования людьми и избавленный от внутренних конструкций automake. Дополнительное задействование утилиты ifdex позволяет полностью избавить проект от Autotools, заменив его на работу с обычным Makefile.

Мотивом для создания проекта Autodafe послужило желание вернуться к использованию обычных Makefile вместо переусложнённых сценариев Autotools, возникшее после инцидента с внедрением бэкдора в пакет xz. Из плюсов предлагаемого подхода называется упрощение сборочных правил, которые станет проще проверять и сложнее внедрить скрытую функциональность. Из недостатков отмечается потеря поддержки старых Unix-систем, усиление зависимости от libtool и снижение гибкости в настройке.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Удаление Эрика Рэймонда из списков рассылки OSI и этические вопросы в открытых лицензиях
  3. OpenNews: Оценка возможности отзыва разработчиками своего кода из ядра Linux
  4. OpenNews: Эрик Реймонд основал проект по созданию открытого источника бесперебойного питания
  5. OpenNews: Первый стабильный релиз NTPsec, защищённого форка NTPD
  6. OpenNews: Эрик Реймонд представил новую систему управления версиями SRC
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61025-autodafe
Ключевые слова: autodafe, autotools
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (100) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:52, 18/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    После ./configure там и так обычный Makefile
     
     
  • 2.2, Аноним (2), 23:59, 18/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Зато до — нечитаемая мешанина символов
     
     
  • 3.7, Аноним (1), 00:14, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Что до? До запуска ./configure никакого Makefile нету, откуда в наличии и спецсимволы возьмутся, тем более их мешанина? Есть только Makefile.am и configure.ac, к-е ты сам руками пишешь, они простые и понятные.

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

     
     
  • 4.38, Аноним (38), 09:15, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вы, то есть, уже проверили каждую строчку этого ./configure и готовы уверенно сказать, что новый мейнтейнер вашего любимого проекта ещё не засунул туда бэкдор?
     
     
  • 5.42, Аноним (42), 09:27, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Скажи честно, ты ведь ни разу не юзал autotools, верно?
    Иначе бы знал что там и ./configure никакого нет, его надо сгенерировать из configure.ac
     
  • 5.47, Аноним (42), 11:07, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1. Он туда может хоть черта лысого засунуть. Но после выполнения ./configure создается Makefile, котоый я и могу проверить.

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

     
  • 4.78, Я (??), 15:29, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    смысл в том чтобы взять проект с автотулами, прогнать скрипт, получить мейкфайл и полностью удалить ошмётки автотула из проекта.
     

  • 1.3, Аноним (3), 00:06, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не хуже систем сборки, чем для C/C++
     
     
  • 2.24, rezzet (?), 03:15, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    autoconf это боль и страдание. Cmake по факту сейчас становится стандартом для с++, он с более человеческим лицом, но то же конечно кактус еще тот.
     
     
  • 3.31, Мне хватает (?), 06:26, 19/04/2024 Скрыто ботом-модератором     [к модератору]
  • +5 +/
     
  • 3.62, Аноним (62), 13:58, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    meson же!
     
     
  • 4.111, Аноним (111), 23:22, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что большие увесистые проекты перевести очень сложно,
    так как там мало того что закостенелые адепты Autotools, а во вторых
    много зависимых скриптов сборки.

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

     
  • 3.69, Ivan_83 (ok), 14:24, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    CMake имеет слишком много зависимостей, и внутри синтаксис там плавает, где то _CFLAG где то _CFLAGS и тп после вроде бы стандартных автодетектов.

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


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

     
     
  • 4.77, Советский инженер (ok), 15:28, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Я бы хотел видеть сборочную систему написанную на LUA.

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

     
  • 4.79, Аноним (79), 15:41, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Premake https://premake.github.io/
     
  • 4.91, Александр (??), 20:28, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На lua premake5 и xmake хороши. Xmake не использовал, только доки видел. А вот premake5 активно использую. Очень гибкий и читаемый сборочный скрипт выходит. Честно говоря, понятнее и проще выходит, нежели Cmake. Увы, последний мне приходится использовать из-за того, чтотон почти стандарт доя C++. Но если что-то чисто своё, не тянущее собирабельных зависимостей, использую premake5. Также из плюсов: на сколько помню, не имеет зависимостей. Lua линкуется в исполняемый файл.
    Не из lua qmake нравится. Жаль к Qt прибит. Жду, когда от него откажутся, и может сообщество вынесет его как независимую сборочную систему.
     
  • 4.102, Аноним (102), 03:33, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Meson хуже хотя бы тем, что у него нет документации. Есть какой-то несчастный огрызок на сайте, а хотите больше - несите деньги за книжку.
     
  • 3.89, Аноним (89), 20:00, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    qmake был удобным вариантом.
     

  • 1.4, Аноним (4), 00:10, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Из недостатков отмечается потеря поддержки старых Unix-систем

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

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

     
     
  • 2.9, Аноним (3), 00:48, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Суть не в том, что Autotools создаёт плохой Makefile, а в том, что Autotools - кошмарный инструмент, от которого нужно избавиться и забыть как страшный сон. Главное мигрировать, а Makefile самый доступный вариант для этого
     
     
  • 3.12, Аноним (12), 00:52, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Makefile, как и make, устарел уже вместе с autotools много раз и такой же убогий костыльный хлам
     
     
  • 4.13, Аноним (13), 01:09, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И какой же смузи для make использовать? Всякие ninja - это тот же make, только вид сбоку. Ну типа быстрее тысячи правил сборки перемалывают.

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

     
     
  • 5.95, Аноним (12), 22:46, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >  Ну типа быстрее тысячи правил сборки перемалывают. Другой вопрос, что make плохо подходит для создания проекта...

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

     
  • 4.32, YT (?), 06:27, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Куда с мигрируешь с любителями каждый по не обоснованному случаю меняющими версию свойх библиотек , которые не относятся к действительно нужным миграционным допустим графическим где gles1 , gles2 действительно отличаются как d3d9/8/9/10/11/12 ?

     
     
  • 5.94, Аноним (12), 22:42, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сам то понял что спросил? Пиши свои таблицы совместимости внешней либы с твоим проектом и маппингов в сборочные опции. Это много проще, понятнее и удобнее в дальнейшем использовании, чем весь хлам autotools-ов, который в основном заточен на подерржку кучи реализаций libс и POSIX стандартов в разных ОС.
     
  • 5.107, Аноним (-), 12:33, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем себе проблем создавать? Если все эти версии действительно востребованы, то найдётся мейнтейнер, который будет заниматься этим. С тебя только юнит-тесты, чтобы отлавливать несовместимости API. Хотя тот вот мейнтейнер с радостью этим займётся, если ты его пинать будешь, чтобы он все найденные несовместимости оформлял бы юнит-тестами.
     
  • 3.90, Аноним (89), 20:02, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    может Autotools и кошмар, но требовать для сборки С-программ наличия питона в сборочном окружении - это какой-то позор и зашквар...
     
  • 2.19, тыквенное латте (?), 01:27, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >А что сразу нельзя встроить в  Autotools - чтобы выплевывал нормальный макефайл ?

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

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

     
     
  • 3.25, Аноним (-), 03:59, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Разработчики корпораций пишут софт, который соберётся от какого-нибудь мамонта SGI, до GNU Hurd, с различными линкерами и кор-утилитами"

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

     
     
  • 4.26, тыквенное латте (?), 04:11, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > "Разработчики корпораций пишут софт, который запускается через wget !@#% | bash под ubuntu lts.

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


     
     
  • 5.39, нах. (?), 09:16, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причем в процессе скачивает тебе вчера выпущенную версию пихона и два десятка (бинарных) библиотек к ней.

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

     
  • 5.41, Аноним (41), 09:21, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И такое тоже пишут, спору нет. А гнутые хакеры пишут манифесты вроде https://www.gnu.org/gnu/manifesto.ru.html с просьбами халявы, лозунги и прочие столь же полезные (нет) вещи.
     

  • 1.5, vle (ok), 00:12, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    https://github.com/cheusov/mk-configure

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

     
  • 1.8, Аноним (8), 00:20, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В который из мейков? Позикс, гнутый, бздешный?
     
     
  • 2.48, нах. (?), 11:11, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты когда последний раз видел configure, способный сгенерить файл для мэйка отличного от единственноправильного гнутого? Году наверное этак в 99м?

     
     
  • 3.81, Аноним (8), 16:10, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там сразу так и не поймешь, какой из них перед тобой
     
  • 3.88, Аноним (88), 19:57, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну поставь себе трупик фряхи, там тебе будет их собственный мэйк, а gmake опционален
    Так что не нужно тут, хочешь негнутого мэйка, бери негнутый
     
     
  • 4.114, vle (ok), 17:25, 21/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну поставь себе трупик фряхи, там тебе будет их собственный мэйк, а
    > gmake опционален
    > Так что не нужно тут, хочешь негнутого мэйка, бери негнутый

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

     
  • 3.117, Аноним (117), 22:25, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то configure таки генерирует мейкфайлы совместимые с любыми мейками, если там явно в .am не написать GNU'шного синтаксиса. В портах FreeBSD все порты с GNU_CONFIGURE=YES не без USES=gmake собираются BSD'шным мейком, и на самом деле портов требущих гнутого единицы.
     
     
  • 4.121, нах. (?), 23:20, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот лет двадцать назад - генерил.

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

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

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

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

     

  • 1.10, Аноним (12), 00:49, 19/04/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     

  • 1.11, Аноним (11), 00:51, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Мотивом для создания проекта

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

     
  • 1.15, Аноним (15), 01:15, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сообщите дедуле, что каждый год и так количество пакетов собираемых с autotools сокращается. Уже есть Cmake и Meson.
     
  • 1.16, тыквенное латте (?), 01:16, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > Из недостатков отмечается потеря поддержки старых Unix-систем, усиление зависимости от libtool и снижение гибкости в настройке.

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

     
     
  • 2.18, Аноним (18), 01:21, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Итак, у тебя один проект, который ты используешь только на своих серверах и для своих заказчиков.
    Зачема тебе все эти тулсы. Ты просто сделал форк викинул весь хлам и скатился до 100 строк в Makefile.
     
     
  • 3.20, тыквенное латте (?), 01:32, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А так - по 50 строк на configure.ac и Makefile.ac и у меня есть поддержка сборки для всего зоопарка. Не понимаю, как человек осиливший autotools не может осилить Plain Makefile? Зачем ему питон-портянка? :-D

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

     
  • 2.40, нах. (?), 09:17, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Типичная современная разработка, что ж не так?

     

  • 1.21, Skullnet (ok), 01:35, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А вариант не юзать autotools никак не приходит в голову? Есть же CMake...
     
     
  • 2.53, pavlinux (ok), 12:00, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.
     
     
  • 3.56, Skullnet (ok), 13:01, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.

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

     
     
  • 4.57, pavlinux (ok), 13:10, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Для cmake нужен CMakeLists.txt, его тоже надо ручками писать.
    > В чём проблема написать руками?

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

     

  • 1.23, Аноним (23), 01:56, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если что, вместе с языком D распространяется интересная вещь DUB ( https://dub.pm/ ) - она много чего может, включая и компиляцию. А главное - конфиги пишут на человеческом языке.
     
     
  • 2.34, Аноним (34), 07:50, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там же 2 варианта конфигов. Если .sdl, то да, на человековоспринимаемом.
     

  • 1.29, Аноним (29), 05:47, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Конфиги Autotools бывают весьма замысловаты, даже если речь не о кроссплатформенном софте: так понимаю, Эрик Рэймонд тупо подзабил на некоторые возможности Autotools?
     
     
  • 2.30, Аноним (30), 05:57, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://gitlab.com/esr/autodafe/-/blob/master/de-autoconfiscation.adoc
     

  • 1.33, Аноним (34), 07:47, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Отдам предпочтение Autotools, он на православной GPLv3+.
     
  • 1.35, Аноним (35), 08:11, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Недавно собирал Lua, вместо всего этого треша чистенький make-файл, который удобно читать и при необходимости редактировать. При этом, внимание! Lua собирается во всех операционках и любыми компиляторами!
     
     
  • 2.36, тыквенное латте (?), 08:26, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Недавно собирал Lua, вместо всего этого треша чистенький make-файл, который удобно читать
    > и при необходимости редактировать. При этом, внимание! Lua собирается во всех
    > операционках и любыми компиляторами!

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

     
  • 2.45, n00by (ok), 10:19, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +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))

     
     
  • 3.52, куку (?), 11:47, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это вялотекущее аутодафе, для этого надо пренебречь всеми остстальными сферами жизни.
     
  • 3.101, Аноним (102), 03:30, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно поэтому использование Makefile, m4 и прочего наркоманского бреда из 70-х нужно законодательно запретить.
     
  • 3.108, Аноним (-), 12:36, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что не надо писать скрипты на sh, и тем более на мешанине make и sh. Для таких вещей есть python. Каждому инструменту своё применение.
     
     
  • 4.109, n00by (ok), 15:53, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это фрагмент Makefile для GNU Make. Всё соответствует официальной документации info make.

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

     
     
  • 5.110, Аноним (12), 20:36, 20/04/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.112, n00by (ok), 07:49, 21/04/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.76, Ivan_83 (ok), 15:21, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я за то чтобы всё собирать с помощью make на LUA, осталось его только создать :)
     

  • 1.37, Аноним (-), 08:54, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вот теперь надо написать транслятор из ниндзи в мейкфайл. И заодно из симейка, чтобы не собирать симейк.

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

     
     
  • 2.61, Бывалый Смузихлёб (ok), 13:50, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И не на питоне

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

     

  • 1.44, n00by (ok), 10:17, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эрик Рэймонд читает Опеннет? Тут неоднократно сборщики пакетов называли autotools плохим словом, но сами ничего не могли с этим поделать.
     
     
  • 2.84, Аноним (84), 17:45, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как будто программа Эрика - это решение проблемы. Портировать на CMake и с нуля проблем нет. Просто выкидываешь весь autotools-хлам и с нуля делаешь по нормальному. Но ведь мэйнтейнеры-дебилы на это не согласятся, а недебилы уже давно сами перешли без посторонней помощи.
     

  • 1.46, Аноним (46), 10:39, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Аутодафе́ — публичное покаяние осуждённых еретиков, чтение и исполнение их приговоров, в том числе сожжение на костре.
     
     
  • 2.85, Аноним (85), 18:12, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я то думал, что "Autodafe" - это поковерканное "Autodeath".

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

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

     
     
  • 3.106, Аноним (106), 10:58, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >auto de fé , meaning 'act of faith'
     

  • 1.50, Аноним (42), 11:13, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > стоявший у истоков движения открытого ПО

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

     
     
  • 2.86, Аноним (85), 18:16, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты что! "Собор и Базар" ведь!
     
     
  • 3.98, Изя (?), 23:58, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Guidebook к нетхаку
     
  • 2.105, Аноним (106), 10:56, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    reposurgeon же.
     

  • 1.58, Аноним (58), 13:24, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, сам Эрик Рэймонд! Этому товарищу я верю, чувствую вещь стоящая должна быть!
     
  • 1.59, Аноним (59), 13:25, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    вот бы ещё мэйкфайлы в CMake преобразовывать автоматически... без использования больших языковых моделей...
     
     
  • 2.65, pavlinux (ok), 14:10, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > вот бы ещё мэйкфайлы в CMake преобразовывать автоматически... без использования больших
    > языковых моделей...

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

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

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


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

     
  • 3.118, Аноним (117), 22:39, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Преобразовать Makefile в CMakeLists.txt для cmake, чтоб  cmake потом сгенерил Makefile?
    > Подружись с автором проекта, у него в башке такая же логика ))

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

     

  • 1.63, Пряник (?), 14:03, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как Rust без make обходится?
     
     
  • 2.66, pavlinux (ok), 14:16, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А как Rust без make обходится?

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



        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)



     
     
  • 3.116, Пряник (?), 11:02, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за комплимент :)
     
  • 2.67, Аноним (42), 14:22, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Никак. Он без него не обходится. Или ты думаешь что какой-нить cmake - это замена make? А вот и нет, cmake - это замена autotools. Все эти системы сборки в итоге генерируют Makefile, к-й выполняется make'ом (написанном на C, аха-аха-аха). В том числе и в расте
     
     
  • 3.74, Ivan_83 (ok), 14:45, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще то нет.
    Cmake умеет сам быть make и умеет генерить сценарий для ninja, это исключает использование ещё и make, насколько я знаю.
     
     
  • 4.80, Аноним (42), 16:04, 19/04/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.104, Аноним (12), 06:23, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CMake make-ом быть не умеет, не неси чуши
     
  • 3.103, Аноним (12), 06:23, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Замены autotools как таковой нет. CMake это просто генератор сборочных правил, а autotools ещё и конфигуратор. Впрочем для большинства приложений достаточно CMake + небольших своих доработок
     
     
  • 4.120, Аноним (117), 22:47, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это конечно же ложь, cmake в том числе и конфигуратор (сборка информации о системе, поиск зависимостей, опции сборки - всё это он делает) и чтобы знать это достаточно cmake хотя бы раз запустить. Не понимаю как вы, ни разу не запустив cmake, себе позволяете что-то про него рассказывать.
     
  • 3.119, Аноним (117), 22:44, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Все эти системы сборки в итоге генерируют Makefile

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

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

     
  • 2.68, Аноним (62), 14:22, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Раст код не надо собирать, тем более юзать.
     
     
  • 3.115, Пряник (?), 11:01, 22/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тебя никто не заставляет :)
     

  • 1.64, Аноним (62), 14:05, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    То есть через 30 лет сообществу всётаки надоел подход когда скрипт делает скрипт который генерирует сценарий сборки.
     
     
  • 2.82, Сообщество (?), 16:37, 19/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, мне не надоел такой подход
     
  • 2.99, vle (ok), 00:42, 20/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/cheusov/mk-configure
    Лично мне такой подход надоел 15 лет назад. В два раза быстрее :-)
     

  • 1.92, randomize (?), 21:03, 19/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Троллинг 99 уровня, начиная названием проекта и файлов и заканчивая языком.
     
  • 1.100, Аноним (102), 03:26, 20/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У этого проекта такой же смысл как перемалывать кости динозавров чтобы лепить новые скелеты динозавров.
     
  • 1.113, Аноним (113), 13:37, 21/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вещь явно полезная, если выполняет свои обещания, но название... Из ближайших ассоциаций только одна конспирологическая теория.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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