[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