Merge commit 'mini2440-support-stable-temp' into mini2440-stable
[openembedded/mini2440.git] / classes / qmake_base.bbclass
blob5eccfa47e458fe50edb3312018df46703d699aab
2 OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++"
3 QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}"
5 # We override this completely to eliminate the -e normally passed in
6 EXTRA_OEMAKE = ' MAKEFLAGS= '
8 export OE_QMAKE_CC="${CC}"
9 export OE_QMAKE_CFLAGS="${CFLAGS}"
10 export OE_QMAKE_CXX="${CXX}"
11 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
12 export OE_QMAKE_AR="${AR}"
13 export OE_QMAKE_STRIP="echo"
14 export OE_QMAKE_RPATH="-Wl,-rpath-link,"
16 # default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11
18 oe_qmake_mkspecs () {
19     mkdir -p mkspecs/${OE_QMAKE_PLATFORM}
20     for f in ${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}/*; do
21         if [ -L $f ]; then
22             lnk=`readlink $f`
23             if [ -f mkspecs/${OE_QMAKE_PLATFORM}/$lnk ]; then
24                 ln -s $lnk mkspecs/${OE_QMAKE_PLATFORM}/`basename $f`
25             else
26                 cp $f mkspecs/${OE_QMAKE_PLATFORM}/
27             fi
28         else
29             cp $f mkspecs/${OE_QMAKE_PLATFORM}/
30         fi
31     done
34 qmake_base_do_configure() {
35         case ${QMAKESPEC} in
36         *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++|*linux-uclibcgnueabi-oe-g++)
37                 ;;
38         *-oe-g++)
39                 die Unsupported target ${TARGET_OS} for oe-g++ qmake spec
40                 ;;
41         *)
42                 oenote Searching for qmake spec file
43                 paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++"
44                 paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths"
46                 if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
47                         paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths"
48                 fi
49                 for i in $paths; do
50                         if test -e $i; then
51                                 export QMAKESPEC=$i
52                                 break
53                         fi
54                 done
55                 ;;
56         esac
58         oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'"
60         if [ -z "${QMAKE_PROFILES}" ]; then 
61                 PROFILES="`ls *.pro`"
62         else
63                 PROFILES="${QMAKE_PROFILES}"
64         fi
66         if [ -z "$PROFILES" ]; then
67                 die "QMAKE_PROFILES not set and no profiles found in $PWD"
68         fi
70         if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
71                 AFTER="-after"
72                 QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
73                 oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}"
74         fi
76         if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
77                 QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
78                 oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}"
79         fi
81 #oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
82         unset QMAKESPEC || true
83         ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES"
86 EXPORT_FUNCTIONS do_configure
88 addtask configure after do_unpack do_patch before do_compile