User:Silviof/some crosscompile things/De

From QtMoko

Jump to: navigation, search

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

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
Personal tools
Navigation