summaryrefslogtreecommitdiff
path: root/configure
authorkergoth <kergoth>2002-01-25 22:14:26 (UTC)
committer kergoth <kergoth>2002-01-25 22:14:26 (UTC)
commit15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff)
treec2fa0399a2c47fda8e2cd0092c73a809d17f68eb /configure
downloadopie-15318cad33835e4e2dc620d033e43cd930676cdd.zip
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2
Initial revision
Diffstat (limited to 'configure') (more/less context) (show whitespace changes)
-rwxr-xr-xconfigure270
1 files changed, 270 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..d36fd44
--- a/dev/null
+++ b/configure
@@ -0,0 +1,270 @@
+#!/bin/sh
+#
+# Configures to build the Qtopia Environment
+#
+# Copyright 1999-2000 Trolltech AS. All rights reserved.
+#
+
+PLATFORM=linux-generic-g++
+SHARING=shared
+DEBUG=
+QCONFIGARG=
+
+touch .test.qpe.
+if [ '!' -f ${QPEDIR}/.test.qpe. ];
+then
+ rm .test.qpe.
+ echo
+ echo
+ echo ' The environment variable $QPEDIR is not set correctly. It is currently'
+ echo ' set to "'$QPEDIR'", 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 $QPEDIR'
+ echo ' correctly. If you have set $QPEDIR 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.
+
+mkdir -p include/qpe
+( cd include/qpe && rm -f *.h; ln -s ../../library/*.h .; ln -s ../../library/backend/*.h .; rm -f *_p.h; )
+
+VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\.[0-9]*\.[0-9]*.*".*/\1/p' <include/qpe/version.h)
+VERSION_MIN=$(sed -n -e 's/.*QPE_VERSION "[0-9]*\.\([0-9]\)\.[0-9]*.*".*/\1/p' <include/qpe/version.h)
+VERSION_PAT=$(sed -n -e 's/.*QPE_VERSION "[0-9]*\.[0-9]*\.\([0-9]*\).*".*/\1/p' <include/qpe/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
+
+
+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|$QPEDIR|\$(QPEDIR)|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