[webkit-dev] Does Webkit support cross-compilation?

Charles Woloszynski charles.woloszynski at innocon.com
Thu Oct 25 16:30:35 PDT 2007


I am trying to get webkit/qt built for a PPC processor, using a cross- 
compiler.  I have Qt cross-compiled and running on the target machine.

When I try to build the webkti for the PPC, I get an error with  
dftables.  Apparently, the build routine cross-compiled it instead of  
building it for the host platform.  I am guessing that I did not set  
up something correctly.    Below is the output and the QMAKESPEC.  I  
don't see how to set it up to know about a cross-compilation.

Any suggestions is greatly appreciated.



Charlie


charlie at woloszynski-pvm:~> export QMAKESPEC=/home/charlie/qtopia- 
build/qtopia-core-opensource-src-4.3.2/mkspecs/qws/linux-ppc_82xx-g++/
charlie at woloszynski-pvm:~> export QTDIR=/home/charlie/qtopia-build/ 
qtopia-core-opensource-src-4.3.2/
charlie at woloszynski-pvm:~> export CROSS_COMPILE=ppc_82xx-
charlie at woloszynski-pvm:~> cd webkit-build/
charlie at woloszynski-pvm:~/webkit-build> ./WebKit/WebKitTools/Scripts/ 
build-webkit -qt --qmake=/home/charlie/qtopia-build/qtopia-core- 
opensource-src-4.3.2/bin/qmake
Calling '/home/charlie/qtopia-build/qtopia-core-opensource-src-4.3.2/ 
bin/qmake CONFIG+=qt-port -r OUTPUT_DIR=/home/charlie/webkit-build/ 
WebKit/WebKitBuild/Release /home/charlie/webkit-build/WebKit/ 
WebKit.pro CONFIG+=release CONFIG-=debug' in /home/charlie/webkit- 
build/WebKit/WebKitBuild/Release ...

