/[qemu]/qemu/configure
ViewVC logotype

Diff of /qemu/configure

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.15 by bellard, Wed Jun 25 16:08:13 2003 UTC revision 1.16 by bellard, Sun Aug 10 21:36:04 2003 UTC
# Line 15  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$- Line 15  TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-
15  TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"  TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16  TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"  TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17  TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"  TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
 TMPH="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.h"  
18    
19  # default parameters  # default parameters
20  prefix="/usr/local"  prefix="/usr/local"
# Line 27  host_cc="gcc" Line 26  host_cc="gcc"
26  ar="ar"  ar="ar"
27  make="make"  make="make"
28  strip="strip"  strip="strip"
 target_cpu="x86"  
 target_bigendian="default"  
29  cpu=`uname -m`  cpu=`uname -m`
30    target_list="i386 i386-softmmu arm"
31  case "$cpu" in  case "$cpu" in
32    i386|i486|i586|i686|i86pc|BePC)    i386|i486|i586|i686|i86pc|BePC)
33      cpu="x86"      cpu="i386"
34    ;;    ;;
35    armv4l)    armv4l)
36      cpu="armv4l"      cpu="armv4l"
# Line 71  case $targetos in Line 69  case $targetos in
69  *) ;;  *) ;;
70  esac  esac
71    
72    ##########################################
73    # SDL probe
74    
75    cat > $TMPC << EOF
76    #include <SDL.h>
77    #undef main /* We don't want SDL to override our main() */
78    int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
79    EOF
80    
81    sdl_too_old=no
82    sdl=no
83    if $cc -o $TMPE `sdl-config --cflags` $TMPC `sdl-config --libs`  2> /dev/null  ; then
84    _sdlversion=`sdl-config --version | sed 's/[^0-9]//g'`
85    if test "$_sdlversion" -lt 121 ; then
86    sdl_too_old=yes
87    else
88    sdl=yes
89    fi
90    fi
91    
92  # find source path  # find source path
93  # XXX: we assume an absolute path is given when launching configure,  # XXX: we assume an absolute path is given when launching configure,
94  # except in './configure' case.  # except in './configure' case.
# Line 104  for opt do Line 122  for opt do
122    ;;    ;;
123    --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`    --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
124    ;;    ;;
125    --target-cpu=*) target_cpu=`echo $opt | cut -d '=' -f 2`    --target-list=*) target_list=${opt#--target-list=}
   ;;  
   --target-big-endian) target_bigendian="yes"  
   ;;  
   --target-little-endian) target_bigendian="no"  
126    ;;    ;;
127    --enable-gprof) gprof="yes"    --enable-gprof) gprof="yes"
128    ;;    ;;
129    --static) static="yes"    --static) static="yes"
130    ;;    ;;
131      --disable-sdl) sdl="no"
132      ;;
133    esac    esac
134  done  done
135    
# Line 164  if $cc -fno-reorder-blocks -fno-optimize Line 180  if $cc -fno-reorder-blocks -fno-optimize
180     have_gcc3_options="yes"     have_gcc3_options="yes"
181  fi  fi
182    
 if test "$target_bigendian" = "default" ; then  
     if test "$target_cpu" = "x86" ; then  
          target_bigendian="no"  
     elif test "$target_cpu" = "arm" ; then  
          target_bigendian="no"  
     else  
          target_bigendian="no"  
     fi  
 fi  
   
183  if test x"$1" = x"-h" -o x"$1" = x"--help" ; then  if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
184  cat << EOF  cat << EOF
185    
# Line 185  echo "Standard options:" Line 191  echo "Standard options:"
191  echo "  --help                   print this message"  echo "  --help                   print this message"
192  echo "  --prefix=PREFIX          install in PREFIX [$prefix]"  echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
193  echo "  --interp-prefix=PREFIX   where to find shared libraries, etc. [$interp_prefix]"  echo "  --interp-prefix=PREFIX   where to find shared libraries, etc. [$interp_prefix]"
194  echo "  --target_cpu=CPU         set target cpu (x86 or arm) [$target_cpu]"  echo "  --target-list=LIST       set target list [$target_list]"
195  echo ""  echo ""
196  echo "Advanced options (experts only):"  echo "Advanced options (experts only):"
197  echo "  --source-path=PATH       path of source code [$source_path]"  echo "  --source-path=PATH       path of source code [$source_path]"
# Line 205  echo "C compiler        $cc" Line 211  echo "C compiler        $cc"
211  echo "make              $make"  echo "make              $make"
212  echo "host CPU          $cpu"  echo "host CPU          $cpu"
213  echo "host big endian   $bigendian"  echo "host big endian   $bigendian"
214  echo "target CPU        $target_cpu"  echo "target list       $target_list"
 echo "target big endian $target_bigendian"  
215  echo "gprof enabled     $gprof"  echo "gprof enabled     $gprof"
216  echo "static build      $static"  echo "static build      $static"
217    echo "SDL support       $sdl"
218    if test $sdl_too_old = "yes"; then
219    echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support"
220    fi
221    
222    config_mak="config-host.mak"
223    config_h="config-host.h"
224    
225  echo "Creating config.mak and config.h"  echo "Creating $config_mak and $config_h"
226    
227  echo "# Automatically generated by configure - do not modify" > config.mak  echo "# Automatically generated by configure - do not modify" > $config_mak
228  echo "/* Automatically generated by configure - do not modify */" > $TMPH  echo "/* Automatically generated by configure - do not modify */" > $config_h
229    
230  echo "prefix=$prefix" >> config.mak  echo "prefix=$prefix" >> $config_mak
231  echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix\"" >> $TMPH  echo "MAKE=$make" >> $config_mak
232  echo "MAKE=$make" >> config.mak  echo "CC=$cc" >> $config_mak
 echo "CC=$cc" >> config.mak  
233  if test "$have_gcc3_options" = "yes" ; then  if test "$have_gcc3_options" = "yes" ; then
234    echo "HAVE_GCC3_OPTIONS=yes" >> config.mak    echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
235  fi  fi
236  echo "HOST_CC=$host_cc" >> config.mak  echo "HOST_CC=$host_cc" >> $config_mak
237  echo "AR=$ar" >> config.mak  echo "AR=$ar" >> $config_mak
238  echo "STRIP=$strip -s -R .comment -R .note" >> config.mak  echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
239  echo "CFLAGS=$CFLAGS" >> config.mak  echo "CFLAGS=$CFLAGS" >> $config_mak
240  echo "LDFLAGS=$LDFLAGS" >> config.mak  echo "LDFLAGS=$LDFLAGS" >> $config_mak
241  if test "$cpu" = "x86" ; then  if test "$cpu" = "i386" ; then
242    echo "ARCH=i386" >> config.mak    echo "ARCH=i386" >> $config_mak
243    echo "#define HOST_I386 1" >> $TMPH    echo "#define HOST_I386 1" >> $config_h
244  elif test "$cpu" = "armv4l" ; then  elif test "$cpu" = "armv4l" ; then
245    echo "ARCH=arm" >> config.mak    echo "ARCH=arm" >> $config_mak
246    echo "#define HOST_ARM 1" >> $TMPH    echo "#define HOST_ARM 1" >> $config_h
247  elif test "$cpu" = "powerpc" ; then  elif test "$cpu" = "powerpc" ; then
248    echo "ARCH=ppc" >> config.mak    echo "ARCH=ppc" >> $config_mak
249    echo "#define HOST_PPC 1" >> $TMPH    echo "#define HOST_PPC 1" >> $config_h
250  elif test "$cpu" = "mips" ; then  elif test "$cpu" = "mips" ; then
251    echo "ARCH=mips" >> config.mak    echo "ARCH=mips" >> $config_mak
252    echo "#define HOST_MIPS 1" >> $TMPH    echo "#define HOST_MIPS 1" >> $config_h
253  elif test "$cpu" = "s390" ; then  elif test "$cpu" = "s390" ; then
254    echo "ARCH=s390" >> config.mak    echo "ARCH=s390" >> $config_mak
255    echo "#define HOST_S390 1" >> $TMPH    echo "#define HOST_S390 1" >> $config_h
256  elif test "$cpu" = "alpha" ; then  elif test "$cpu" = "alpha" ; then
257    echo "ARCH=alpha" >> config.mak    echo "ARCH=alpha" >> $config_mak
258    echo "#define HOST_ALPHA 1" >> $TMPH    echo "#define HOST_ALPHA 1" >> $config_h
259  elif test "$cpu" = "sparc" ; then  elif test "$cpu" = "sparc" ; then
260    echo "ARCH=sparc" >> config.mak    echo "ARCH=sparc" >> $config_mak
261    echo "#define HOST_SPARC 1" >> $TMPH    echo "#define HOST_SPARC 1" >> $config_h
262  elif test "$cpu" = "sparc64" ; then  elif test "$cpu" = "sparc64" ; then
263    echo "ARCH=sparc64" >> config.mak    echo "ARCH=sparc64" >> $config_mak
264    echo "#define HOST_SPARC64 1" >> $TMPH    echo "#define HOST_SPARC64 1" >> $config_h
265  elif test "$cpu" = "ia64" ; then  elif test "$cpu" = "ia64" ; then
266    echo "ARCH=ia64" >> config.mak    echo "ARCH=ia64" >> $config_mak
267    echo "#define HOST_IA64 1" >> $TMPH    echo "#define HOST_IA64 1" >> $config_h
268  else  else
269    echo "Unsupported CPU"    echo "Unsupported CPU"
270    exit 1    exit 1
271  fi  fi
272  if test "$bigendian" = "yes" ; then  if test "$bigendian" = "yes" ; then
273    echo "WORDS_BIGENDIAN=yes" >> config.mak    echo "WORDS_BIGENDIAN=yes" >> $config_mak
274    echo "#define WORDS_BIGENDIAN 1" >> $TMPH    echo "#define WORDS_BIGENDIAN 1" >> $config_h
275    fi
276    echo "#define HAVE_BYTESWAP_H 1" >> $config_h
277    if test "$gprof" = "yes" ; then
278      echo "TARGET_GPROF=yes" >> $config_mak
279      echo "#define HAVE_GPROF 1" >> $config_h
280    fi
281    if test "$static" = "yes" ; then
282      echo "CONFIG_STATIC=yes" >> $config_mak
283  fi  fi
284    if test "$sdl" = "yes" ; then
285      echo "CONFIG_SDL=yes" >> $config_mak
286      echo "#define CONFIG_SDL 1" >> $config_h
287      echo "SDL_LIBS=`sdl-config --libs`" >> $config_mak
288      echo "SDL_CFLAGS=`sdl-config --cflags`" >> $config_mak
289    fi
290    echo -n "VERSION=" >>$config_mak
291    head $source_path/VERSION >>$config_mak
292    echo "" >>$config_mak
293    echo -n "#define QEMU_VERSION \"" >> $config_h
294    head $source_path/VERSION >> $config_h
295    echo "\"" >> $config_h
296    
297    echo "SRC_PATH=$source_path" >> $config_mak
298    echo "TARGET_DIRS=$target_list" >> $config_mak
299    
300    for target in $target_list; do
301    
302    target_dir="$target"
303    config_mak=$target_dir/config.mak
304    config_h=$target_dir/config.h
305    target_cpu=`echo $target | cut -d '-' -f 1`
306    target_bigendian="no"
307    target_softmmu="no"
308    if expr $target : '.*-softmmu' > /dev/null ; then
309      target_softmmu="yes"
310    fi
311    
312    echo "Creating $config_mak, $config_h and $target_dir/Makefile"
313    
314    mkdir -p $target_dir
315    ln -sf $source_path/Makefile.target $target_dir/Makefile
316    
317    echo "# Automatically generated by configure - do not modify" > $config_mak
318    echo "/* Automatically generated by configure - do not modify */" > $config_h
319    
320    
321  if test "$target_cpu" = "x86" ; then  echo "include ../config-host.mak" >> $config_mak
322    echo "TARGET_ARCH=i386" >> config.mak  echo "#include \"../config-host.h\"" >> $config_h
323    echo "#define TARGET_ARCH \"i386\"" >> $TMPH  echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix\"" >> $config_h
324    echo "#define TARGET_I386 1" >> $TMPH  
325    if test "$target_cpu" = "i386" ; then
326      echo "TARGET_ARCH=i386" >> $config_mak
327      echo "#define TARGET_ARCH \"i386\"" >> $config_h
328      echo "#define TARGET_I386 1" >> $config_h
329  elif test "$target_cpu" = "arm" ; then  elif test "$target_cpu" = "arm" ; then
330    echo "TARGET_ARCH=arm" >> config.mak    echo "TARGET_ARCH=arm" >> $config_mak
331    echo "#define TARGET_ARCH \"arm\"" >> $TMPH    echo "#define TARGET_ARCH \"arm\"" >> $config_h
332    echo "#define TARGET_ARM 1" >> $TMPH    echo "#define TARGET_ARM 1" >> $config_h
333  else  else
334    echo "Unsupported target CPU"    echo "Unsupported target CPU"
335    exit 1    exit 1
336  fi  fi
337  if test "$target_bigendian" = "yes" ; then  if test "$target_bigendian" = "yes" ; then
338    echo "TARGET_WORDS_BIGENDIAN=yes" >> config.mak    echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
339    echo "#define TARGET_WORDS_BIGENDIAN 1" >> $TMPH    echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
340  fi  fi
341    if test "$target_softmmu" = "yes" ; then
342  if test "$gprof" = "yes" ; then    echo "CONFIG_SOFTMMU=yes" >> $config_mak
343    echo "TARGET_GPROF=yes" >> config.mak    echo "#define CONFIG_SOFTMMU 1" >> $config_h
   echo "#define HAVE_GPROF 1" >> $TMPH  
 fi  
 if test "$static" = "yes" ; then  
   echo "CONFIG_STATIC=yes" >> config.mak  
344  fi  fi
345  echo -n "VERSION=" >>config.mak  
346  head $source_path/VERSION >>config.mak  done # for target in $targets
 echo "" >>config.mak  
 echo -n "#define QEMU_VERSION \"" >> $TMPH  
 head $source_path/VERSION >> $TMPH  
 echo "\"" >> $TMPH  
347    
348  # build tree in object directory if source path is different from current one  # build tree in object directory if source path is different from current one
349  if test "$source_path_used" = "yes" ; then  if test "$source_path_used" = "yes" ; then
# Line 305  if test "$source_path_used" = "yes" ; th Line 356  if test "$source_path_used" = "yes" ; th
356          ln -sf $source_path/$f $f          ln -sf $source_path/$f $f
357      done      done
358  fi  fi
 echo "SRC_PATH=$source_path" >> config.mak  
   
 diff $TMPH config.h >/dev/null 2>&1  
 if test $? -ne 0 ; then  
         mv -f $TMPH config.h  
 else  
         echo "config.h is unchanged"  
 fi  
359    
360  rm -f $TMPO $TMPC $TMPE $TMPS $TMPH  rm -f $TMPO $TMPC $TMPE $TMPS

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26