[devel] Q: non-i586 ix86

Konstantin A. Lepikhov =?iso-8859-1?q?lakostis_=CE=C1_altlinux=2Eru?=
Пн Фев 27 23:20:21 MSK 2006


Hi!

Monday 27, at 06:36:27 PM you wrote:

> 
> <цитата от="Dmitry V. Levin">
> > On Mon, Feb 27, 2006 at 06:17:02PM +0300, Konstantin A. Lepikhov wrote:
> > [...]
> >> Меня интересует практический момент
> >> введения --target pentium4 для autotools в контексте его использования
> >> для
> >> сборки xvid.
> >
> > Если выдернуть этот момент из контекста xvid, то
> > $ fgrep -A1 pentium4 /usr/share/automake/config.sub
> > 	pentium4)
> > 		basic_machine=i786-pc
> ну этот-то знает, его патчили ;) а вот автодетектилку xvid похоже нет ;)
> 
> PS Так и знал, что придется самому залезть в пакет.
Итак, вторая часть марлезонского балета. Просмотр исходников выявил
следующее:
1) см. configure.in (автодетект архитектуры)

dnl ==========================================================================
dnl Check for the ranlib program to generate static library index
dnl ==========================================================================

AC_PROG_RANLIB

dnl ==========================================================================
dnl
dnl This part looks for:
dnl
dnl ARCHITECTURE : The platform architecture
dnl                - IA32 for mmx, mmx-ext, mmx2, sse assembly
dnl                - IA64
dnl                - PPC for PowerPC assembly routines
dnl                - GENERIC for plain C sources only
dnl
dnl BUS: Address bus size (in bits)
dnl      - 32
dnl      - 64
dnl
dnl ENDIANNESS: I think you can guess what this thing means :-)
dnl             - LITTLE_ENDIAN
dnl             - BIG_ENDIAN
dnl
dnl ==========================================================================

dnl
dnl Looking what sources have to be compiled according to the CPU type
dnl

ARCHITECTURE=""

AC_MSG_CHECKING([for whether to use assembly code])
if test x"$assembly" = x"yes" ; then
   AC_MSG_RESULT([yes])
   AC_MSG_CHECKING([for architecture type])
   case "$target_cpu" in
	  i[[3456]]86)
	  AC_MSG_RESULT(ia32)
	  	ARCHITECTURE="IA32"
                ;;
          x86_64)
                AC_MSG_RESULT(x86_64)
                ARCHITECTURE="X86_64"
		;;	
		powerpc)
		AC_MSG_RESULT(PowerPC)
		ARCHITECTURE="PPC"
		;;
		ia64)
		AC_MSG_RESULT(ia64)
		ARCHITECTURE="IA64"
		;;
		*)
		AC_MSG_RESULT($target_cpu)
		ARCHITECTURE="GENERIC"
		;;
   esac
else
   AC_MSG_RESULT([no])
   ARCHITECTURE="GENERIC"
fi

...
даже мне понятно, что pentium4 тут явно определится как GENERIC,
следовательно для него будет assembly=no + скрипту явно пофиг что будет в
--target - i386 или i686. Т.е. ExclusiveArch тут без надобности.

2) см. src/util/x86_asm/cpuid.asm и src/xvid.c/grep detect_cpu_flags(void) - 
даже мне понятно, что возможности cpu определяются в runtime, т.е. смысла
что-то подкручивать при сборке я еще раз не вижу.

Итого - кончайте весь этот тупой тред и пакуйте xvid нормально т.е. без
всяких --disable-assembly! :)

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis на jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis на pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060227/cfe53fb9/attachment-0001.bin>


Подробная информация о списке рассылки Devel