Reading /home/charlie/webkit-build/WebKit/WebKit/qt/Plugins/ 
Plugins.pro [/home/charlie/webkit-build/WebKit/WebKitBuild/Release// 
WebKit/qt/Plugins]
Reading /home/charlie/webkit-build/WebKit/JavaScriptCore/pcre/ 
dftables.pro [/home/charlie/webkit-build/WebKit/WebKitBuild/Release// 
JavaScriptCore/pcre]
Reading /home/charlie/webkit-build/WebKit/WebCore/WebCore.pro [/home/ 
charlie/webkit-build/WebKit/WebKitBuild/Release//WebCore]
Reading /home/charlie/webkit-build/WebKit/JavaScriptCore/kjs/ 
testkjs.pro [/home/charlie/webkit-build/WebKit/WebKitBuild/Release// 
JavaScriptCore/kjs]
Reading /home/charlie/webkit-build/WebKit/WebKit/qt/QtLauncher/ 
QtLauncher.pro [/home/charlie/webkit-build/WebKit/WebKitBuild/ 
Release//WebKit/qt/QtLauncher]
Reading /home/charlie/webkit-build/WebKit/WebKitTools/DumpRenderTree/ 
qt/DumpRenderTree.pro [/home/charlie/webkit-build/WebKit/WebKitBuild/ 
Release//WebKitTools/DumpRenderTree/qt]
cd WebKit/qt/Plugins/ && make -f Makefile
make[1]: Entering directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/WebKit/qt/Plugins'
ppc_82xx-g++ -c -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG - 
DQT_STATICPLUGIN -DQT_PLUGIN -DQT_GUI_LIB -DQT_NETWORK_LIB - 
DQT_CORE_LIB -DQT_SHARED -I/home/charlie/qtopia-build/qtopia-core- 
opensource-src-4.3.2/mkspecs/qws/linux-ppc_82xx-g++ -I/home/charlie/ 
webkit-build/WebKit/WebKit/qt/Plugins -I/home/charlie/qtopia-build/ 
qtopia-core-opensource-src-4.3.2/include/QtCore -I/home/charlie/ 
qtopia-build/qtopia-core-opensource-src-4.3.2/include/QtCore -I/home/ 
charlie/qtopia-build/qtopia-core-opensource-src-4.3.2/include/ 
QtNetwork -I/home/charlie/qtopia-build/qtopia-core-opensource- 
src-4.3.2/include/QtNetwork -I/home/charlie/qtopia-build/qtopia-core- 
opensource-src-4.3.2/include/QtGui -I/home/charlie/qtopia-build/ 
qtopia-core-opensource-src-4.3.2/include/QtGui -I/home/charlie/qtopia- 
build/qtopia-core-opensource-src-4.3.2/include -I/home/charlie/webkit- 
build/WebKit/WebKit/qt/Plugins -I/home/charlie/webkit-build/WebKit/ 
WebKit/qt/Plugins -I. -o ICOHandler.o /home/charlie/webkit-build/ 
WebKit/WebKit/qt/Plugins/ICOHandler.cpp
rm -f libqtwebico.a
ar cqs libqtwebico.a ICOHandler.o
make[1]: Leaving directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/WebKit/qt/Plugins'
cd JavaScriptCore/pcre/ && make -f Makefile.dftables
make[1]: Entering directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/JavaScriptCore/pcre'
ppc_82xx-gcc -c -pipe -O2 -Wall -W -DBUILDING_QT__ -I/home/charlie/ 
qtopia-build/qtopia-core-opensource-src-4.3.2/mkspecs/qws/linux- 
ppc_82xx-g++ -I../../../../JavaScriptCore/pcre -I../../../../ 
JavaScriptCore/wtf -I../../../../JavaScriptCore/pcre -I. -o  
dftables.o ../../../../JavaScriptCore/pcre/dftables.c
ppc_82xx-g++ -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.3.2-generic/ 
lib -o tmp/dftables dftables.o
make[1]: Leaving directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/JavaScriptCore/pcre'
cd WebCore/ && make -f Makefile
make[1]: Entering directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/WebCore'
/home/charlie/webkit-build/WebKit/WebKitBuild/Release/JavaScriptCore/ 
pcre/tmp/dftables tmp/chartables.c
/home/charlie/webkit-build/WebKit/WebKitBuild/Release/JavaScriptCore/ 
pcre/tmp/dftables: /home/charlie/webkit-build/WebKit/WebKitBuild/ 
Release/JavaScriptCore/pcre/tmp/dftables: cannot execute binary file
make[1]: *** [tmp/chartables.c] Error 126
make[1]: Leaving directory `/home/charlie/webkit-build/WebKit/ 
WebKitBuild/Release/WebCore'
make: *** [sub-WebCore-make_default-ordered] Error 2


=========== qmake.conf

#
# qmake configuration for linux-g++
#

MAKEFILE_GENERATOR	= UNIX
TEMPLATE		= app
CONFIG			+= qt link_prl
QT			+= core gui network
QMAKE_INCREMENTAL_STYLE = sublib

QMAKE_CC		= $(CROSS_COMPILE)gcc
QMAKE_LEX		= flex
QMAKE_LEXFLAGS		=
QMAKE_YACC		= yacc
QMAKE_YACCFLAGS		= -d
QMAKE_CFLAGS		= -pipe
QMAKE_CFLAGS_WARN_ON	= -Wall -W
QMAKE_CFLAGS_WARN_OFF	=
QMAKE_CFLAGS_RELEASE	= -O2
QMAKE_CFLAGS_DEBUG	= -g
QMAKE_CFLAGS_SHLIB	= -fPIC
QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD	= -D_REENTRANT
QMAKE_CFLAGS_HIDESYMS   = -fvisibility=hidden

QMAKE_CXX		= $(CROSS_COMPILE)g++
QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF	= $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE	= $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG	= $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB	= $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility- 
inlines-hidden

QMAKE_INCDIR		=
QMAKE_LIBDIR		=
QMAKE_INCDIR_X11	=
QMAKE_LIBDIR_X11	=
QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
QMAKE_INCDIR_OPENGL	=
QMAKE_LIBDIR_OPENGL	=
QMAKE_INCDIR_QTOPIA	= $(QPEDIR)/include/
QMAKE_LIBDIR_QTOPIA	= $(QPEDIR)/lib

QMAKE_LINK		= $(CROSS_COMPILE)g++
QMAKE_LINK_SHLIB	= $(CROSS_COMPILE)g++
QMAKE_LFLAGS		=
QMAKE_LFLAGS_RELEASE	=
QMAKE_LFLAGS_DEBUG	=
QMAKE_LFLAGS_SHLIB      = -shared
QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME     = -Wl,-soname,
QMAKE_LFLAGS_THREAD     =
QMAKE_RPATH             = -Wl,-rpath,

QMAKE_LIBS		=
QMAKE_LIBS_DYNLOAD	= -ldl
QMAKE_LIBS_X11		=
QMAKE_LIBS_X11SM	=
QMAKE_LIBS_QT		= -lqte
QMAKE_LIBS_QT_THREAD	= -lqte-mt
QMAKE_LIBS_QT_OPENGL	= -lqgl
QMAKE_LIBS_QTOPIA	= -lqtopia -lqpe
QMAKE_LIBS_THREAD	= -lpthread
QMAKE_LIBS_OPENGL	=

QMAKE_MOC		= $$[QT_INSTALL_BINS]/moc
QMAKE_UIC		= $$[QT_INSTALL_BINS]/uic

QMAKE_AR		= ar cqs
QMAKE_RANLIB		=

QMAKE_TAR		= tar -cf
QMAKE_GZIP		= gzip -9f

QMAKE_COPY		= cp -f
QMAKE_MOVE		= mv -f
QMAKE_DEL_FILE		= rm -f
QMAKE_DEL_DIR		= rmdir
QMAKE_STRIP		= $(CROSS_COMPILE)strip
QMAKE_CHK_DIR_EXISTS	= test -d
QMAKE_MKDIR		= mkdir -p
include(../../common/unix.conf)
load(qt_config)





More information about the webkit-dev mailing list