реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Сборка Linux исходников под Windows для тестирования а в последствии для ARM для работы, Почемуто Cygwin не хочет понимать >gcc make
MrYuran
сообщение May 22 2008, 13:36
Сообщение #16


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(west329_ @ May 22 2008, 16:17) *
make[2]: i686-pc-cygwin-ar: Command not found

не может найти обработчик ассемблера. Пошукайте.
И линкер заодно посмотрите, чтоб 2 раза не бегать


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
AVR
сообщение May 22 2008, 14:37
Сообщение #17


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(west329_ @ May 22 2008, 10:18) *
Но это только в планах, саму программу пока нужно подкорректировать, тестировать нужно в Windows.
Для сборки в EXE файл линукс исходников используют популярую Cygwin.
Ого... Какого рода эта программа что для её тестирования можно использовать cygwin? Не проще ли установить Linux в какой-нибудь виртуальной машине типа QEMU и тестировать что угодно без извращений в условиях "более родной окружающей среды"?..

В общем, учите матчасть smile.gif
Вот пара документиков, которые могут пригодиться (нравятся они мне):
http://free-electrons.com/training/devtools
http://free-electrons.com/training/drivers
и т.д. на http://free-electrons.com/training
ИМХО пользоваться готовой сборкой и добавлять что-то свое не лучший метод, возможно стоит пересобрать Linux под себя и засовывать его в интересующий роутер...


--------------------
Go to the top of the page
 
+Quote Post
amw
сообщение May 22 2008, 18:06
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(west329_ @ May 22 2008, 09:18) *
Задача стоит в том, чтоб программа заработала на АРМ контроллере, на котором работает Linux. При этом хочу использовать платформу обычных недорогих роутеров типа ASUS или Dlink? на них как я понял уже стоит линукс, нужно только докинуть исполнямый файл в прошивку.

Но это только в планах, саму программу пока нужно подкорректировать, тестировать нужно в Windows.
Для сборки в EXE файл линукс исходников используют популярую Cygwin.

1. Судя по Вашей формулировке Вы совершенно не представляете, что Вы хотите сделать.
Потому что:
1.1 АРМ контроллере
1.2 на котором работает Linux
1.3 Cygwin
Не понятно, каким образом программа собранная с помощью Cygwin будет работать на ARM контроллере под Linux.
Для того, чтоб программа работала на ARM контроллере, на котором Linux, нужно иметь кросс-компилятор. Будет он (кросс-компилятор) запускаться на Linux или из под Cygwin - не имеет значения.
Для того чтобы перекомпилить Linux-овую программу под Windows, используя Cygwin, нужно иметь под Cygwin установленные ВСЕ программы, используемые во время компиляции.
Очень минимальный набор это binutils, gcc, g++, glibc, make, sh
Как правило, для компиляции более или менее сложных программ нужна еще куча инструментального софта, так что установка по умолчанию Cygwin не катит. Достаточно вероятно, что ПОЛНАЯ установка Cygwin, то есть выбираем при установке ВСЕ пакеты, даст возможность компилировать 75% программ.
1.4 При установке Linux, инструментальный софт устанавливается, как правило, по умолчанию, хотя и не во всех дистрибутивах. Потому программа и компилируется в Linux без проблем.

2. Есть программа make. Вообще-то полное название GNU make, потому как всякие CBuilder-ы то-же имеют такую программу в своем составе, но они в данном случае негодятся.
Эти программа читает Makefile и выполняет то, что там написано.
gcc - это компилятор. Его вызов осуществляется программой make в соответствии с написанными правилами в Makefile.

3. У меня есть некоторый опыт перекомпиляции Linux программ под Cygwin.
В простейших случаях все работает без проблем. Но если программа чуть сложнее школьных упражнений по информатике, то возникает такое количество проблем, что лучше сразу отказаться от этой затеи и перейти на Linux. Если автор программы изначально не писал программу в расчете на Cygwin - то это работенка для мазохистов.

