diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-04-25 22:36:06 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-04-25 22:36:06 +0000 |
commit | ec530c81efea6ddb1f75758658fd6769a29c3ade (patch) | |
tree | 2d8afdd2021666eaf854195ed0a32603b97044f5 /configure | |
parent | 96b74a0221a7d552a4b3016af2b8bc87628fdab3 (diff) | |
download | qemu-ec530c81efea6ddb1f75758658fd6769a29c3ade.zip |
Solaris port (Ben Taylor)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1855 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 80 |
1 files changed, 78 insertions, 2 deletions
@@ -125,6 +125,9 @@ Darwin) bsd="yes" darwin="yes" ;; +SunOS) +solaris="yes" +;; *) oss="yes" linux="yes" @@ -141,6 +144,15 @@ if [ "$bsd" = "yes" ] ; then fi fi +if [ "$solaris" = "yes" ] ; then + make="gmake" + install="ginstall" + solarisrev=`uname -r | cut -f2 -d.` + if test $solarisrev -lt 10 ; then + presolaris10="yes" + fi +fi + # find source path source_path=`dirname "$0"` if [ -z "$source_path" ]; then @@ -299,6 +311,57 @@ 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 + soltexi2html=`which texi2html 2> /dev/null | /usr/bin/grep -v "no texi2html in"` + if test -z "$soltexi2html" ; then + echo "Error: No path includes texi2html." + if test -f /usr/sfw/bin/texi2html ; then + echo "Add /usr/sfw/bin to your path and rerun configure" + else + echo "Add the directory holding the texi2html to your path and rerun configure" + fi + 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 @@ -585,6 +648,12 @@ 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 + if test "$presolaris10" = "yes" ; then + echo "#define _PRESOLARIS10 1" >> $config_h + fi +fi if test "$gdbstub" = "yes" ; then echo "CONFIG_GDBSTUB=yes" >> $config_mak echo "#define CONFIG_GDBSTUB 1" >> $config_h @@ -690,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 @@ -802,8 +876,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 |