Mercurial > sdl-ios-xcode
view build-scripts/makedep.sh @ 4287:0620847bf1a8 SDL-1.2
Fixed bug #798
kty@lavabit.com 2009-09-19 14:19:04 PDT
The stable release of SDL 1.2.13 for BeOS/Haiku has a bug in
BE_FindClosestFSMode that causes it to sometimes not select the best mode when
going fullscreen. There are in fact two bugs in the implementation but I will
not go into specifics because there is already a patch for it in the developer
SVN 1.3. However I am still reporting it because I believe the following code
is a better patch for the issue. The current implementation on SVN only works
if it is able to find an exact match for the requested mode. However, by
scanning from lowest-to-highest resolution instead of highest-to-lowest, one
can find the best mode at all times
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 10 Oct 2009 02:11:07 +0000 |
parents | 5e6f2972f963 |
children | 93994f65c74c d2517c0de52b |
line wrap: on
line source
#!/bin/sh # # Generate dependencies from a list of source files # Check to make sure our environment variables are set if test x"$INCLUDE" = x -o x"$SOURCES" = x -o x"$output" = x; then echo "SOURCES, INCLUDE, and output needs to be set" exit 1 fi cache_prefix=".#$$" generate_var() { echo $1 | sed -e 's|^.*/||' -e 's|\.|_|g' } search_deps() { base=`echo $1 | sed 's|/[^/]*$||'` grep '#include "' <$1 | sed -e 's|.*"\([^"]*\)".*|\1|' | \ while read file do cache=${cache_prefix}_`generate_var $file` if test -f $cache; then : # We already ahve this cached else : >$cache for path in $base `echo $INCLUDE | sed 's|-I||g'` do dep="$path/$file" if test -f "$dep"; then echo " $dep \\" >>$cache search_deps $dep >>$cache break fi done fi cat $cache done } :>${output}.new for src in $SOURCES do echo "Generating dependencies for $src" ext=`echo $src | sed 's|.*\.\(.*\)|\1|'` if test x"$ext" = x"rc"; then obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.o|g"` else obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"` fi echo "\$(objects)/$obj: $src \\" >>${output}.new search_deps $src | sort | uniq >>${output}.new case $ext in c) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ __EOF__ ;; cc) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ __EOF__ ;; m) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ __EOF__ ;; asm) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --tag=CC --mode=compile \$(auxdir)/strip_fPIC.sh \$(NASM) $src -o \$@ __EOF__ ;; S) cat >>${output}.new <<__EOF__ \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ __EOF__ ;; rc) cat >>${output}.new <<__EOF__ \$(WINDRES) $src \$@ __EOF__ ;; *) echo "Unknown file extension: $ext";; esac echo "" >>${output}.new done mv ${output}.new ${output} rm -f ${cache_prefix}*