📄 configure.sh
字号:
LIBDIRS=""CFLAGS="-pipe"CPPFLAGS=LDFLAGS=LIBS=""CONF_LINK="g++ -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS &>$LOGFILE-stl"# Check STL supportif [ -z $NO_STL ]; then echo -n $CHECK "STL can be used... " if [ ! -z $STL ]; then if [ $STL != "true" ]; then echo "Using STL in include path $STL" INCLUDES="$INCLUDES $STL" else echo "Using STL in standard include path" fi DEFINES="$DEFINES APOLLO_USE_STL" else cat > conftest.c <<EOF#line 336 "configure.sh"#include <memory>int main( int, char ** ){ std::auto_ptr<int> tmp; tmp.reset( new int( 1 ) ); int *ptr = tmp.get(); return 0;}EOF eval $CONF_LINK if [ $? -eq 0 ]; then DEFINES="$DEFINES APOLLO_USE_STL" echo "STL support added" else echo "STL cannot be used, using custom classes." echo "It seems that you have not got an up-to-date STL version installed." echo "If you wish to use STL in Apollo we recommend you get STL from" echo "http://www.stlport.org" fi rm -rf conftest* fielse echo "STL support disabled"fiQTLINK="-lqt"CFLAGS="-pipe"CPPFLAGS=LDFLAGS=LIBS="-L$QTDIR/lib $QTLINK"INCS="-I$QTDIR/include"CONF_LINK="QTDIR=$QTDIR g++ -o conftest $CFLAGS $CPPFLAGS $LDFLAGS $INCS conftest.c $LIBS &>$LOGFILE-qt"# Check Qt supportecho -n $CHECK_FOR "Qt... "cat > conftest.c <<EOF#line 374 "configure.sh"#include <qapplication.h>#if QT_VERSION < 200#error "Apollo requires Qt version 2.00 or higher"#endifint main( int argc, char **argv ) { QApplication app( argc, argv ); return 0; }EOFeval $CONF_LINKif [ $? -eq 0 ]; then echo -n "yes, in $QTDIR"else QTLINK="-lqt-mt" LIBS="-L$QTDIR/lib $QTLINK" CONF_LINK="QTDIR=$QTDIR g++ -o conftest $CFLAGS $CPPFLAGS $LDFLAGS $INCS conftest.c $LIBS &>$LOGFILE-qt" eval $CONF_LINK if [ $? -eq 0 ]; then echo -n "yes, in $QTDIR" else echo "no, Apollo cannot compile without Qt" echo "Please download Qt from http://www.trolltech.com before running $0 again" echo "Consult the file INSTALL for more information" exit 1 fifiecho $CONF_LINK >> $LOGFILE-qtrm -rf conftest*# Check Qt 3.0 supportcat > conftest.c <<EOF#line 400 "configure.sh"#include <qapplication.h>#if QT_VERSION < 300#error "Qt 3.0 build for Apollo is disabled"#endifint main( int argc, char **argv ) { QApplication app( argc, argv ); return 0; }EOFeval $CONF_LINKif [ $? -eq 0 ]; then echo " (Building for Qt 3.x)" DEFINES="$DEFINES USING_QT3"else echo " (Building for Qt 2.x)"fiecho $CONF_LINK >> $LOGFILE-qtrm -rf conftest*CFLAGS="-pipe"CPPFLAGS=LDFLAGS=LIBS="-L$KDEDIR/lib -L$QTDIR/lib -lkdecore -lksystemtrayapplet -lDCOP $QTLINK"INCS="-I$KDEDIR/include -I$KDEDIR/include/kde -I$QTDIR/include"CONF_LINK="g++ -o conftest $CFLAGS $CPPFLAGS $LDFLAGS $INCS conftest.c $LIBS &>$LOGFILE-kde"# Check KDE supportif [ -z $NO_KDE ]; then echo -n $CHECK "KDE can be used... " if [ ! -z $KDE ]; then if [ $KDE != "true" ]; then echo "Using KDE installed at $KDE" INCLUDES="$INCLUDES $KDE" KDEDIR=$KDE else echo "Using KDE in include path $KDEDIR" fi USE_KDE="true" else if [ -z $KDEDIR ]; then KDEDIR="/usr/local/kde" fi cat > conftest.c <<EOF#line 447 "configure.sh"#include <stdio.h>#include <kapp.h>#include <ksystemtray.h>class QmSystrayKDE : public KSystemTray{public: QmSystrayKDE(QWidget *parent = 0, const char *name = 0) : KSystemTray( parent, name ) {} virtual ~QmSystrayKDE() {}};int main() { KApplication app; if (KDE_VERSION_MAJOR != 2) return 1; else return 0;}EOF eval $CONF_LINK if [ $? -eq 0 ]; then USE_KDE="true" echo "KDE support added" else echo "KDE support omitted" fi echo $CONF_LINK >> $LOGFILE-kde rm -rf conftest* fielse echo "KDE support disabled"fi# Check for id3libLIBS="-lz -lid3"INCS=""if [ ! -z "$ID3DIR" ]; then LIBS="-L$ID3DIR/lib $LIBS" INCS="-I$ID3DIR/include $INCS"ficat > conftest.c <<EOF#line 480 "configure.sh"#include <id3/tag.h>int main(int argc, char *argv[]){ ID3_Tag *test = new ID3_Tag(); if ( ID3LIB_MAJOR_VERSION >= 3 && ID3LIB_MINOR_VERSION >= 8 ) return 0; else return 1;}EOFCFLAGS="-pipe"CPPFLAGS=LDFLAGS=CONF_LINK="g++ -o conftest $CFLAGS $CPPFLAGS $LDFLAGS $INCS conftest.c $LIBS &>$LOGFILE-id3lib"echo -n $CHECK_FOR "id3lib... "eval $CONF_LINKif test $? -eq 0 ; then ENABLE_ID3="true" echo -n "yes" LDPATH="/usr/local/lib" if [ ! -z "$ID3DIR" ]; then LDPATH="$LDPATH:$ID3DIR/lib" fi LDPATH="LD_LIBRARY_PATH=$LDPATH:$LD_LIBRARY_PATH" PROGRUN="$LDPATH ./conftest" eval $PROGRUN if test $? -eq 0 ; then echo "" else echo " but insufficient version" echo echo echo ' ID3lib was found but had an insufficient version' echo ' The required version is 3.8.0 or higher.' echo ' You can get id3lib from' echo ' http://id3lib.sourceforge.net/' echo echo exit 1 fielse unset ENABLE_ID3 echo "no" echo echo if [ ! -z "$ID3DIR" ]; then echo ' ID3lib was not found using the default include and library path.' else echo " ID3lib was not found in $ID3DIR." fi echo ' You can get id3lib from' echo ' http://id3lib.sourceforge.net/' echo echo exit 1firm -rf conftest*# Checks doneif [ ! -z $USE_KDE ]; then DEFINES="$DEFINES APOLLO_USE_KDE" SOURCES="$SOURCES kde/qmsystray_kde.cpp kde/qmapplication_kde.cpp" HEADERS="$HEADERS kde/qmsystray_kde.h kde/qmapplication_kde.h" LIBRARIES="$LIBRARIES -lkdecore -lDCOP -lksystemtrayapplet" LIBDIRS="$LIBDIRS -L$KDEDIR/lib" INCLUDES="$INCLUDES . $KDEDIR/include $KDEDIR/include/kde"else SOURCES="$SOURCES qt/qmapplication_qt.cpp" HEADERS="$HEADERS qt/qmapplication_qt.h"fiif [ ! -z $USE_BUFFER ]; then DEFINES="$DEFINES ENABLE_MPG123_BUFFER"fiif test ! -z "$MADDIR" ; then INCLUDES="$INCLUDES $MADDIR/include" DEFINES="$DEFINES ENABLE_MAD" LIBRARIES="$LIBRARIES -lmad" LIBDIRS="$LIBDIRS -L$MADDIR/lib"fi if test ! -z "$ENABLE_ID3" ; then DEFINES="$DEFINES ENABLE_ID3" LIBRARIES="$LIBRARIES -lid3" if test ! -z "$ID3DIR" ; then INCLUDES="$INCLUDES $ID3DIR/include" LIBDIRS="$LIBDIRS -L$ID3DIR/lib" fifiXMAKE_INCDIR_QT="TMAKE_INCDIR_QT"XMAKE_CXXFLAGS="TMAKE_CXXFLAGS"if [ "$TMAKE" == "$QMAKE_DEF" ]; then XMAKE_INCDIR_QT="QMAKE_INCDIR_QT" if [ "$BUILD" == "debug" ]; then XMAKE_CXXFLAGS="QMAKE_CXXFLAGS_WARN_ON" else XMAKE_CXXFLAGS="QMAKE_CXXFLAGS_WARN_OFF" fifiecho TMAKE_INCLUDES="unix:$XMAKE_INCDIR_QT += $INCLUDES"TMAKE_DEFINES="DEFINES += $DEFINES"TMAKE_LIBS="LIBS += $LIBRARIES $LIBDIRS"TMAKE_SOURCES="SOURCES += $SOURCES"TMAKE_HEADERS="HEADERS += $HEADERS"if [ "$BUILD" == "debug" ]; then TMAKE_CXXFLAGS="unix:$XMAKE_CXXFLAGS += -Wall -Wno-ctor-dtor-privacy"else TMAKE_CXXFLAGS="unix:$XMAKE_CXXFLAGS += -Wno-ctor-dtor-privacy"fi# We need this dummy setting since qmake chokes on empty "" entriesTMAKE_QMAKE="NON_SETTING=unset"if [ ! -z $QMAKE_QMAKE ]; then TMAKE_QMAKE="QMAKE_QMAKE = $QMAKE_QMAKE"fiTMAKE_AFTER_CMD=""if [ "$TMAKE" == "$QMAKE_DEF" ]; then TMAKE_AFTER_CMD="-after"fi# Create the Makefileecho -n "Creating Makefile"if PATH=$QMAKE_PATH:$PATH $TMAKE -o Makefile $PRO_FILE $TMAKE_AFTER_CMD "$TMAKE_CONF" "$TMAKE_CXXFLAGS" "$TMAKE_INCLUDES" "$TMAKE_DEFINES" "$TMAKE_LIBS" "$TMAKE_SOURCES" "$TMAKE_HEADERS" "$TMAKE_QMAKE" &>.log-tmake; then # re-run configure when apollo.pro changes sed -e "s, tmake apollo.pro -o Makefile, ./configure.sh $*," < Makefile > Makefile.tmp (echo "export QTDIR=$QTDIR" && cat Makefile.tmp) > Makefile sed -e 's,^all: \(.*\),all: \1 apollo-client/apollo-client,' < Makefile > Makefile.tmp mv Makefile.tmp Makefile if [ "$MAKE_CLEAN" == "true" ]; then $MAKE clean 2>&1 > /dev/null fi echo echo echo $PROJECT is now configured for building. Just run $MAKE. echoelse echo " failed" echo "$TMAKE failed with error:" cat .log-tmakefi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -