From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS autolearn=no autolearn_force=no version=3.4.1 From: Aleksey Cheusov Envelope-From: cheusov@tut.by To: ALT Linux Team development discussions In-Reply-To: <20200520121450.GB154014@glebfm.cloud.tilaa.com> References: <20200520074634.GA30268@gyle.altlinux.org> <20200520093414.GA154014@glebfm.cloud.tilaa.com> <173841589971618@mail.yandex.ru> <20200520121450.GB154014@glebfm.cloud.tilaa.com> MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 20 May 2020 19:10:13 +0300 Message-Id: <114911589989822@mail.yandex.ru> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 Subject: Re: [devel] mk-configure vs gcc (was: [cyber] I: Sisyphus-20200520 x86_64 beehive_status: +11 -15 (207)) X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2020 16:10:16 -0000 Archived-At: List-Archive: List-Post: 20.05.2020, 15:16, "Gleb Fotengauer-Malinovskiy" : > On Wed, May 20, 2020 at 01:49:23PM +0300, Aleksey Cheusov wrote: >>  > Или это значит, что после обновления компилятора >>  > нужно пересобирать mk-configure? >> >>  Да. И я не знаю, как этого добиться. > > (Сейчас я просто его вручную пересобрал.) > > Ну, скажем, чтобы не забывать это делать можно написать в mk-configure > > Requires: gcc = %__gcc_version_base > Requires: gcc%__gcc_version_base = %__gcc_version С учетом вот этого замечания | На %e2k есть такой же метапакет gcc, но с другой базовой версией | (макрос %__gcc_version_base при этом работает, так что проблем с | этим нет). А вот пакетов gcc%__gcc_version_base на самом деле нет, | поэтому такая проверка не сработает. С другой стороны, с ветки на | ветку мы прыгаем редко, поэтому мне не сложно будет ещё один пакет | пересобрать. я так и не понял, что нужно сделать, чтобы и e2k поддерживался без ifndef. > Согласен, если есть возможность автоматически определять параметры > среды, лучше её использовать. Параметры среды как раз и определяются динамически -- во время сборки mk-c. Если в системе компилятор, сажем, gcc-8.3.0, зачем пересчитывать одно и тоже по сто раз? Конфигурирационные переменные USE_{CC,CXX}_COMPILERS содержат список компиляторов, особенности которых нужно собрать и сохранить в mk/ в процессе установки. Скрипт mkc_compiler_settings нужен для того, чтобы оставалась возможность собрать что-то любым другим/неродным компилятором, если очень хочется. При его запуске особенности компилятора записываются пользователю в HOME. > Первое чтобы привязаться к текущей (на момент сборки) ветке gcc, которая > используется по умолчанию. Второе чтобы в этой ветке привязаться к > конкретной версии. Ещё и всё это скорее всего под %ifnarch %e2k, потому > что у них там отельный мир «Полезных ископаемых нет. Воды нет. > Растительности нет...». Наличие странных компиляторов меня абсолютно не пугает. Самое худшее, что может произойти -- lcc распознается как unknown версии 0.0.0. Поддержать его upsteam несложно, надо что-нибудь прописать сюда https://github.com/cheusov/mk-configure/blob/master/scripts/mkc_check_compiler.in и, возможно, сюда https://github.com/cheusov/mk-configure/blob/master/mk/mkc_imp.compiler_settings.mk > Если при пересборке или после запуска mkc_compiler_settings инструмент может > переварить, что компилятор поменялся, может его стоит научить это делать и > без явного приминения этих средств? См. выше. >>  > Ещё в этих пакетах не используются наши дистрибутивные %optflags при >>  > сборке, в итоге на первый взгляд даже -O там нет, напришиваются какие-то >>  > макросы для использования mk-configure в спеках. >> >>  Макросы сделаю, да, чуть позже, когда разберусь с этим получше. >>  Что касается флагов, можно выставить переменную COPTS. > > Ну вот проще было бы чтобы это тоже делал макрос, Это понятно.