X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=configure;h=d33e20210246008c491b69604cf15689922a4772;hb=17acfe326ce2038033934485145ddd2390337986;hp=356461775912acdebc763130cc413b61d1bc98b2;hpb=a7350fa109d9b6d33f6a0501ed9fc45d0fba27d0;p=qemu diff --git a/configure b/configure index 3564617..d33e202 100755 --- a/configure +++ b/configure @@ -51,7 +51,7 @@ case "$cpu" in s390) cpu="s390" ;; - sparc) + sparc|sun4[muv]) cpu="sparc" ;; sparc64) @@ -94,6 +94,8 @@ check_gfx="yes" check_gcc="yes" softmmu="yes" user="no" +build_docs="no" +uname_release="" # OS specific targetos=`uname -s` @@ -124,6 +126,9 @@ Darwin) bsd="yes" darwin="yes" ;; +SunOS) +solaris="yes" +;; *) oss="yes" linux="yes" @@ -140,6 +145,12 @@ if [ "$bsd" = "yes" ] ; then fi fi +if [ "$solaris" = "yes" ] ; then + make="gmake" + install="ginstall" + solarisrev=`uname -r | cut -f2 -d.` +fi + # find source path source_path=`dirname "$0"` if [ -z "$source_path" ]; then @@ -154,7 +165,7 @@ else fi for opt do - optarg=`expr "$opt" : '[^=]*=\(.*\)'` + optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'` case "$opt" in --help|-h) show_help=yes ;; @@ -227,6 +238,8 @@ for opt do ;; --enable-user) user="yes" ;; + --enable-uname-release=*) uname_release="$optarg" + ;; esac done @@ -274,6 +287,7 @@ echo " --enable-user enable all linux usermode emulation targets" echo " --disable-user disable all linux usermode emulation targets" echo " --fmod-lib path to FMOD library" echo " --fmod-inc path to FMOD includes" +echo " --enable-uname-release=R Return R for uname -r in usermode emulation" echo "" echo "NOTE: The object files are build at the place where configure is launched" exit 1 @@ -283,9 +297,16 @@ cc="${cross_prefix}${cc}" ar="${cross_prefix}${ar}" strip="${cross_prefix}${strip}" -if [ -z `which $cc` ] ; then - echo "Compiler $cc could not be found" - exit +# check that the C compiler works. +cat > $TMPC </dev/null ; then + : C compiler works ok +else + echo "ERROR: \"$cc\" either does not exist or does not work" + exit 1 fi if test "$mingw32" = "yes" ; then @@ -298,6 +319,47 @@ if test "$mingw32" = "yes" ; then fi fi +# +# Solaris specific configure tool chain decisions +# +if test "$solaris" = "yes" ; then + # + # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly + # override the check with --disable-gcc-check + # + if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then + solgcc=`which $cc` + if test "$solgcc" = "/usr/sfw/bin/gcc" ; then + echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly." + echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3" + echo "or get the latest patch from SunSolve for gcc" + exit 1 + fi + fi + solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"` + if test -z "$solinst" ; then + echo "Solaris install program not found. Use --install=/usr/ucb/install or" + echo "install fileutils from www.blastwave.org using pkg-get -i fileutils" + echo "to get ginstall which is used by default (which lives in /opt/csw/bin)" + exit 1 + fi + if test "$solinst" = "/usr/sbin/install" ; then + echo "Error: Solaris /usr/sbin/install is not an appropriate install program." + echo "try ginstall from the GNU fileutils available from www.blastwave.org" + echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install" + exit 1 + fi + sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"` + if test -z "$sol_ar" ; then + echo "Error: No path includes ar" + if test -f /usr/ccs/bin/ar ; then + echo "Add /usr/ccs/bin to your path and rerun configure" + fi + exit 1 + fi +fi + + if test -z "$target_list" ; then # these targets are portable if [ "$softmmu" = "yes" ] ; then @@ -427,6 +489,11 @@ fi # sdl compile test fi # cross compilation fi # -z $sdl +# Check if tools are available to build documentation. +if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then + build_docs="yes" +fi + if test "$mingw32" = "yes" ; then if test -z "$prefix" ; then prefix="/c/Program Files/Qemu" @@ -489,6 +556,9 @@ else fi echo "FMOD support $fmod $fmod_support" echo "kqemu support $kqemu" +echo "Documentation $build_docs" +[ ! -z "$uname_release" ] && \ +echo "uname -r $uname_release" if test $sdl_too_old = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -578,6 +648,10 @@ if test "$darwin" = "yes" ; then echo "CONFIG_DARWIN=yes" >> $config_mak echo "#define CONFIG_DARWIN 1" >> $config_h fi +if test "$solaris" = "yes" ; then + echo "CONFIG_SOLARIS=yes" >> $config_mak + echo "#define HOST_SOLARIS $solarisrev" >> $config_h +fi if test "$gdbstub" = "yes" ; then echo "CONFIG_GDBSTUB=yes" >> $config_mak echo "#define CONFIG_GDBSTUB 1" >> $config_h @@ -632,6 +706,9 @@ if [ "$source_path_used" = "yes" ]; then echo "VPATH=$source_path" >> $config_mak fi echo "TARGET_DIRS=$target_list" >> $config_mak +if [ "$build_docs" = "yes" ] ; then + echo "BUILD_DOCS=yes" >> $config_mak +fi # XXX: suppress that if [ "$bsd" = "yes" ] ; then @@ -640,6 +717,8 @@ if [ "$bsd" = "yes" ] ; then echo "#define _BSD 1" >> $config_h fi +echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h + for target in $target_list; do target_dir="$target" config_mak=$target_dir/config.mak @@ -680,7 +759,12 @@ if test "$target_user_only" = "no" ; then mkdir -p $target_dir/slirp fi -ln -sf $source_path/Makefile.target $target_dir/Makefile +# +# don't use ln -sf as not all "ln -sf" over write the file/link +# +rm -f $target_dir/Makefile +ln -s $source_path/Makefile.target $target_dir/Makefile + echo "# Automatically generated by configure - do not modify" > $config_mak echo "/* Automatically generated by configure - do not modify */" > $config_h @@ -733,6 +817,10 @@ elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then echo "TARGET_ARCH=mips" >> $config_mak echo "#define TARGET_ARCH \"mips\"" >> $config_h echo "#define TARGET_MIPS 1" >> $config_h +elif test "$target_cpu" = "sh4" ; then + echo "TARGET_ARCH=sh4" >> $config_mak + echo "#define TARGET_ARCH \"sh4\"" >> $config_h + echo "#define TARGET_SH4 1" >> $config_h else echo "Unsupported target CPU" exit 1 @@ -792,8 +880,10 @@ if test "$source_path_used" = "yes" ; then for dir in $DIRS ; do mkdir -p $dir done + # remove the link and recreate it, as not all "ln -sf" overwrite the link for f in $FILES ; do - ln -sf $source_path/$f $f + rm -f $f + ln -s $source_path/$f $f done fi