Hi,

I want to cross compile Qt5 to sh4 platform.
Could anybody help me?

qtbase/mkspecs/sh4-linux-g++/qmake.conf
Qt Code:
  1. MAKEFILE_GENERATOR = UNIX
  2. TARGET_PLATFORM = unix
  3. QMAKE_COMPILER = gcc
  4.  
  5. include(../common/gcc-base-unix.conf)
  6. include(../common/linux.conf)
  7.  
  8. # modifications to g++.conf
  9. QMAKE_CC = sh4-linux-gcc
  10. QMAKE_CXX = sh4-linux-g++
  11. QMAKE_LINK = sh4-linux-g++
  12. QMAKE_LINK_SHLIB = sh4-linux-g++
  13. QMAKE_CFLAGS_RELEASE = -Os
  14. QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
  15. QMAKE_LIBDIR = toolchain/i686-linux+stlinux-2.4/target/usr/lib
  16. QMAKE_INCDIR = toolchain/i686-linux+stlinux-2.4/target/usr/include
  17.  
  18. # modifications to linux.conf
  19. QMAKE_AR = sh4-linux-ar cqs
  20. QMAKE_OBJCOPY = sh4-linux-objcopy
  21. QMAKE_RANLIB = sh4-linux-ranlib
  22.  
  23. QT_CFLAGS_DIRECTFB = -Itoolchain/i686-linux+stlinux-2.4/target/usr/include/directfb -D_REENTRANT
  24. QT_LIBS_DIRECTFB = -Ltoolchain/i686-linux+stlinux-2.4/target/usr/lib -ldirect -ldirectfb -lfusion
  25.  
  26. QMAKE_STRIP = toolchain/i686-linux+stlinux-2.4/bin/sh4-linux-strip
  27.  
  28. load(qt_config)
To copy to clipboard, switch view to plain text mode 

qtbase/mkspecs/sh4-linux-g++/qplatformdefs.h
Qt Code:
  1. #include "../linux-g++/qplatformdefs.h"
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. ./configure \
  2. --prefix=../qt5-build-sh4 \
  3. -little-endian \
  4. -xplatform sh4-linux-g++ \
  5. -directfb \
  6. -opensource \
  7. -confirm-license \
  8. -arch sh4 \
  9. -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \
  10. -no-c++11 \
  11. -verbose
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. Creating qmake...
  2. make: Nothing to be done for 'first'.
  3. Running configuration tests...
  4. Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
  5. Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.
  6. Determining architecture... ()
  7. sh4-linux-g++ -c -pipe -g -Wall -W -fPIE -I../../mkspecs/sh4-linux-g++ -I. -I***/toolchain/i686-linux+stlinux-2.4/target/usr/include -o arch.o arch.cpp
  8. sh4-linux-g++ -o arch arch.o -L***/toolchain/i686-linux+stlinux-2.4/target/usr/lib
  9. Found architecture in binary
  10. CFG_ARCH="unknown"
  11. CFG_CPUFEATURES=""
  12. Determining architecture... ()
  13. g++ -c -pipe -g -Wall -W -fPIE -I../../mkspecs/linux-g++ -I. -o arch.o arch.cpp
  14. g++ -o arch arch.o
  15. { test -n "" && DESTDIR="" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9][^0-9]*\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit 'arch' && test -f arch.gdb-index && objcopy --add-section '.gdb_index=arch.gdb-index' --set-section-flags '.gdb_index=readonly' 'arch' 'arch' && rm -f arch.gdb-index || true
  16. Found architecture in binary
  17. CFG_HOST_ARCH="x86_64"
  18. CFG_HOST_CPUFEATURES=" mmx sse sse2"
  19. System architecture: 'unknown'
  20. Host architecture: 'x86_64'
  21. ....
To copy to clipboard, switch view to plain text mode 
Why arch is "unknown"? What's wrong?
Thanks!