QTE by Allan Clark Bug 391

This commit is contained in:
Mike Frysinger 2005-09-09 03:14:28 +00:00
parent 5bc1f0c323
commit 13ef97f580
4 changed files with 538 additions and 0 deletions

View File

@ -92,6 +92,7 @@ source "package/portmap/Config.in"
source "package/pppd/Config.in" source "package/pppd/Config.in"
source "package/procps/Config.in" source "package/procps/Config.in"
source "package/python/Config.in" source "package/python/Config.in"
source "package/qte/Config.in"
source "package/raidtools/Config.in" source "package/raidtools/Config.in"
source "package/readline/Config.in" source "package/readline/Config.in"
source "package/rsync/Config.in" source "package/rsync/Config.in"

262
package/qte/Config.in Normal file
View File

@ -0,0 +1,262 @@
config BR2_PACKAGE_QTE
bool "Qt/E"
default n
select BR2_INSTALL_LIBSTDCPP
select BR2_PTHREADS_NATIVE
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBPNG
help
Trolltech's Qt/Embedded, which offers the same APIs used in building desktop applications tailored to a smaller footprint.
http://trolltech.com/
Only tested with threading on, PACKAGE_JPEG, PACKAGE_LIBPNG, but remove those if you like.
config BR2_PACKAGE_QTE_COMMERCIAL_USERNAME
string "Qt/E Commercial License Username"
default ""
depends BR2_PACKAGE_QTE
help
Commercial users can download their source directly by providing a username. I do not mean this to be a political or economic statement, just a convenience function
config BR2_PACKAGE_QTE_COMMERCIAL_PASSWORD
string "Qt/E Commercial License Password"
default ""
depends BR2_PACKAGE_QTE
help
Commercial users can download their source directly by providing a password. I do not mean this to be a political or economic statement, just a convenience function
choice
prompt "Qt/E Version"
default BR2_QTE_VERSION_2_3_11
depends BR2_PACKAGE_QTE
help
Select the version of Qt/E you wish to use.
config BR2_QTE_VERSION_2_3_8
bool "Qt/E 2.3.8"
config BR2_QTE_VERSION_2_3_9
bool "Qt/E 2.3.9"
config BR2_QTE_VERSION_2_3_10
bool "Qt/E 2.3.10"
config BR2_QTE_VERSION_2_3_11
bool "Qt/E 2.3.11"
endchoice
config BR2_QTE_VERSION
string
default "2.3.8" if BR2_QTE_VERSION_2_3_8
default "2.3.9" if BR2_QTE_VERSION_2_3_9
default "2.3.10" if BR2_QTE_VERSION_2_3_10
default "2.3.11" if BR2_QTE_VERSION_2_3_11
config BR2_PACKAGE_QTE_QVFB
bool "QVfb"
default n
depends BR2_PACKAGE_QTE
help
Trolltech provides a Virtual Framebuffer used to simulate the embedded device during development
http://trolltech.com/
choice
prompt "QVfb Version"
default BR2_QTE_QVFB_VERSION_2_3_2
depends BR2_PACKAGE_QTE_QVFB
help
Select the version of QVfb you wish to use.
config BR2_QTE_QVFB_VERSION_2_3_2
bool "QVfb 2.3.2"
config BR2_QTE_QVFB_VERSION_2_3_9
bool "QVfb 2.3.9"
endchoice
config BR2_QTE_QVFB_VERSION
string
default "2.3.2" if BR2_QTE_QVFB_VERSION_2_3_2
default "2.3.9" if BR2_QTE_QVFB_VERSION_2_3_9
config BR2_PACKAGE_QTE_QT3
bool "Qt/E-3.3.x for Qtopia build"
default n
depends BR2_PACKAGE_QTE_QTOPIA
help
Qtopia requires a Qt/E version >= 3.3.0; when using a Qt/E-2.3.x on the runtime, Qtopia still needs a Qt/E-3.3.x codebase to build
http://trolltech.com/
choice
prompt "QT/E v3 Version"
default BR2_QTE_QT3_VERSION_3_3_4
depends BR2_PACKAGE_QTE_QT3
help
Select the version of QVfb you wish to use.
config BR2_QTE_QT3_VERSION_3_3_4
bool "Qt/E 3.3.4"
config BR2_QTE_QT3_VERSION_3_3_3
bool "Qt/E 3.3.3"
endchoice
config BR2_QTE_QT3_VERSION
string
default "3.3.4" if BR2_QTE_QT3_VERSION_3_3_4
default "3.3.3" if BR2_QTE_QT3_VERSION_3_3_3
config BR2_PACKAGE_QTE_QTOPIA
bool "Qtopia"
default n
depends BR2_PACKAGE_QTE
help
Qtopia defines some more advanced components used for mobile devices
http://trolltech.com/
choice
prompt "Qtopia Version"
default BR2_QTE_QTOPIA_VERSION_2_1_2
depends BR2_PACKAGE_QTE_QTOPIA
help
Select the version of Qtopia you wish to use.
config BR2_QTE_QTOPIA_VERSION_2_1_1
bool "Qtopia 2.1.1"
config BR2_QTE_QTOPIA_VERSION_2_1_2
bool "Qtopia 2.1.2"
endchoice
config BR2_QTE_QTOPIA_VERSION
string
default "2.1.1" if BR2_QTE_QTOPIA_VERSION_2_1_1
default "2.1.2" if BR2_QTE_QTOPIA_VERSION_2_1_2
config BR2_QTE_TMAKE_VERSION
string
default "1.13"
# generated from:
# ls ~/src/buildroot/build_arm/qt-2.3.10/configs/*-static|cut -c56-|sed -e 's/-static//g'|\
# awk '{BR="BR2_QTE_CROSS_"toupper($1); gsub("-","_",BR); gsub("+","P",BR); printf"\tconfig %s\n\t\tbool \"%s\"\n\n",BR,$1}'
choice
prompt "Qt/E Cross-Compiler Target Platform"
default BR2_QTE_CROSS_LINUX_ARM_GPP
depends BR2_PACKAGE_QTE
help
Select the Qt cross-platform string for your build
config BR2_QTE_CROSS_CYGWIN_ARM_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-cygwin-arm-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "cygwin-arm-g++"
config BR2_QTE_CROSS_CYGWIN_IPAQ_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-cygwin-ipaq-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "cygwin-ipaq-g++"
config BR2_QTE_CROSS_CYGWIN_SHARP_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-cygwin-sharp-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "cygwin-sharp-g++"
config BR2_QTE_CROSS_FREEBSD_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-freebsd-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "freebsd-g++"
config BR2_QTE_CROSS_LINUX_ARM_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-linux-arm-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "linux-arm-g++"
config BR2_QTE_CROSS_LINUX_CASSIOPEIA_GPP
bool "linux-cassiopeia-g++"
config BR2_QTE_CROSS_LINUX_GENERIC_GPP
bool "linux-generic-g++"
config BR2_QTE_CROSS_LINUX_INNOVATOR_GPP
bool "linux-innovator-g++"
config BR2_QTE_CROSS_LINUX_IPAQ_GPP
bool "linux-ipaq-g++"
config BR2_QTE_CROSS_LINUX_KOALA_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-linux-koala-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "linux-koala-g++"
config BR2_QTE_CROSS_LINUX_MIPS_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-linux-mips-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "linux-mips-g++"
config BR2_QTE_CROSS_LINUX_SH3_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-linux-sh3-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "linux-sh3-g++"
config BR2_QTE_CROSS_LINUX_SHARP_GPP
bool "linux-sharp-g++"
config BR2_QTE_CROSS_LINUX_X86_GPP
bool "linux-x86-g++"
config BR2_QTE_CROSS_QNX_RTP_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-qnx-rtp-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "qnx-rtp-g++"
config BR2_QTE_CROSS_SOLARIS_GPP
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-solaris-g++.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "solaris-g++"
config BR2_QTE_CROSS_WIN32_MSVC
# qtopia-phone does not have this platform in qtopia-phone-2.1.1/src/libraries/qtopia/custom-win32-msvc.{cpp,h}
depends !BR2_PACKAGE_QTE_QTOPIA
bool "win32-msvc"
endchoice
config BR2_QTE_CROSS_PLATFORM
string
# generated from:
# ls ~/src/buildroot/build_arm/qt-2.3.10/configs/*-static|cut -c56-|sed -e 's/-static//g'|\
# awk '{BR="BR2_QTE_CROSS_"toupper($1); gsub("-","_",BR); gsub("+","P",BR); printf"\tdefault \"%s\"\tif %s\n",$1,BR}'
default "cygwin-arm-g++" if BR2_QTE_CROSS_CYGWIN_ARM_GPP
default "cygwin-ipaq-g++" if BR2_QTE_CROSS_CYGWIN_IPAQ_GPP
default "cygwin-sharp-g++" if BR2_QTE_CROSS_CYGWIN_SHARP_GPP
default "freebsd-g++" if BR2_QTE_CROSS_FREEBSD_GPP
default "linux-arm-g++" if BR2_QTE_CROSS_LINUX_ARM_GPP
default "linux-cassiopeia-g++" if BR2_QTE_CROSS_LINUX_CASSIOPEIA_GPP
default "linux-generic-g++" if BR2_QTE_CROSS_LINUX_GENERIC_GPP
default "linux-innovator-g++" if BR2_QTE_CROSS_LINUX_INNOVATOR_GPP
default "linux-ipaq-g++" if BR2_QTE_CROSS_LINUX_IPAQ_GPP
default "linux-koala-g++" if BR2_QTE_CROSS_LINUX_KOALA_GPP
default "linux-mips-g++" if BR2_QTE_CROSS_LINUX_MIPS_GPP
default "linux-sh3-g++" if BR2_QTE_CROSS_LINUX_SH3_GPP
default "linux-sharp-g++" if BR2_QTE_CROSS_LINUX_SHARP_GPP
default "linux-x86-g++" if BR2_QTE_CROSS_LINUX_X86_GPP
default "qnx-rtp-g++" if BR2_QTE_CROSS_QNX_RTP_GPP
default "solaris-g++" if BR2_QTE_CROSS_SOLARIS_GPP
default "win32-msvc" if BR2_QTE_CROSS_WIN32_MSVC

