-rwxr-xr-x | configure | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1,286 +1,290 @@ #!/bin/sh # # Configures to build the Qtopia Environment # # Copyright 1999-2000 Trolltech AS. All rights reserved. # PLATFORM=generic SHARING=shared DEBUG= QCONFIGARG= touch .test.qpe. if [ '!' -f ${OPIEDIR}/.test.qpe. ]; then rm .test.qpe. echo echo echo ' The environment variable $OPIEDIR is not set correctly. It is currently' echo ' set to "'$OPIEDIR'", but it should be set to this directory,' echo ' which is "'`pwd`'".' echo echo ' Please read the INSTALL file for instructions on how to set $OPIEDIR' echo ' correctly. If you have set $OPIEDIR in your .profile or .login, you ' echo ' will need to log out and log in again to make the setting effective.' echo echo exit 1 fi rm .test.qpe. if [ '!' -f $TMAKEPATH/tmake.conf ] then # You have tmake. We'll regenerate the file for you... echo ' The environment variable $TMAKEPATH is not set correclty. ' echo ' It should be set to the tmake path' echo echo ' Please read the INSTALL file for instructions on how to set $TMAKEPATH' echo ' to the environment variable correctly.' exit 1 fi VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\.[0-9]*\.[0-9]*.*".*/\1/p' <library/version.h) VERSION_MIN=$(sed -n -e 's/.*QPE_VERSION "[0-9]*\.\([0-9]\)\.[0-9]*.*".*/\1/p' <library/version.h) VERSION_PAT=$(sed -n -e 's/.*QPE_VERSION "[0-9]*\.[0-9]*\.\([0-9]*\).*".*/\1/p' <library/version.h) TOMAKE= if grep -q 'VERSION_STR.*"3' $QTDIR/include/qglobal.h then QT3=yes else QT3=no fi # Parse the arguments, setting things to "yes" or "no". while [ -n "$1" ]; do case $1 in -platform|-xplatform) # No difference since we don't need to build moc, etc. shift; PLATFORM=$1 ;; -release) DEBUG= ;; -debug) DEBUG=-debug ;; -shared) SHARING=shared ;; -static) SHARING=static ;; -qconfig) # optional way to specify the qconfig-qpe.h is to pass -qconfig qpe shift; QCONFIGARG=DEFINES+=QCONFIG='\"'$1'\"' # Don't quote me on that. ;; -make) shift; TOMAKE="$TOMAKE $1" ;; -qt3) QT3=yes ;; *) HELP=yes;; esac shift done TARGET=configs/$PLATFORM-$SHARING$DEBUG if [ '!' -f $TARGET ] then if [ -f configs/linux-$PLATFORM-g++-$SHARING$DEBUG ] then TARGET=configs/linux-$PLATFORM-g++-$SHARING$DEBUG else echo echo ' The specified platform/compiler not supported: ' $TARGET echo exit 2 fi fi # Next, emit a usage message if something failed. if [ "$HELP" = "yes" ]; then cat <<EOF Usage: $0 [-debug] [-release] [-shared] [-static] [-qt3] [-platform ...] The defaults (*) are usually acceptable. Here is a short explanation of each option: * -release ........... Compile and link Qt with debugging turned off. -debug ............. Compile and link Qt with debugging turned on. * -shared ............ Create and use a shared Qt library (libqt.so) -static ............ Create and use a static Qt library (libqt.a) -qt3 ............... Configure for use with Qt 3.x -platform target ... The platform you are building on ($PLATFORM) EOF exit 0; fi if [ -f library/custom-$PLATFORM.h ] then rm -f library/custom.h ln -s custom-$PLATFORM.h library/custom.h fi mkdir -p include/qpe ( cd include/qpe && rm -f *.h; ln -s ../../library/*.h .; ln -s ../../library/backend/*.h .; rm -f *_p.h; ) +mkdir -p include/opie +( cd include/opie && rm -f *.h; ln -s ../../libopie/*.h .; rm -f *_p.h; ) + + echo Creating makefiles... sed -e 's/^\(VERSION.*= \).*/\1'$VERSION_MAJ.$VERSION_MIN.$VERSION_PAT/ <library/library.pro >library/library.pro-v mv library/library.pro-v library/library.pro if [ "$QT3" = yes ] then VCONFIG="CONFIG+=qt3" else VCONFIG="CONFIG+=qt2" fi if [ -f $TMAKEPATH/tmake.conf ] then # You have tmake. We'll regenerate the file for you... echo "Makefiles will be regenerated." fi H=`pwd` if [ -z "$TOMAKE" ] then TOMAKE=`make showcomponents` fi for a in $TOMAKE ; do N=$a/Makefile M=$a/Makefile.in O=$a/Makefile.add f=`basename $a` if [ -f $TMAKEPATH/tmake.conf -a -f $a/$f.pro ] then ( cd $a; TMAKEPATH=$QTDIR/tmake:$TMAKEPATH \ tmake $QCONFIGARG CONFIG+=embedded $VCONFIG \ -t $H/qt/tmake/propagate.t $f.pro | sed -e "s|$QTDIR|\$(QTDIR)|g" -e "s|$OPIEDIR|\$(OPIEDIR)|g" >Makefile.in; ) echo -n "." appname=`grep '^TARGET' $a/$f.pro | sed 's/^TARGET.*=//' | sed 's/ //g'` translation=`grep '^TRANSLATION.*[^+]=.*' $a/$f.pro | sed 's,^TRANSL.*=.*i18n\/.*\/,,' | sed 's/ //g' | sed 's,\.ts.*,,' | sed 's,^lib,,' ` if [ -n "$translation" -a -n "$appname" ] then if [ $appname != $translation ] then echo echo "Warning: translation and appname disagree in $a/$f.pro" fi fi fi cat > $N <<EOF ############################################################################# # Automatically generated from $M # Build options from $1 ############################################################################# EOF SED= PLATFORM_CFLAGS= if [ "$f" = "embeddedkonsole" ] then case $PLATFORM in *x86*|*generic*|*ipaq*) SED="$SED /^LIBS.*=/s/\$/ -lutil/;" PLATFORM_CFLAGS="-DHAVE_OPENPTY" ;; *) SED= esac elif [ "$f" = "libmpeg3" ] then # Patch our Makefile.in file with the platform specifics for the libmpeg3 library # Use the C++ compiler to compile the .c files (because the fixed-point classes are C++ code) SED='s/\$(CC)/\$(CXX)/;' case $PLATFORM in # For x86 turn on using floating point, compile mmx and css code *x86*) # "-funroll-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -march=i486" PLATFORM_CFLAGS="-DHAVE_MMX -DHAVE_CSS" SED="$SED /SOURCES.*=/s/=/= video\\/mmxidct.S video\\/reconmmx.s\ /;" # For generic turn on using floating point ;; *generic*) PLATFORM_CFLAGS="" # For the ipaq use fixed point maths, don't compile the mmx or css code ;; *ipaq*) PLATFORM_CFLAGS="-DUSE_FIXED_POINT" ;; *) # For 'other platforms', turn off optimizations and use fixed point PLATFORM_CFLAGS="-O -DUSE_FIXED_POINT" esac elif [ "$f" = "libmad" ] then # Patch our Makefile.in file with the platform specifics for the libmad library case $PLATFORM in # For x86 use intel optimizations *x86*) PLATFORM_CFLAGS="-DFPM_INTEL" # For the ipaq use ARM asm optimizations ;; *ipaq*) PLATFORM_CFLAGS="-DFPM_ARM" SED="$SED /SOURCES.*=/s/=/= idmt_arm.S /;" # For generic platforms use the C 64-bit implementation ;; *generic*) PLATFORM_CFLAGS="-DFPM_64BIT" # For 'other platforms' use the ARM code ;; *) PLATFORM_CFLAGS="-DFPM_ARM" SED="$SED /SOURCES.*=/s/=/= idmt_arm.S /;" esac fi if [ -n "$PLATFORM_CFLAGS" ] then # Append the addition c-flags we have defined SED="$SED /CFLAGS.*=.*/s/\$/ $PLATFORM_CFLAGS/;" SED="$SED /CXXFLAGS.*=.*/s/\$/ $PLATFORM_CFLAGS/;" fi cat $TARGET >> $N if [ -n "$SED" ] then sed -e "$SED" $M >> $N else cat $M >> $N fi cat >> $N <<EOF lupdate: lupdate $f.pro lrelease: lrelease $f.pro EOF if [ -f "$O" ] then cat >> $N $O fi done MAKE=make echo echo "QPE is now configured for building. Just run $MAKE (or $MAKE single)." echo "To reconfigure, run $MAKE clean and configure." echo |