view Makefile.minimal @ 1544:ab1e4c41ab71

Fixed bug #33 Mike Frysinger wrote: > with libsdl-1.2.9, some games (like bomberclone) started > segfaulting in Gentoo [...snip...] > the last change in the last hunk: [...snip...] > if i change the statement to read: > (table[which].blit_features & GetBlitFeatures()) == GetBlitFeatures() > bomberclone no longer segfaults on my box Alex Volkov wrote: > The test "(table[which].blit_features & GetBlitFeatures()) == > table[which].blit_features)" is correct, and the previous > "(table[which].cpu_mmx == SDL_HasMMX())" was actually broken. I think there is potentially a slightly different cause of the above problem. During the introduction of the Altivec code, the blit_table struct field 'alpha' got changed from a straightforward enum to a bitmask, which makes perfect sense by itself. However, now the table driven blitter selection code in SDL_CalculateBlitN() can choose the wrong blitters when searching for a NO_ALPHA blitter because of the following code: int a_need = 0; ... (a_need & table[which].alpha) == a_need && When searching through the normal_blit_2[] table, a SET_ALPHA blitter (like Blit_RGB565_ARGB8888) can now be selected instead of a NO_ALPHA one, causing alpha channel bits to appear in a non-alpha destination surface. I suppose this could theoretically be an indirect cause of the segfault mentioned above. I *think* this can be fixed by changing to int a_need = NO_ALPHA;
author Sam Lantinga <slouken@libsdl.org>
date Wed, 15 Mar 2006 15:47:49 +0000
parents 38c1eb6b0083
children 64710b9f3eeb
line wrap: on
line source

# Makefile to build the SDL library

INCLUDE = -I./include
CFLAGS  = -g -O2 $(INCLUDE)
AR	= ar
RANLIB	= ranlib

TARGET  = libSDL.a
SOURCES = \
	src/*.c \
	src/audio/*.c \
	src/cdrom/*.c \
	src/cpuinfo/*.c \
	src/events/*.c \
	src/file/*.c \
	src/joystick/*.c \
	src/stdlib/*.c \
	src/thread/*.c \
	src/timer/*.c \
	src/video/*.c \
	src/audio/dummy/*.c \
	src/video/dummy/*.c \
	src/joystick/dummy/*.c \
	src/cdrom/dummy/*.c \
	src/thread/generic/*.c \
	src/timer/dummy/*.c \
	src/loadso/dummy/*.c \

OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')

all: $(TARGET)

$(TARGET): $(OBJECTS)
	$(AR) crv $@ $^
	$(RANLIB) $@

clean:
	rm -f $(TARGET) $(OBJECTS)