From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4103BCEA.50103@mail.ru> Date: Sun, 25 Jul 2004 20:00:10 +0600 From: Alex User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.6) Gecko/20040310 X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: ALT Linux Sisyphus discussion list Subject: Re: [sisyphus] qmake, target i586 References: <410299F0.6040506@mail.ru> <20040724181036.GA3122@sirius.home> In-Reply-To: <20040724181036.GA3122@sirius.home> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Spam: Not detected X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jul 2004 14:00:47 -0000 Archived-At: List-Archive: Sergey Vlasov пишет: >On Sat, Jul 24, 2004 at 11:18:40PM +0600, Alex wrote: > > >>Есть проект, накоденый с использованием Qt (не KDElibs). configure не >>используется, Makefile строится qmake'ом. Как в данном случае правильно >>собрать пакет под i586? При вызове rpm -bb --target i586 >>имя_проекта.spec создаётся файл имя_проекта.i586.rpm, но я же вижу, что >>компилятору указывалось -mcpu=i686! Архитектура определилась qmake'ом, а >>опция target была игнорирована. Или configure должен ОБЯЗАТЕЛЬНО >>присутствовать и обрабатывать опции? >> >> > >Вот стандартные опции: > >$ grep '^%optflags\>' /usr/lib/rpm/i586-alt-linux/macros >%optflags %optflags_default -march=i586 -mcpu=i686 > >Опция -march=... устанавливает ограничения на использование команд >(определяет самый старый процессор, на котором запустится >скомпилированная программа). Опция -mcpu=... определяет, под какой >процессор оптимизируется код, но не влияет на разрешённый набор >команд. Т.е., в данном случае результат компиляции будет работать на >i586, но при оптимизации будет отдаваться предпочтение более >эффективной работе на i686. > > > > Спасибо! P.S. Если не задавать target вообще, то результат одентичен target i586 ( то есть компилеру передаётся -march=i586 -mcpu=i686 (это сгенерил qmake) ).