rockbox/rbutil/rbutilqt/rbutilqt.pro
Dominik Riebeling 495edfb7b9 Add support for OS X' Speech Synthesis Manager TTS system.
This adds basic support for using the OS X' TTS system. The current
implementation does only support selecting the voice itself, no further
settings (like speed pitch / speed) adjustments are implemented. As OS X' TTS
system wants the strings to get spoken in 8 bit encoding problems with locale
combinations are possible. For this better error handling in the rbutil TTS is
needed. The voice test button in the configuration dialog reacts pretty slow
due to the way its speaking is done. This can get changed but also requires
adjustments in the rbutil TTS system.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24979 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 20:19:54 +00:00

305 lines
7.6 KiB
Prolog

# ccache
unix:!mac:!noccache {
CCACHE = $$system(which ccache)
!isEmpty(CCACHE) {
message("using ccache")
QMAKE_CXX = ccache g++
QMAKE_CC = ccache gcc
}
}
MYBUILDDIR = $$OUT_PWD/build/
OBJECTS_DIR = $$MYBUILDDIR/o
UI_DIR = $$MYBUILDDIR/ui
MOC_DIR = $$MYBUILDDIR/moc
RCC_DIR = $$MYBUILDDIR/rcc
# check version of Qt installation
VER = $$find(QT_VERSION, ^4\.[3-9]+.*)
isEmpty(VER) {
!isEmpty(QT_VERSION) error("Qt found:" $$[QT_VERSION])
error("Qt >= 4.3 required!")
}
message("Qt version used:" $$VER)
RBBASE_DIR = $$_PRO_FILE_PWD_
RBBASE_DIR = $$replace(RBBASE_DIR,/rbutil/rbutilqt,)
message("Rockbox Base dir: "$$RBBASE_DIR)
# check for system speex. Add a custom rule for pre-building librbspeex if not
# found. Newer versions of speex are split up into libspeex and libspeexdsp,
# and some distributions package them separately. Check for both and fall back
# to librbspeex if not found.
LIBSPEEX = $$system(pkg-config --silence-errors --libs speex speexdsp)
!static:!isEmpty(LIBSPEEX) {
LIBS += $$LIBSPEEX
}
# custom rules for rockbox-specific libs
!mac {
RBLIBPOSTFIX = .a
}
mac {
RBLIBPOSTFIX = -universal
}
rbspeex.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/rbspeex librbspeex$$RBLIBPOSTFIX CC=\"$$QMAKE_CC\"
libucl.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/ucl/src libucl$$RBLIBPOSTFIX CC=\"$$QMAKE_CC\"
libmkamsboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mkamsboot libmkamsboot$$RBLIBPOSTFIX CC=\"$$QMAKE_CC\"
libmktccboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mktccboot libmktccboot$$RBLIBPOSTFIX CC=\"$$QMAKE_CC\"
QMAKE_EXTRA_TARGETS += rbspeex libucl libmkamsboot libmktccboot
PRE_TARGETDEPS += rbspeex libucl libmkamsboot libmktccboot
# rule for creating ctags file
tags.commands = ctags -R --c++-kinds=+p --fields=+iaS --extra=+q $(SOURCES)
tags.depends = $(SOURCES)
QMAKE_EXTRA_TARGETS += tags
# add a custom rule for making the translations
lrelease.commands = $$[QT_INSTALL_BINS]/lrelease -silent $$_PRO_FILE_
QMAKE_EXTRA_TARGETS += lrelease
!dbg {
PRE_TARGETDEPS += lrelease
}
SOURCES += rbutilqt.cpp \
main.cpp \
installwindow.cpp \
base/httpget.cpp \
configure.cpp \
zip/zip.cpp \
zip/unzip.cpp \
base/zipinstaller.cpp \
progressloggergui.cpp \
installtalkwindow.cpp \
base/talkfile.cpp \
base/talkgenerator.cpp \
base/autodetection.cpp \
../ipodpatcher/ipodpatcher.c \
../sansapatcher/sansapatcher.c \
../chinachippatcher/chinachip.c \
browsedirtree.cpp \
themesinstallwindow.cpp \
base/uninstall.cpp \
uninstallwindow.cpp \
base/utils.cpp \
preview.cpp \
base/encoders.cpp \
encttscfggui.cpp \
base/encttssettings.cpp \
base/ttsbase.cpp \
base/ttsexes.cpp \
base/ttssapi.cpp \
base/ttsfestival.cpp \
../../tools/wavtrim.c \
../../tools/voicefont.c \
base/voicefile.cpp \
createvoicewindow.cpp \
base/rbsettings.cpp \
base/serverinfo.cpp \
base/systeminfo.cpp \
base/rbunzip.cpp \
base/rbzip.cpp \
base/system.cpp \
sysinfo.cpp \
systrace.cpp \
base/bootloaderinstallbase.cpp \
base/bootloaderinstallmi4.cpp \
base/bootloaderinstallhex.cpp \
base/bootloaderinstallipod.cpp \
base/bootloaderinstallsansa.cpp \
base/bootloaderinstallfile.cpp \
base/bootloaderinstallchinachip.cpp \
base/bootloaderinstallams.cpp \
base/bootloaderinstalltcc.cpp \
../../tools/mkboot.c \
../../tools/iriver.c \
HEADERS += rbutilqt.h \
installwindow.h \
base/httpget.h \
configure.h \
zip/zip.h \
zip/unzip.h \
zip/zipentry_p.h \
zip/unzip_p.h \
zip/zip_p.h \
version.h \
base/zipinstaller.h \
installtalkwindow.h \
base/talkfile.h \
base/talkgenerator.h \
base/autodetection.h \
base/progressloggerinterface.h \
progressloggergui.h \
../ipodpatcher/ipodpatcher.h \
../ipodpatcher/ipodio.h \
../ipodpatcher/parttypes.h \
../sansapatcher/sansapatcher.h \
../sansapatcher/sansaio.h \
../chinachippatcher/chinachip.h \
irivertools/h100sums.h \
irivertools/h120sums.h \
irivertools/h300sums.h \
browsedirtree.h \
themesinstallwindow.h \
base/uninstall.h \
uninstallwindow.h \
base/utils.h \
preview.h \
base/encoders.h \
encttscfggui.h \
base/encttssettings.h \
base/ttsbase.h \
base/ttsexes.h \
base/ttsfestival.h \
base/ttssapi.h \
../../tools/wavtrim.h \
../../tools/voicefont.h \
base/voicefile.h \
createvoicewindow.h \
base/rbsettings.h \
base/serverinfo.h \
base/systeminfo.h \
base/rbunzip.h \
base/rbzip.h \
sysinfo.h \
base/system.h \
systrace.h \
base/bootloaderinstallbase.h \
base/bootloaderinstallmi4.h \
base/bootloaderinstallhex.h \
base/bootloaderinstallipod.h \
base/bootloaderinstallsansa.h \
base/bootloaderinstallfile.h \
base/bootloaderinstallchinachip.h \
base/bootloaderinstallams.h \
base/bootloaderinstalltcc.h \
../../tools/mkboot.h \
../../tools/iriver.h \
# Needed by QT on Win
INCLUDEPATH = $$_PRO_FILE_PWD_ $$_PRO_FILE_PWD_/irivertools $$_PRO_FILE_PWD_/zip $$_PRO_FILE_PWD_/zlib $$_PRO_FILE_PWD_/base
INCLUDEPATH += $$RBBASE_DIR/rbutil/ipodpatcher $$RBBASE_DIR/rbutil/sansapatcher $$RBBASE_DIR/tools/rbspeex $$RBBASE_DIR/tools
DEPENDPATH = $$INCLUDEPATH
LIBS += -L$$OUT_PWD -L$$MYBUILDDIR -lrbspeex -lmkamsboot -lmktccboot -lucl
TEMPLATE = app
dbg {
CONFIG += debug thread qt warn_on
DEFINES -= QT_NO_DEBUG_OUTPUT
message("debug")
}
!dbg {
CONFIG += release thread qt
DEFINES -= QT_NO_DEBUG_OUTPUT
DEFINES += NODEBUG
message("release")
}
TARGET = rbutilqt
FORMS += rbutilqtfrm.ui \
aboutbox.ui \
installwindowfrm.ui \
progressloggerfrm.ui \
configurefrm.ui \
browsedirtreefrm.ui \
installtalkfrm.ui \
themesinstallfrm.ui \
uninstallfrm.ui \
previewfrm.ui \
createvoicefrm.ui \
sysinfofrm.ui \
systracefrm.ui
RESOURCES += $$_PRO_FILE_PWD_/rbutilqt.qrc
win32 {
RESOURCES += $$_PRO_FILE_PWD_/rbutilqt-win.qrc
}
!dbg {
RESOURCES += $$_PRO_FILE_PWD_/rbutilqt-lang.qrc
}
TRANSLATIONS += lang/rbutil_cs.ts \
lang/rbutil_de.ts \
lang/rbutil_fi.ts \
lang/rbutil_fr.ts \
lang/rbutil_gr.ts \
lang/rbutil_he.ts \
lang/rbutil_it.ts \
lang/rbutil_ja.ts \
lang/rbutil_nl.ts \
lang/rbutil_pl.ts \
lang/rbutil_pt.ts \
lang/rbutil_pt_BR.ts \
lang/rbutil_ru.ts \
lang/rbutil_tr.ts \
lang/rbutil_zh_CN.ts \
lang/rbutil_zh_TW.ts \
QT += network
DEFINES += RBUTIL _LARGEFILE64_SOURCE
win32 {
SOURCES += ../ipodpatcher/ipodio-win32.c
SOURCES += ../ipodpatcher/ipodio-win32-scsi.c
SOURCES += ../sansapatcher/sansaio-win32.c
RC_FILE = rbutilqt.rc
LIBS += -lsetupapi -lnetapi32
}
unix {
SOURCES += ../ipodpatcher/ipodio-posix.c
SOURCES += ../sansapatcher/sansaio-posix.c
}
unix:!static:!libusb1 {
LIBS += -lusb
}
unix:!static:libusb1 {
DEFINES += LIBUSB1
LIBS += -lusb-1.0
}
unix:static {
# force statically linking of libusb. Libraries that are appended
# later will get linked dynamically again.
LIBS += -Wl,-Bstatic -lusb -Wl,-Bdynamic
}
macx {
SOURCES += base/ttscarbon.cpp
HEADERS += base/ttscarbon.h
QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.4u.sdk
QMAKE_LFLAGS_PPC=-mmacosx-version-min=10.4 -arch ppc
QMAKE_LFLAGS_X86=-mmacosx-version-min=10.4 -arch i386
CONFIG+=x86 ppc
LIBS += -L/usr/local/lib -framework IOKit -framework CoreFoundation -framework Carbon -lz
INCLUDEPATH += /usr/local/include
QMAKE_INFO_PLIST = Info.plist
RC_FILE = icons/rbutilqt.icns
# rule for creating a dmg file
dmg.commands = hdiutil create -ov -srcfolder rbutilqt.app/ rbutil.dmg
QMAKE_EXTRA_TARGETS += dmg
}
static {
QTPLUGIN += qtaccessiblewidgets
LIBS += -L$$(QT_BUILD_TREE)/plugins/accessible -lqtaccessiblewidgets
LIBS += -L.
DEFINES += STATIC
message("using static plugin")
}
unix {
target.path = /usr/local/bin
INSTALLS += target
}