User:Silviof/some crosscompile things/De
From QtMoko
Danish •
Deutsch •
English •
Esperanto •
Français •
Italiano •
Nederlands •
Sardu •
Español
style="background:#8888FF;"| Work in progress
Contents |
[edit] (cross)Compiling für arm
[edit] toolchain erstellen
- installiere crosstool-ng
- kopiere eines dieser files als deine neue .config:
Ich nehme an das die toolchain in ${TOOLCHAIN} liegt.
[edit] compileumgebung anpassen
__TCPATH=/development/x-tools/arm-unknown-linux-gnu-eglibc export PATH=$__TCPATH/bin:$PATH export LIBTOOL_SYSROOT_PATH=$__TCPATH/arm-unknown-linux-gnu export PKG_CONFIG_SYSROOT_DIR=$__TCPATH/arm-unknown-linux-gnu export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/sys-root/usr/lib/pkgconfig:$__TCPATH/usr/lib/pkgconfig export CROSS_COMPILE=arm-unknown-linux-gnu- export ARCH=arm
[edit] libraries hinzufügen
Die Toolchain wird NUR mit den grundsätzlichsten ausgestattet. Einzelne Komponenten/Libraries werden für qtmoko noch gebraucht und müssen nachcompiliert werden.
[edit] ssl
./Configure linux-generic32 -DL_ENDIAN make CC=arm-unknown-linux-gnu-gcc make CC=arm-unknown-linux-gnu-gcc INSTALL_PREFIX=`pwd`/DIST install
[edit] expat
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] dbus
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu\
--localstatedir=/var --sysconfdir=/etc/dbus --with-init-scripts \
--enable-inotify --with-dbus-user=messagebus --without-x \
--enable-abstract-sockets \
CFLAGS=-I${TOOLCHAIN}/usr/include
LDFLAGS=-L${TOOLCHAIN}/usr/lib\
[edit] alsa-lib
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu --disable-python
[edit] sqlite
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu --enable-readline --enable-threadsafe
[edit] glib
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu \
ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes \
glib_cv_stack_grows=yes glib_cv_uscore=yes
[edit] bluez
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu \
--disable-alsa --disable-audio --disable-bccmd \
--enable-configfiles --disable-cups --disable-debug \
--disable-dfutool --enable-dund --disable-fortify \
--disable-gstreamer --disable-hid2hci --enable-hidd \
--enable-input --disable-netlink --enable-network \
--enable-pand --disable-pcmcia --disable-pie \
--enable-serial --enable-service --enable-tools \
--disable-udevrules --disable-usb --sysconfdir=/etc \
DBUS_CFLAGS="`pkg-config --cflags dbus-1`" \
DBUS_LIBS="-ldbus-1" \
CFLAGS=-I$TOOLCHAIN/usr/include \
LDFLAGS="-L$TOOLCHAIN/usr/lib -lglib-2.0"
[edit] tslib
./autogen.sh
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu \
--enable-input \
ac_cv_func_malloc_0_nonnull=yes
[edit] xproto
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] xtrans
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] kbproto
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] inputproto
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] libxau
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu CFLAGS=-I$TOOLCHAIN/usr/include
[edit] libpthread-stubs
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] xcb-proto
[edit] libxcb
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu \
--enable-composite --enable-dpms --enable-glx \
--enable-randr --enable-record --enable-render \
--enable-resource --enable-screensaver --enable-shape \
--enable-shm --enable-sync --enable-xevie \
--enable-xfixes --enable-xfree86-dri --enable-xinerama \
--enable-xinput --enable-xprint --enable-xtest \
--enable-xv --enable-xvmc \
CFLAGS=-I$TOOLCHAIN/usr/include
[edit] xextproto
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] xf86bigfontproto
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu
[edit] libX11
./configure --prefix=/usr --build=i686-linux --host=arm-unknown-linux-gnu \
--enable-malloc0returnsnull \
CFLAGS=-I$TOOLCHAIN/usr/include \
LDFLAGS=-L$TOOLCHAIN/usr/lib
[edit] Krosscompiliere qtmoko
- Sourcen von qtmoko downloaden. Wie hier beschrieben.
- Ausserhalb von den qtmoko-sourcen ein build-directory anlegen und hineinwechseln.
mkdir qtmoko-build cd qtmoko-build
- configure und bauen
../qtmoko/configure -device neo -D _FORTIFY_SOURCE=0 -confirm-license -verbose make
- make image
make image
- Die Binaries befinden sich nun in qtmoko-build/image