251
package/qte/qte.mk Normal file
View File

@ -0,0 +1,251 @@
#############################################################
#
# qte: Qt/E build, includes Qt/E-2, QVfb, and Qtopia-2
#
#############################################################
BR2_QTE_C_QTE_VERSION:=$(shell echo $(BR2_QTE_VERSION)| sed -e 's/"//g')
BR2_QTE_C_QT3_VERSION:=$(shell echo $(BR2_QTE_QT3_VERSION)| sed -e 's/"//g')
BR2_QTE_C_QVFB_VERSION:=$(shell echo $(BR2_QTE_QVFB_VERSION)| sed -e 's/"//g')
BR2_QTE_C_QTOPIA_VERSION:=$(shell echo $(BR2_QTE_QTOPIA_VERSION)| sed -e 's/"//g')
BR2_QTE_C_TMAKE_VERSION:=$(shell echo $(BR2_QTE_TMAKE_VERSION)| sed -e 's/"//g')
BR2_QTE_C_USERNAME:=$(shell echo $(BR2_PACKAGE_QTE_COMMERCIAL_USERNAME)| sed -e 's/"//g')
BR2_QTE_C_PASSWORD:=$(shell echo $(BR2_PACKAGE_QTE_COMMERCIAL_PASSWORD)| sed -e 's/"//g')
QTE_QTE_SOURCE:=qt-embedded-$(BR2_QTE_C_QTE_VERSION)-commercial.tar.gz
QTE_QT3_SOURCE:=qt-$(BR2_QTE_C_QT3_VERSION)-commercial.tar.gz
QTE_TMAKE_SOURCE:=tmake-$(BR2_QTE_C_TMAKE_VERSION).tar.gz
QTE_QVFB_SOURCE:=qt-x11-$(BR2_QTE_C_QVFB_VERSION)-commercial.tar.gz
QTE_QTOPIA_SOURCE:=qtopia-phone-source-$(BR2_QTE_C_QTOPIA_VERSION).tar.gz
QTE_SITE:=http://$(BR2_QTE_C_USERNAME):$(BR2_QTE_C_PASSWORD)@dist.trolltech.com/$(BR2_QTE_C_USERNAME)
QTE_QTE_DIR:=$(BUILD_DIR)/qt-$(BR2_QTE_C_QTE_VERSION)
QTE_QT3_DIR:=$(BUILD_DIR)/qt-$(BR2_QTE_C_QT3_VERSION)
QTE_TMAKE_DIR:=$(BUILD_DIR)/tmake-$(BR2_QTE_C_TMAKE_VERSION)
QTE_QVFB_DIR:=$(BUILD_DIR)/qt-$(BR2_QTE_C_QVFB_VERSION)
QTE_QTOPIA_DIR:=$(BUILD_DIR)/qtopia-phone-$(BR2_QTE_C_QTOPIA_VERSION)
QTE_CAT:=zcat
TMAKE:=$(QTE_TMAKE_DIR)/bin/tmake
QTE_UIC_BINARY:=bin/uic
QTE_QVFB_BINARY:=bin/qvfb
QTE_QTE_LIB:=$(QTE_QTE_DIR)/lib/libqte-mt.so.$(BR2_QTE_C_QTE_VERSION)
#QTE_QTE_LIB:=$(TARGET_DIR)/lib/libqte-mt.so.$(BR2_QTE_C_QTE_VERSION)
QTE_QTOPIA_FILE:=$(QTE_QTOPIA_DIR)/bin/qpe
QTE_QTOPIA_IFILE:=$(QTE_QTOPIA_DIR)/opt/Qtopia/bin/qpe
#export QT2DIR=$(pwd)/qt-2.3.2
#export QT3DIR=$(pwd)/qt-%{qt_version}
#export QTEDIR=$(pwd)/qt-%{qte_version}
#export QPEDIR=$(pwd)
#############################################################
#
# Calculate configure options... scary eventually, trivial now
#
# currently only tested with threading
# FIXME: I should use the staging directory here, but I don't yet.
#
#############################################################
# I choose to make the link in libqte so that the linking later is trivial -- a user may choose to use -luuid, or not, and it'll just work.
# ...since libqte* needs -luuid anyhow...
QTE_QTE_CONFIGURE:=-no-xft -L$(E2FSPROGS_DIR)/lib -luuid
QTE_QVFB_CONFIGURE:=-no-xft
QTE_QTOPIA_CONFIGURE:=
QTE_QT3_CONFIGURE:=
ifeq ($(BR2_PTHREADS_NATIVE),y)
QTE_QTE_CONFIGURE:=$(QTE_QTE_CONFIGURE) -thread
QTE_QVFB_CONFIGURE:=$(QTE_QVFB_CONFIGURE) -thread
QTE_QTOPIA_CONFIGURE:=$(QTE_QTOPIA_CONFIGURE) -thread
QTE_QT3_CONFIGURE:=$(QTE_QT3_CONFIGURE) -thread
endif
ifeq ($(BR2_PACKAGE_JPEG),y)
QTE_QTE_CONFIGURE:=$(QTE_QTE_CONFIGURE) -system-jpeg
#FIXME: Do I need an else on this?
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
QTE_QTE_CONFIGURE:=$(QTE_QTE_CONFIGURE) -system-libpng
else
QTE_QTE_CONFIGURE:=$(QTE_QTE_CONFIGURE) -qt-libpng
endif
# as of 2005-08-17's snapshot, uClibc's pthread does NOT support pthread_yield, which is needed
# for ffmpeg's qtopia-phone-2.1.1/src/3rdparty/plugins/codecs/libffmpeg/mediapacketbuffer.h:230
# (also called at line 232). ...so we have to disable ffmpeg
QTE_QTOPIA_CONFIGURE:=$(QTE_QTOPIA_CONFIGURE) -without-libffmpeg
QTE_QTOPIA_CONFIGURE:=$(QTE_QTOPIA_CONFIGURE) -L $(E2FSPROGS_DIR)/lib -I $(E2FSPROGS_DIR)/lib -luuid
#############################################################
#
# Build portion
#
#############################################################
ifneq ($(BR2_QTE_C_QTE_VERSION),$(BR2_QTE_C_QT3_VERSION))
$(DL_DIR)/$(QTE_QT3_SOURCE):
$(WGET) -P $(DL_DIR) $(QTE_SITE)/$(@F)
endif
$(DL_DIR)/$(QTE_QTE_SOURCE) $(DL_DIR)/$(QTE_QVFB_SOURCE) $(DL_DIR)/$(QTE_QTOPIA_SOURCE):
$(WGET) -P $(DL_DIR) $(QTE_SITE)/$(@F)
$(QTE_TMAKE_DIR)/.unpacked: $(DL_DIR)/$(QTE_TMAKE_SOURCE)
$(QTE_CAT) $(DL_DIR)/$(QTE_TMAKE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $@
ifneq ($(BR2_QTE_C_QTE_VERSION),$(BR2_QTE_C_QT3_VERSION))
$(QTE_QT3_DIR)/.unpacked: $(DL_DIR)/$(QTE_QT3_SOURCE)
$(QTE_CAT) $(DL_DIR)/$(QTE_QT3_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $@
endif
$(QTE_QTE_DIR)/.unpacked: $(DL_DIR)/$(QTE_QTE_SOURCE)
$(QTE_CAT) $(DL_DIR)/$(QTE_QTE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $@
$(QTE_QVFB_DIR)/.unpacked: $(DL_DIR)/$(QTE_QVFB_SOURCE)
$(QTE_CAT) $(DL_DIR)/$(QTE_QVFB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $@
$(QTE_QTOPIA_DIR)/.unpacked: $(DL_DIR)/$(QTE_QTOPIA_SOURCE)
$(QTE_CAT) $(DL_DIR)/$(QTE_QTOPIA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
# Allow patches -- copy from busybox usage of kernel patcher
toolchain/patch-kernel.sh $(@D) package/qte qtopia-$(BR2_QTE_C_QTOPIA_VERSION)-\*.patch
touch $@
# currently, this assumes that Qtopis is always involved. The dependency fails and the cp is wrong if Qtopis is not selected.
# I'll fix that later.
$(QTE_QTE_DIR)/.configured: $(QTE_QTE_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QTOPIA_DIR)/.unpacked
cp $(QTE_QTOPIA_DIR)/src/qt/qconfig-qpe.h $(QTE_QTE_DIR)/src/tools/
(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/qws/linux-x86-g++; export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
$(QTE_QTE_CONFIGURE) -qconfig qpe -keypad-mode -qvfb -depths 4,8,16,32 -xplatform $(BR2_QTE_CROSS_PLATFORM) \
);
touch $@
ifneq ($(BR2_QTE_C_QTE_VERSION),$(BR2_QTE_C_QT3_VERSION))
# this is a host-side build, so we don't use any staging dir stuff, nor any TARGET_CONFIGURE_OPTS
$(QTE_QT3_DIR)/.configured: $(QTE_QT3_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked
(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/qws/linux-x86-g++; export PATH=$$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
CC_FOR_BUILD=$(HOSTCC) \
./configure \
-fast $(QTE_QT3_CONFIGURE) \
);
touch $@
endif
$(QTE_QVFB_DIR)/.configured: $(QTE_QVFB_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked
(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/linux-g++; export $$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
$(QTE_QVFB_CONFIGURE) \
);
touch $@
# --edition {other}
# This has some kooky logic. Qtopia requires a Qt <= 3.3.0 to build, yet we like to use s Qt-2.3.x for size constraints on an embedded device
# This target depends on both $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) **and** $(QTE_QT3_DIR)/.configured. if BR2_QTE_C_QTE_VERSION == BR2_QTE_C_QT3_VERSION,
# then it really depends on $(QTE_QTE_DIR)/.configured, which $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) needs, so it's redundant. If QTE is 3.3.0 or later,
# then BR2_QTE_C_QTE_VERSION != BR2_QTE_C_QT3_VERSION, then we need to unpack the other Qt/E, so this dependency is not redundant.
$(QTE_QTOPIA_DIR)/.configured: $(QTE_QTOPIA_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QT3_DIR)/.configured
(cd $(@D); export QTDIR=$(QTE_QTE_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; QT3DIR=$(QTE_QTE_DIR); echo 'yes' | \
$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
$(QTE_QTOPIA_CONFIGURE) --edition phone -no-qtopiadesktop -dqt $(QTE_QT3_DIR) -arch generic -displaysize 160-240 -languages en_US \
-platform linux-g++ -qvfb -xplatform $(BR2_QTE_CROSS_PLATFORM) \
);
touch $@
# there is no build for tmake, only unpack
$(TMAKE): $(QTE_TMAKE_DIR)/.unpacked
# This must NOT use TARGET_CC -- it is a host-side tool
$(QTE_QVFB_DIR)/.make: $(QTE_QVFB_DIR)/.configured $(TMAKE)
#$(TARGET_CONFIGURE_OPTS)
export QTDIR=$(QTE_QVFB_DIR); export PATH=$$QTDIR/bin:$$PATH; \
$(MAKE) -C $(QTE_QVFB_DIR) src-moc
touch $@
$(QTE_QTE_DIR)/$(QTE_UIC_BINARY): $(QTE_QVFB_DIR)/.make $(QTE_QTE_DIR)/.unpacked
export QTDIR=$(QTE_QVFB_DIR); export PATH=$$QTDIR/bin:$$PATH; \
$(MAKE) -C $(QTE_QVFB_DIR)/tools/designer/uic
test -d $(@D) || install -dm 0755 $(@D)
install -m 0755 $(QTE_QVFB_DIR)/bin/$(@F) $@
ifneq ($(BR2_QTE_C_QTE_VERSION),$(BR2_QTE_C_QT3_VERSION))
$(QTE_QT3_DIR)/.make: $(QTE_QT3_DIR)/.unpacked
( export QTDIR=$(QTE_QT3_DIR); export PATH=$$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; \
$(MAKE) -C $(QTE_QT3_DIR) sub-src && \
$(MAKE) -C $(QTE_QT3_DIR)/tools/linguist/lrelease \
$(MAKE) -C $(QTE_QT3_DIR)/tools/linguist/lupdate \
$(MAKE) -C $(QTE_QT3_DIR)/tools/designer/uilib \
$(MAKE) -C $(QTE_QT3_DIR)/tools/designer/uic
);
touch $@
endif
$(QTE_QTE_DIR)/$(QTE_QVFB_BINARY): $(QTE_QVFB_DIR)/.make $(QTE_QTE_DIR)/.unpacked $(TMAKE)
(cd $(QTE_QVFB_DIR)/tools/qvfb && TMAKEPATH=$(QTE_TMAKE_DIR)/lib/linux-g++ $(TMAKE) -o Makefile qvfb.pro)
#$(TARGET_CONFIGURE_OPTS)
export QTDIR=$(QTE_QVFB_DIR); export PATH=$$QTDIR/bin:$$PATH; \
$(MAKE) -C $(QTE_QVFB_DIR)/tools/qvfb
test -d $(@D) || install -dm 0755 $(@D)
install -m 0755 $(QTE_QVFB_DIR)/tools/qvfb/$(@F) $@
$(QTE_QTE_DIR)/src-mt.mk: $(QTE_QTE_DIR)/.configured
# I don't like the src-mk that gets built, so blow it away. Too many includes to override yet
echo "SHELL=/bin/sh" > $@
echo "" >> $@
echo "src-mt:" >> $@
echo " cd src; "'$$(MAKE)'" 'QT_THREAD_SUFFIX=-mt' 'QT_LFLAGS_MT="'$$$$(SYSCONF_LFLAGS_THREAD)'" "'$$$$(SYSCONF_LIBS_THREAD)'"' 'QT_CXX_MT="'$$$$(SYSCONF_CXXFLAGS_THREAD)'" -DQT_THREAD_SUPPORT' 'QT_C_MT="'$$$$(SYSCONF_CFLAGS_THREAD)'" -DQT_THREAD_SUPPORT'" >> $@
$(QTE_QTE_LIB): $(QTE_QTE_DIR)/src-mt.mk
export QTDIR=$(QTE_QTE_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; \
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(TARGET_CC) -C $(QTE_QTE_DIR) src-mt
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(TARGET_CC) DESTDIR=$(TARGET_DIR)/lib -C $(QTE_QTE_DIR) src-mt
# ... and make sure it actually built... grrr... make deep-deep-deep makefile recursion for this habit
test -f $@
$(QTE_QTOPIA_FILE): $(QTE_QTOPIA_DIR)/.configured
export QTDIR=$(QTE_QT3_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; \
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(QTE_QTOPIA_DIR)
$(QTE_QTOPIA_IFILE): $(QTE_QTOPIA_FILE)
export QTDIR=$(QTE_QT3_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; \
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(QTE_QTOPIA_DIR) install PREFIX=$(TARGET_DIR)
qte:: $(QTE_QTE_LIB)
ifeq ($(strip $(BR2_PACKAGE_QTE_QTOPIA)),y)
qte:: $(QTE_QTOPIA_IFILE)
endif
# kinda no-op right now, these are built anyhow
ifeq ($(strip $(BR2_PACKAGE_QTE_QVFB)),y)
qte:: $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY)
endif
qte-clean:
rm -f $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QTE_LIB) $(QTE_QTOPIA_FILE)
-$(MAKE) -C $(QTE_QTE_DIR) clean
-$(MAKE) -C $(QTE_QVFB_DIR) clean
-$(MAKE) -C $(QTE_QTOPIA_DIR) clean
qte-dirclean:
rm -rf $(QTE_QTE_DIR) $(QTE_QVFB_DIR) $(QTE_QTOPIA_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_QTE)),y)
TARGETS+=qte
endif

View File

@ -0,0 +1,24 @@
Qtopia includes a hard-coded config.h file that must have been built by ./configure at some point in its life.
Nevertheless, this file now conflicts with what uClibc provides, so we need to patch it for some more sane
Operation. This change is required for rsync, the only thing I found using program_invocation_short_name
diff -cr qtopia-phone-2.1.1/src/3rdparty/libraries/rsync/config_linux.h qtopia-phone-2.1.1-orig/src/3rdparty/libraries/rsync/config_linux.h
*** qtopia-phone-2.1.1/src/3rdparty/libraries/rsync/config_linux.h 2005-08-18 23:23:00.000000000 +0800
--- qtopia-phone-2.1.1/src/3rdparty/libraries/rsync/config_linux.h 2005-08-18 23:05:17.000000000 +0800
***************
*** 23,29 ****
#define _GNU_SOURCE 1
/* GNU extension of saving argv[0] to program_invocation_short_name */
! #define HAVE_PROGRAM_INVOCATION_NAME 1
/* Define to a replacement type if intmax_t is not a builtin, or in
sys/types.h or stdlib.h or stddef.h */
--- 23,29 ----
#define _GNU_SOURCE 1
/* GNU extension of saving argv[0] to program_invocation_short_name */
! /* #undef HAVE_PROGRAM_INVOCATION_NAME */
/* Define to a replacement type if intmax_t is not a builtin, or in
sys/types.h or stdlib.h or stddef.h */