3 # qemu configure script (c) 2003 Fabrice Bellard
5 # set temporary file name
6 if test ! -z "$TMPDIR" ; then
8 elif test ! -z "$TEMPDIR" ; then
14 TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
21 interp_prefix="/usr/gnemul/qemu-%M"
33 i386|i486|i586|i686|i86pc|BePC)
45 "Power Macintosh"|ppc|ppc64)
103 CFLAGS="-O2 -mno-cygwin"
111 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
131 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
137 if [ "$bsd" = "yes" ] ; then
138 if [ "$darwin" != "yes" ] ; then
144 source_path=`dirname "$0"`
145 if [ -z "$source_path" ]; then
148 source_path=`cd "$source_path"; pwd`
150 if test "$source_path" = `pwd` ; then
151 source_path_used="no"
153 source_path_used="yes"
157 optarg=`expr "$opt" : '[^=]*=\(.*\)'`
159 --help|-h) show_help=yes
161 --prefix=*) prefix="$optarg"
163 --interp-prefix=*) interp_prefix="$optarg"
165 --source-path=*) source_path="$optarg"
166 source_path_used="yes"
168 --cross-prefix=*) cross_prefix="$optarg"
172 --host-cc=*) host_cc="$optarg"
174 --make=*) make="$optarg"
176 --install=*) install="$optarg"
178 --extra-cflags=*) CFLAGS="$optarg"
180 --extra-ldflags=*) LDFLAGS="$optarg"
182 --cpu=*) cpu="$optarg"
184 --target-list=*) target_list="$optarg"
186 --enable-gprof) gprof="yes"
188 --static) static="yes"
190 --disable-sdl) sdl="no"
192 --enable-coreaudio) coreaudio="yes"
194 --enable-alsa) alsa="yes"
196 --enable-dsound) dsound="yes"
198 --enable-fmod) fmod="yes"
200 --fmod-lib=*) fmod_lib="$optarg"
202 --fmod-inc=*) fmod_inc="$optarg"
204 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
206 --disable-slirp) slirp="no"
208 --enable-adlib) adlib="yes"
210 --disable-kqemu) kqemu="no"
212 --enable-profiler) profiler="yes"
214 --kernel-path=*) kernel_path="$optarg"
216 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
218 --disable-gfx-check) check_gfx="no"
220 --disable-gcc-check) check_gcc="no"
222 --disable-system) softmmu="no"
224 --enable-system) softmmu="yes"
226 --disable-user) user="no"
228 --enable-user) user="yes"
233 # Checking for CFLAGS
234 if test -z "$CFLAGS"; then
238 if test x"$show_help" = x"yes" ; then
241 Usage: configure [options]
242 Options: [defaults in brackets after descriptions]
245 echo "Standard options:"
246 echo " --help print this message"
247 echo " --prefix=PREFIX install in PREFIX [$prefix]"
248 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
249 echo " use %M for cpu name [$interp_prefix]"
250 echo " --target-list=LIST set target list [$target_list]"
252 echo "kqemu kernel acceleration support:"
253 echo " --disable-kqemu disable kqemu support"
254 echo " --kernel-path=PATH set the kernel path (configure probes it)"
256 echo "Advanced options (experts only):"
257 echo " --source-path=PATH path of source code [$source_path]"
258 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
259 echo " --cc=CC use C compiler CC [$cc]"
260 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
261 echo " --make=MAKE use specified make [$make]"
262 echo " --install=INSTALL use specified install [$install]"
263 echo " --static enable static build [$static]"
264 echo " --enable-cocoa enable COCOA (Mac OS X only)"
265 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
266 echo " --enable-adlib enable Adlib emulation"
267 echo " --enable-coreaudio enable Coreaudio audio driver"
268 echo " --enable-alsa enable ALSA audio driver"
269 echo " --enable-fmod enable FMOD audio driver"
270 echo " --enabled-dsound enable DirectSound audio driver"
271 echo " --enable-system enable all system emulation targets"
272 echo " --disable-system disable all system emulation targets"
273 echo " --enable-user enable all linux usermode emulation targets"
274 echo " --disable-user disable all linux usermode emulation targets"
275 echo " --fmod-lib path to FMOD library"
276 echo " --fmod-inc path to FMOD includes"
278 echo "NOTE: The object files are build at the place where configure is launched"
282 cc="${cross_prefix}${cc}"
283 ar="${cross_prefix}${ar}"
284 strip="${cross_prefix}${strip}"
286 if [ -z `which $cc` ] ; then
287 echo "Compiler $cc could not be found"
291 if test "$mingw32" = "yes" ; then
296 if [ "$cpu" = "i386" ] ; then
301 if test -z "$target_list" ; then
302 # these targets are portable
303 if [ "$softmmu" = "yes" ] ; then
304 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
306 # the following are Linux specific
307 if [ "$user" = "yes" ] ; then
308 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
311 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
313 if test -z "$target_list" ; then
314 echo "No targets enabled"
318 if test -z "$cross_prefix" ; then
321 # big/little endian test
323 #include <inttypes.h>
324 int main(int argc, char ** argv){
325 volatile uint32_t i=0x01234567;
326 return (*((uint8_t*)(&i))) == 0x67;
330 if $cc -o $TMPE $TMPC 2>/dev/null ; then
331 $TMPE && bigendian="yes"
333 echo big/little test failed
338 # if cross compiling, cannot launch a program, so make a static guess
339 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
345 # host long bits test
347 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
351 # check gcc options support
357 have_gcc3_options="no"
358 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
359 have_gcc3_options="yes"
362 # Check for gcc4, error if pre-gcc4
363 if test "$check_gcc" = "yes" ; then
368 int main(){return 0;}
370 if $cc -o $TMPO $TMPC 2>/dev/null ; then
371 echo "ERROR: \"$cc\" looks like gcc 4.x"
372 echo "QEMU is known to have problems when compiled with gcc 4.x"
373 echo "It is recommended that you use gcc 3.x to build QEMU"
374 echo "To use this compiler anyway, configure with --disable-gcc-check"
379 ##########################################
384 if test -z "$sdl" ; then
386 sdl_config="sdl-config"
390 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
391 # win32 cross compilation case
392 sdl_config="i386-mingw32msvc-sdl-config"
398 #undef main /* We don't want SDL to override our main() */
399 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
402 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
403 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
404 if test "$_sdlversion" -lt 121 ; then
410 # static link with sdl ?
411 if test "$sdl" = "yes" ; then
413 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
414 sdl_static_libs=`$sdl_config --static-libs`
415 if [ "$aa" = "yes" ] ; then
416 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
419 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
425 fi # sdl compile test
427 fi # cross compilation
430 if test "$mingw32" = "yes" ; then
431 if test -z "$prefix" ; then
432 prefix="/c/Program Files/Qemu"
439 if test -z "$prefix" ; then
442 mandir="$prefix/share/man"
443 datadir="$prefix/share/qemu"
444 docdir="$prefix/share/doc/qemu"
448 echo "Install prefix $prefix"
449 echo "BIOS directory $datadir"
450 echo "binary directory $bindir"
451 if test "$mingw32" = "no" ; then
452 echo "Manual directory $mandir"
453 echo "ELF interp prefix $interp_prefix"
455 echo "Source path $source_path"
456 echo "C compiler $cc"
457 echo "Host C compiler $host_cc"
459 echo "install $install"
461 echo "host big endian $bigendian"
462 echo "target list $target_list"
463 echo "gprof enabled $gprof"
464 echo "profiler $profiler"
465 echo "static build $static"
466 if test "$darwin" = "yes" ; then
467 echo "Cocoa support $cocoa"
469 echo "SDL support $sdl"
470 if test "$sdl" != "no" ; then
471 echo "SDL static link $sdl_static"
473 echo "mingw32 support $mingw32"
474 echo "Adlib support $adlib"
475 echo "CoreAudio support $coreaudio"
476 echo "ALSA support $alsa"
477 echo "DSound support $dsound"
478 if test "$fmod" = "yes"; then
479 if test -z $fmod_lib || test -z $fmod_inc; then
481 echo "Error: You must specify path to FMOD library and headers"
482 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
486 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
490 echo "FMOD support $fmod $fmod_support"
491 echo "kqemu support $kqemu"
493 if test $sdl_too_old = "yes"; then
494 echo "-> Your SDL version is too old - please upgrade to have SDL support"
496 #if test "$sdl_static" = "no"; then
497 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
499 config_mak="config-host.mak"
500 config_h="config-host.h"
502 #echo "Creating $config_mak and $config_h"
504 echo "# Automatically generated by configure - do not modify" > $config_mak
505 echo "# Configured with: $0 $@" >> $config_mak
506 echo "/* Automatically generated by configure - do not modify */" > $config_h
508 echo "prefix=$prefix" >> $config_mak
509 echo "bindir=$bindir" >> $config_mak
510 echo "mandir=$mandir" >> $config_mak
511 echo "datadir=$datadir" >> $config_mak
512 echo "docdir=$docdir" >> $config_mak
513 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
514 echo "MAKE=$make" >> $config_mak
515 echo "INSTALL=$install" >> $config_mak
516 echo "CC=$cc" >> $config_mak
517 if test "$have_gcc3_options" = "yes" ; then
518 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
520 echo "HOST_CC=$host_cc" >> $config_mak
521 echo "AR=$ar" >> $config_mak
522 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
523 echo "CFLAGS=$CFLAGS" >> $config_mak
524 echo "LDFLAGS=$LDFLAGS" >> $config_mak
525 echo "EXESUF=$EXESUF" >> $config_mak
526 if test "$cpu" = "i386" ; then
527 echo "ARCH=i386" >> $config_mak
528 echo "#define HOST_I386 1" >> $config_h
529 elif test "$cpu" = "x86_64" ; then
530 echo "ARCH=x86_64" >> $config_mak
531 echo "#define HOST_X86_64 1" >> $config_h
532 elif test "$cpu" = "armv4b" ; then
533 echo "ARCH=arm" >> $config_mak
534 echo "#define HOST_ARM 1" >> $config_h
535 elif test "$cpu" = "armv4l" ; then
536 echo "ARCH=arm" >> $config_mak
537 echo "#define HOST_ARM 1" >> $config_h
538 elif test "$cpu" = "powerpc" ; then
539 echo "ARCH=ppc" >> $config_mak
540 echo "#define HOST_PPC 1" >> $config_h
541 elif test "$cpu" = "mips" ; then
542 echo "ARCH=mips" >> $config_mak
543 echo "#define HOST_MIPS 1" >> $config_h
544 elif test "$cpu" = "s390" ; then
545 echo "ARCH=s390" >> $config_mak
546 echo "#define HOST_S390 1" >> $config_h
547 elif test "$cpu" = "alpha" ; then
548 echo "ARCH=alpha" >> $config_mak
549 echo "#define HOST_ALPHA 1" >> $config_h
550 elif test "$cpu" = "sparc" ; then
551 echo "ARCH=sparc" >> $config_mak
552 echo "#define HOST_SPARC 1" >> $config_h
553 elif test "$cpu" = "sparc64" ; then
554 echo "ARCH=sparc64" >> $config_mak
555 echo "#define HOST_SPARC64 1" >> $config_h
556 elif test "$cpu" = "ia64" ; then
557 echo "ARCH=ia64" >> $config_mak
558 echo "#define HOST_IA64 1" >> $config_h
559 elif test "$cpu" = "m68k" ; then
560 echo "ARCH=m68k" >> $config_mak
561 echo "#define HOST_M68K 1" >> $config_h
563 echo "Unsupported CPU"
566 if test "$bigendian" = "yes" ; then
567 echo "WORDS_BIGENDIAN=yes" >> $config_mak
568 echo "#define WORDS_BIGENDIAN 1" >> $config_h
570 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
571 if test "$mingw32" = "yes" ; then
572 echo "CONFIG_WIN32=yes" >> $config_mak
573 echo "#define CONFIG_WIN32 1" >> $config_h
574 elif test -f "/usr/include/byteswap.h" ; then
575 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
577 if test "$darwin" = "yes" ; then
578 echo "CONFIG_DARWIN=yes" >> $config_mak
579 echo "#define CONFIG_DARWIN 1" >> $config_h
581 if test "$gdbstub" = "yes" ; then
582 echo "CONFIG_GDBSTUB=yes" >> $config_mak
583 echo "#define CONFIG_GDBSTUB 1" >> $config_h
585 if test "$gprof" = "yes" ; then
586 echo "TARGET_GPROF=yes" >> $config_mak
587 echo "#define HAVE_GPROF 1" >> $config_h
589 if test "$static" = "yes" ; then
590 echo "CONFIG_STATIC=yes" >> $config_mak
591 echo "#define CONFIG_STATIC 1" >> $config_h
593 if test $profiler = "yes" ; then
594 echo "#define CONFIG_PROFILER 1" >> $config_h
596 if test "$slirp" = "yes" ; then
597 echo "CONFIG_SLIRP=yes" >> $config_mak
598 echo "#define CONFIG_SLIRP 1" >> $config_h
600 if test "$adlib" = "yes" ; then
601 echo "CONFIG_ADLIB=yes" >> $config_mak
602 echo "#define CONFIG_ADLIB 1" >> $config_h
604 if test "$oss" = "yes" ; then
605 echo "CONFIG_OSS=yes" >> $config_mak
606 echo "#define CONFIG_OSS 1" >> $config_h
608 if test "$coreaudio" = "yes" ; then
609 echo "CONFIG_COREAUDIO=yes" >> $config_mak
610 echo "#define CONFIG_COREAUDIO 1" >> $config_h
612 if test "$alsa" = "yes" ; then
613 echo "CONFIG_ALSA=yes" >> $config_mak
614 echo "#define CONFIG_ALSA 1" >> $config_h
616 if test "$dsound" = "yes" ; then
617 echo "CONFIG_DSOUND=yes" >> $config_mak
618 echo "#define CONFIG_DSOUND 1" >> $config_h
620 if test "$fmod" = "yes" ; then
621 echo "CONFIG_FMOD=yes" >> $config_mak
622 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
623 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
624 echo "#define CONFIG_FMOD 1" >> $config_h
626 qemu_version=`head $source_path/VERSION`
627 echo "VERSION=$qemu_version" >>$config_mak
628 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
630 echo "SRC_PATH=$source_path" >> $config_mak
631 if [ "$source_path_used" = "yes" ]; then
632 echo "VPATH=$source_path" >> $config_mak
634 echo "TARGET_DIRS=$target_list" >> $config_mak
637 if [ "$bsd" = "yes" ] ; then
638 echo "#define O_LARGEFILE 0" >> $config_h
639 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
640 echo "#define _BSD 1" >> $config_h
643 for target in $target_list; do
645 config_mak=$target_dir/config.mak
646 config_h=$target_dir/config.h
647 target_cpu=`echo $target | cut -d '-' -f 1`
648 target_bigendian="no"
649 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
650 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
651 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
652 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
653 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
654 [ "$target_cpu" = "mips" ] && target_bigendian=yes
656 if expr $target : '.*-softmmu' > /dev/null ; then
659 target_user_only="no"
660 if expr $target : '.*-user' > /dev/null ; then
661 target_user_only="yes"
664 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
665 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
666 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
667 echo "To build QEMU without graphical output configure with --disable-gfx-check"
668 echo "Note that this will disable all output from the virtual graphics card."
672 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
675 mkdir -p $target_dir/fpu
676 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
677 mkdir -p $target_dir/nwfpe
679 if test "$target_user_only" = "no" ; then
680 mkdir -p $target_dir/slirp
683 ln -sf $source_path/Makefile.target $target_dir/Makefile
685 echo "# Automatically generated by configure - do not modify" > $config_mak
686 echo "/* Automatically generated by configure - do not modify */" > $config_h
689 echo "include ../config-host.mak" >> $config_mak
690 echo "#include \"../config-host.h\"" >> $config_h
692 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
693 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
695 if test "$target_cpu" = "i386" ; then
696 echo "TARGET_ARCH=i386" >> $config_mak
697 echo "#define TARGET_ARCH \"i386\"" >> $config_h
698 echo "#define TARGET_I386 1" >> $config_h
699 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
700 echo "#define USE_KQEMU 1" >> $config_h
702 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
703 echo "TARGET_ARCH=arm" >> $config_mak
704 echo "#define TARGET_ARCH \"arm\"" >> $config_h
705 echo "#define TARGET_ARM 1" >> $config_h
706 elif test "$target_cpu" = "sparc" ; then
707 echo "TARGET_ARCH=sparc" >> $config_mak
708 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
709 echo "#define TARGET_SPARC 1" >> $config_h
710 elif test "$target_cpu" = "sparc64" ; then
711 echo "TARGET_ARCH=sparc64" >> $config_mak
712 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
713 echo "#define TARGET_SPARC 1" >> $config_h
714 echo "#define TARGET_SPARC64 1" >> $config_h
715 elif test "$target_cpu" = "ppc" ; then
716 echo "TARGET_ARCH=ppc" >> $config_mak
717 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
718 echo "#define TARGET_PPC 1" >> $config_h
719 elif test "$target_cpu" = "ppc64" ; then
720 echo "TARGET_ARCH=ppc64" >> $config_mak
721 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
722 echo "#define TARGET_PPC 1" >> $config_h
723 echo "#define TARGET_PPC64 1" >> $config_h
724 elif test "$target_cpu" = "x86_64" ; then
725 echo "TARGET_ARCH=x86_64" >> $config_mak
726 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
727 echo "#define TARGET_I386 1" >> $config_h
728 echo "#define TARGET_X86_64 1" >> $config_h
729 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
730 echo "#define USE_KQEMU 1" >> $config_h
732 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
733 echo "TARGET_ARCH=mips" >> $config_mak
734 echo "#define TARGET_ARCH \"mips\"" >> $config_h
735 echo "#define TARGET_MIPS 1" >> $config_h
737 echo "Unsupported target CPU"
740 if test "$target_bigendian" = "yes" ; then
741 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
742 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
744 if test "$target_softmmu" = "yes" ; then
745 echo "CONFIG_SOFTMMU=yes" >> $config_mak
746 echo "#define CONFIG_SOFTMMU 1" >> $config_h
748 if test "$target_user_only" = "yes" ; then
749 echo "CONFIG_USER_ONLY=yes" >> $config_mak
750 echo "#define CONFIG_USER_ONLY 1" >> $config_h
753 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
754 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
755 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
759 if test "$target_user_only" = "no"; then
760 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
765 if test "$sdl1" = "yes" ; then
766 echo "#define CONFIG_SDL 1" >> $config_h
767 echo "CONFIG_SDL=yes" >> $config_mak
768 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
769 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
771 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
773 if [ "${aa}" = "yes" ] ; then
774 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
776 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
781 if test "$cocoa" = "yes" ; then
782 echo "#define CONFIG_COCOA 1" >> $config_h
783 echo "CONFIG_COCOA=yes" >> $config_mak
786 done # for target in $targets
788 # build tree in object directory if source path is different from current one
789 if test "$source_path_used" = "yes" ; then
791 FILES="Makefile tests/Makefile"
792 for dir in $DIRS ; do
796 ln -sf $source_path/$f $f
800 rm -f $TMPO $TMPC $TMPE $TMPS