forked from lemonjesus/qemu-ipod-nano
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@25 c046a42c-6fe2-441c-8c8c-71466251a162
- Loading branch information
bellard
committed
Mar 6, 2003
1 parent
1017ebe
commit 7d13299
Showing
13 changed files
with
651 additions
and
254 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
- tests | ||
- optimize translated cache chaining (DLL PLT like system) | ||
- optimize inverse flags propagation (easy by generating intermediate | ||
micro operation array). | ||
- signals | ||
- threads | ||
- fix printf for doubles (fp87.c bug ?) | ||
- make it self runnable (use same trick as ld.so : include its own relocator and libc) | ||
- fix FPU exceptions (in particular: gen_op_fpush not before mem load) | ||
- tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,240 @@ | ||
#!/bin/sh | ||
# | ||
# gemu configure script (c) 2003 Fabrice Bellard | ||
# | ||
# set temporary file name | ||
if test ! -z "$TMPDIR" ; then | ||
TMPDIR1="${TMPDIR}" | ||
elif test ! -z "$TEMPDIR" ; then | ||
TMPDIR1="${TEMPDIR}" | ||
else | ||
TMPDIR1="/tmp" | ||
fi | ||
|
||
TMPC="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.c" | ||
TMPO="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.o" | ||
TMPS="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.S" | ||
TMPH="${TMPDIR1}/qemacs-conf-${RANDOM}-$$-${RANDOM}.h" | ||
|
||
# default parameters | ||
prefix="/usr/local" | ||
cross_prefix="" | ||
cc="gcc" | ||
host_cc="gcc" | ||
ar="ar" | ||
make="make" | ||
strip="strip" | ||
cpu=`uname -m` | ||
case "$cpu" in | ||
i386|i486|i586|i686|i86pc|BePC) | ||
cpu="x86" | ||
;; | ||
armv4l) | ||
cpu="armv4l" | ||
;; | ||
alpha) | ||
cpu="alpha" | ||
;; | ||
"Power Macintosh"|ppc) | ||
cpu="powerpc" | ||
;; | ||
mips) | ||
cpu="mips" | ||
;; | ||
*) | ||
cpu="unknown" | ||
;; | ||
esac | ||
gprof="no" | ||
bigendian="no" | ||
|
||
# OS specific | ||
targetos=`uname -s` | ||
case $targetos in | ||
BeOS) | ||
prefix="/boot/home/config" | ||
# helps building libavcodec | ||
CFLAGS="-O2 -DPIC" | ||
# no need for libm, but the inet stuff | ||
# Check for BONE | ||
if (echo $BEINCLUDES|grep 'headers/be/bone' >/dev/null); then | ||
extralibs="-lbind -lsocket" | ||
else | ||
echo "Not sure building for net_server will succeed... good luck." | ||
extralibs="-lsocket" | ||
fi ;; | ||
BSD/OS) | ||
extralibs="-lpoll -lgnugetopt -lm" | ||
make="gmake" | ||
;; | ||
*) ;; | ||
esac | ||
|
||
# find source path | ||
# XXX: we assume an absolute path is given when launching configure, | ||
# except in './configure' case. | ||
source_path=${0%configure} | ||
source_path=${source_path%/} | ||
source_path_used="yes" | ||
if test -z "$source_path" -o "$source_path" = "." ; then | ||
source_path=`pwd` | ||
source_path_used="no" | ||
fi | ||
|
||
for opt do | ||
case "$opt" in | ||
--prefix=*) prefix=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--source-path=*) source_path=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--cc=*) cc=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--make=*) make=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--extra-cflags=*) CFLAGS="${opt#--extra-cflags=}" | ||
;; | ||
--extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}" | ||
;; | ||
--extra-libs=*) extralibs=${opt#--extra-libs=} | ||
;; | ||
--cpu=*) cpu=`echo $opt | cut -d '=' -f 2` | ||
;; | ||
--enable-gprof) gprof="yes" | ||
;; | ||
esac | ||
done | ||
|
||
# Checking for CFLAGS | ||
if test -z "$CFLAGS"; then | ||
CFLAGS="-O2" | ||
fi | ||
|
||
cc="${cross_prefix}${cc}" | ||
ar="${cross_prefix}${ar}" | ||
strip="${cross_prefix}${strip}" | ||
|
||
if test -z "$cross_prefix" ; then | ||
|
||
# --- | ||
# big/little endian test | ||
cat > $TMPC << EOF | ||
#include <inttypes.h> | ||
int main(int argc, char ** argv){ | ||
volatile uint32_t i=0x01234567; | ||
return (*((uint8_t*)(&i))) == 0x67; | ||
} | ||
EOF | ||
|
||
if $cc -o $TMPE $TMPC 2>/dev/null ; then | ||
$TMPE && bigendian="yes" | ||
else | ||
echo big/little test failed | ||
fi | ||
|
||
else | ||
|
||
# if cross compiling, cannot launch a program, so make a static guess | ||
if test "$cpu" = "powerpc" -o "$cpu" = "mips" ; then | ||
bigendian="yes" | ||
fi | ||
|
||
fi | ||
|
||
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then | ||
cat << EOF | ||
Usage: configure [options] | ||
Options: [defaults in brackets after descriptions] | ||
EOF | ||
echo "Standard options:" | ||
echo " --help print this message" | ||
echo " --prefix=PREFIX install in PREFIX [$prefix]" | ||
echo " for audio/video/image support" | ||
echo "" | ||
echo "Advanced options (experts only):" | ||
echo " --source-path=PATH path of source code [$source_path]" | ||
echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]" | ||
echo " --cc=CC use C compiler CC [$cc]" | ||
echo " --make=MAKE use specified make [$make]" | ||
echo "" | ||
echo "NOTE: The object files are build at the place where configure is launched" | ||
exit 1 | ||
fi | ||
|
||
echo "Install prefix $prefix" | ||
echo "Source path $source_path" | ||
echo "C compiler $cc" | ||
echo "make $make" | ||
echo "CPU $cpu" | ||
echo "Big Endian $bigendian" | ||
echo "gprof enabled $gprof" | ||
|
||
echo "Creating config.mak and config.h" | ||
|
||
echo "# Automatically generated by configure - do not modify" > config.mak | ||
echo "/* Automatically generated by configure - do not modify */" > $TMPH | ||
|
||
echo "prefix=$prefix" >> config.mak | ||
echo "#define CONFIG_GEMU_PREFIX \"$prefix\"" >> $TMPH | ||
echo "MAKE=$make" >> config.mak | ||
echo "CC=$cc" >> config.mak | ||
echo "HOST_CC=$host_cc" >> config.mak | ||
echo "AR=$ar" >> config.mak | ||
echo "STRIP=$strip -s -R .comment -R .note" >> config.mak | ||
echo "CFLAGS=$CFLAGS" >> config.mak | ||
echo "LDFLAGS=$LDFLAGS" >> config.mak | ||
if test "$cpu" = "x86" ; then | ||
echo "ARCH=i386" >> config.mak | ||
elif test "$cpu" = "armv4l" ; then | ||
echo "ARCH=arm" >> config.mak | ||
elif test "$cpu" = "powerpc" ; then | ||
echo "ARCH=ppc" > config.mak | ||
elif test "$cpu" = "mips" ; then | ||
echo "ARCH=mips" > config.mak | ||
else | ||
echo "Unsupported CPU" | ||
exit 1 | ||
fi | ||
if test "$bigendian" = "yes" ; then | ||
echo "WORDS_BIGENDIAN=yes" >> config.mak | ||
echo "#define WORDS_BIGENDIAN 1" >> $TMPH | ||
fi | ||
if test "$gprof" = "yes" ; then | ||
echo "TARGET_GPROF=yes" >> config.mak | ||
echo "#define HAVE_GPROF 1" >> $TMPH | ||
fi | ||
echo -n "VERSION=" >>config.mak | ||
head $source_path/VERSION >>config.mak | ||
echo "" >>config.mak | ||
echo -n "#define GEMU_VERSION \"" >> $TMPH | ||
head $source_path/VERSION >> $TMPH | ||
echo "\"" >> $TMPH | ||
if test "$network" = "yes" ; then | ||
echo "#define CONFIG_NETWORK 1" >> $TMPH | ||
echo "CONFIG_NETWORK=yes" >> config.mak | ||
fi | ||
|
||
# build tree in object directory if source path is different from current one | ||
if test "$source_path_used" = "yes" ; then | ||
DIRS="tests" | ||
FILES="Makefile tests/Makefile" | ||
for dir in $DIRS ; do | ||
mkdir -p $dir | ||
done | ||
for f in $FILES ; do | ||
ln -sf $source_path/$f $f | ||
done | ||
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 | ||
|
||
rm -f $TMPH |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.