PS: Использую VirtualBox (virtualbox.org), очень хорошо работает. Если не хотите "чистый" Linux, поставте его в виртуальную машину на VirtualBox.

PPS: У Вас же не возникает мысли написать и компилировать программу для Windows используя Linux.
А между прочим это гораздо легче, чем Linux программу компилить в Cygwin.

Сообщение отредактировал amw - May 22 2008, 18:11


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
west329_
сообщение May 23 2008, 06:17
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Вот листин Makefile


Цитата
SHELL = /bin/sh

VER = $(subst ",,$(filter-out \#define CS_VERSION,$(shell grep CS_VERSION globals.h)))
export VER

linux: i386-pc-linux
freebsd: i386-pc-freebsd
tuxbox: cross-powerpc-tuxbox-linux
win: cross-i386-pc-cygwin
cygwin: i386-pc-cygwin

std: linux \
cross-i386-pc-cygwin \
cross-powerpc-tuxbox-linux \
cross-i386-pc-freebsd \
cross-arm-nslu2-linux \
cross-mipsel-router-linux-uclibc927 \
cross-mipsel-router-linux-uclibc928 \
cross-mipsel-tuxbox-linux-glibc \
cross-sh4-linux

all: \
cross-sparc-sun-solaris2.7 \
cross-rs6000-ibm-aix4.2 \
cross-mips-sgi-irix6.5


dist: std
@cd Distribution && tar cvf "../mpcs$(VER).tar" *
@bzip2 -9f "mpcs$(VER).tar"

extra: all
@cd Distribution && tar cvf "../mpcs$(VER)-extra.tar" *
@bzip2 -9f "mpcs$(VER)-extra.tar"

clean:
@-rm -rf mpcs-ostype.h lib Distribution/mpcs-*

tar: clean
@tar cvf "mpcs$(VER)-src.tar" Distribution Make* *.c *.h cscrypt csctapi
@bzip2 -9f "mpcs$(VER)-src.tar"

nptar: clean
@tar cvf "mpcs$(VER)-nonpublic-src.tar" Distribution Make* *.c *.np *.h cscrypt csctapi csgbox
@bzip2 -9f "mpcs$(VER)-nonpublic-src.tar"

######################################################################
#
# LINUX native
#
######################################################################
i386-pc-linux:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=gcc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip

######################################################################
#
# FreeBSD native
#
######################################################################
i386-pc-freebsd:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_FREEBSD -DBSD_COMP -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=gcc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip

######################################################################
#
# FreeBSD 5.4 crosscompiler
#
######################################################################
cross-i386-pc-freebsd:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_FREEBSD -DBSD_COMP -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=i386-pc-freebsd5.4-gcc \
DS_AR=i386-pc-freebsd5.4-ar \
DS_LD=i386-pc-freebsd5.4-ld \
DS_RL=i386-pc-freebsd5.4-ranlib \
DS_ST=i386-pc-freebsd5.4-strip

######################################################################
#
# Tuxbox crosscompiler
#
######################################################################
cross-powerpc-tuxbox-linux:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DPPC" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=powerpc-tuxbox-linux-gnu-gcc \
DS_AR=powerpc-tuxbox-linux-gnu-ar \
DS_LD=powerpc-tuxbox-linux-gnu-ld \
DS_RL=powerpc-tuxbox-linux-gnu-ranlib \
DS_ST=powerpc-tuxbox-linux-gnu-strip


######################################################################
#
# sh4 crosscompiler
#
######################################################################
cross-sh4-linux:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-gcc \
DS_AR=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ar \
DS_LD=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ld \
DS_RL=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-ranlib \
DS_ST=/opt/STM/STLinux-2.0/devkit/sh4/bin/sh4-linux-strip

######################################################################
#
# Cygwin crosscompiler
#
######################################################################
cross-i386-pc-cygwin:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_CYGWIN32" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=i686-pc-cygwin-gcc \
DS_AR=i686-pc-cygwin-ar \
DS_LD=i686-pc-cygwin-ld \
DS_RL=i686-pc-cygwin-ranlib \
DS_ST=i686-pc-cygwin-strip

######################################################################
#
# Cygwin native
#
######################################################################
i386-pc-cygwin:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_CYGWIN32 -I /tmp/include" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=gcc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip

######################################################################
#
# Solaris 7 crosscompiler
#
######################################################################
cross-sparc-sun-solaris2.7:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_SOLARIS -DOS_SOLARIS7 -DBSD_COMP -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="-lsocket" \
DS_ARFLAGS="-rvsl" \
DS_CC=sparc-sun-solaris2.7-gcc \
DS_AR=sparc-sun-solaris2.7-ar \
DS_LD=sparc-sun-solaris2.7-ld \
DS_RL=sparc-sun-solaris2.7-ranlib \
DS_ST=sparc-sun-solaris2.7-strip

######################################################################
#
# AIX 4.2 crosscompiler
#
######################################################################
cross-rs6000-ibm-aix4.2:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthreads" \
DS_OPTS="-O2 -DOS_AIX -DOS_AIX42 -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=rs6000-ibm-aix4.2-gcc \
DS_AR=rs6000-ibm-aix4.2-ar \
DS_LD=rs6000-ibm-aix4.2-ld \
DS_RL=rs6000-ibm-aix4.2-ranlib \
DS_ST=rs6000-ibm-aix4.2-strip

######################################################################
#
# IRIX 6.5 crosscompiler
#
######################################################################
cross-mips-sgi-irix6.5:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_IRIX -DOS_IRIX65 -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=mips-sgi-irix6.5-gcc \
DS_AR=mips-sgi-irix6.5-ar \
DS_LD=mips-sgi-irix6.5-ld \
DS_RL=mips-sgi-irix6.5-ranlib \
DS_ST=mips-sgi-irix6.5-strip

cross-mipsel-router-linux-uclibc: cross-mipsel-router-linux-uclibc928
######################################################################
#
# Linux MIPS(LE) crosscompiler with ucLibc 0.9.27
#
######################################################################
cross-mipsel-router-linux-uclibc927:
@-mipsel-linux-uclibc-setlib 0.9.27
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX -DMIPSEL -DUCLIBC -DUSE_GPIO -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=mipsel-linux-uclibc-gcc \
DS_AR=mipsel-linux-uclibc-ar \
DS_LD=mipsel-linux-uclibc-ld \
DS_RL=mipsel-linux-uclibc-ranlib \
DS_ST=mipsel-linux-uclibc-strip

######################################################################
#
# Linux MIPS(LE) crosscompiler with ucLibc 0.9.28
#
######################################################################
cross-mipsel-router-linux-uclibc928:
@-mipsel-linux-uclibc-setlib 0.9.28
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX -DMIPSEL -DUCLIBC -DUSE_GPIO -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=mipsel-linux-uclibc-gcc \
DS_AR=mipsel-linux-uclibc-ar \
DS_LD=mipsel-linux-uclibc-ld \
DS_RL=mipsel-linux-uclibc-ranlib \
DS_ST=mipsel-linux-uclibc-strip

######################################################################
#
# Linux MIPS(LE) crosscompiler with glibc (DM7025)
#
######################################################################
cross-mipsel-tuxbox-linux-glibc:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_LINUX -DTUXBOX -DMIPSEL -static-libgcc" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=mipsel-linux-glibc-gcc \
DS_AR=mipsel-linux-glibc-ar \
DS_LD=mipsel-linux-glibc-ld \
DS_RL=mipsel-linux-glibc-ranlib \
DS_ST=mipsel-linux-glibc-strip

######################################################################
#
# HP/UX 10.20 native
#
######################################################################
hppa1.1-hp-hpux10.20:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_HPUX -DOS_HPUX10 -D_XOPEN_SOURCE_EXTENDED" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=gcc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip

######################################################################
#
# OSF5.1 native
#
######################################################################
alpha-dec-osf5.1:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_OSF -DOS_OSF5" \
XDS_CFLAGS="-I/usr/include -c" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=cc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip

######################################################################
#
# ARM crosscompiler (big-endian)
#
######################################################################
cross-arm-nslu2-linux:
@-$(MAKE) --no-print-directory \
-f Maketype TYP="$(subst cross-,,$@)" \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_AWK="awk" \
DS_CC="armv5b-softfloat-linux-gcc" \
DS_AR="armv5b-softfloat-linux-ar" \
DS_LD="armv5b-softfloat-linux-ld" \
DS_RL="armv5b-softfloat-linux-ranlib" \
DS_ST="armv5b-softfloat-linux-strip"

######################################################################
#
# ARM crosscompiler (big-endian)
#
######################################################################
cross-armBE-unkown-linux:
-$(MAKE) --no-print-directory \
-f Maketype TYP="$(subst cross-,,$@)" \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_AWK="awk" \
DS_CC="arm-linux-gcc -mbig-endian" \
DS_AR="arm-linux-ar" \
DS_LD="arm-linux-ld -EB" \
DS_RL="arm-linux-ranlib" \
DS_ST="arm-linux-strip"

######################################################################
#
# ARM crosscompiler (little-endian)
#
######################################################################
cross-armLE-unkown-linux:
-$(MAKE) --no-print-directory \
-f Maketype TYP="$(subst cross-,,$@)" \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-DOS_LINUX -O2 -DARM -DALIGNMENT" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_AWK="awk" \
DS_CC="arm-linux-gcc -mlittle-endian" \
DS_AR="arm-linux-ar" \
DS_LD="arm-linux-ld -EL" \
DS_RL="arm-linux-ranlib" \
DS_ST="arm-linux-strip"



Я не выдумываю чтото своё, эта программа прекрасно существует с расширением exe, собранная под CYGwin-ом и прикрасно работает в windows, как и на родном линукс, проверял лично в обеих вариантах а исходники доступны токо линуксовые.

Что-то мне подсказывает
[code]i686-pc-cygwin-ar -rvsl ../lib/libcscrypt-i386-pc-cygwin.a md5.o[code]
что у меня cygvin для i686 а нужно для i386

Сообщение отредактировал west329_ - May 23 2008, 06:18
Go to the top of the page
 
+Quote Post
v_shamaev
сообщение May 23 2008, 10:12
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259



Цитата(MrYuran @ May 22 2008, 17:36) *
не может найти обработчик ассемблера. Пошукайте.
И линкер заодно посмотрите, чтоб 2 раза не бегать


Вообще-то ar - это архиватор, чем собирают, разбирают и лезут в библиотеки.


--------------------
Водку пьянствовать и безобразия нарушать!!!
Go to the top of the page
 
+Quote Post
amw
сообщение May 23 2008, 17:38
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(west329_ @ May 23 2008, 09:17) *
Вот листин Makefile
...
Что-то мне подсказывает
Код
i686-pc-cygwin-ar -rvsl ../lib/libcscrypt-i386-pc-cygwin.a md5.o

что у меня cygvin для i686 а нужно для i386

Пройдитесь по каталогам cygwin и найдите что у Вас i386 или i686.
Попробуйте заменить в Makefile секции
Код
######################################################################
#
# Cygwin native
#
######################################################################
i386-pc-cygwin:

на соответствующий i686 если у Вас действительно i686-*-gcc.
Собственно для того, чтоб запускать эту программу под Cygwin Вам нужна именно Cygwin native сборка.

Но не думаю, что именно в этом Ваша проблема.
Скорее всего Вы не установили всего необходимого для этой программы либо оно не сконфигурировано (сконфигурировано неправильно).

Цитата
Код
.....
gcc -O2 -DOS_LINUX  -c -Icsctapi mpcs-simples.c
In file included from mpcs-simples.c:1:
globals.h:190: error: parse error before "ulong"
.....

Вероятнее всего нет или не инклудится <sys/types.h>

Сообщение отредактировал amw - May 23 2008, 17:44


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 09:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016