view src/main/Makefile.am @ 852:2651b6b43840

Quartz fix: ut2004 makes a 2D window for the splash screen, which sets the screen surface's pixels field. Then we tear down that video mode and create a GL context, and the Quartz target isn't resetting the pixels field to NULL. When you just create a GL window, the structure is memset'd to zero the first time through, so unless you hit ut2004's codepath, you won't see the bug. :) Without this patch, quitting a windowed ut2003/ut2004 game makes the OS dump a warning about a bogus free() to stderr, but it doesn't actually crash. All we need to do is explicitly initialize the current->pixels field.
author Ryan C. Gordon <icculus@icculus.org>
date Tue, 24 Feb 2004 06:53:22 +0000
parents d315a411d5b2
children 609c060fd2a2
line wrap: on
line source


## Makefile.am for the main() function in the SDL library
#
# This is necessary because some platforms have special program
# entry points, which require special application initialization.

ARCH_SUBDIRS = $(srcdir)/beos \
               $(srcdir)/epoc \
               $(srcdir)/dummy \
               $(srcdir)/macos \
               $(srcdir)/macosx \
               $(srcdir)/qtopia \
               $(srcdir)/win32

# Build a separate library containing the main() entry point.
lib_LIBRARIES = libSDLmain.a

if TARGET_WIN32
MAINLIB_ARCH_SRCS = win32/SDL_win32_main.c
else
if TARGET_MACOSX
MAINLIB_ARCH_SRCS = macosx/SDLMain.m macosx/SDLMain.h
else
if TARGET_QTOPIA
MAINLIB_ARCH_SRCS = qtopia/SDL_qtopia_main.cc
else
MAINLIB_ARCH_SRCS = dummy/SDL_dummy_main.c
endif # !TARGET_QTOPIA
endif # !TARGET_MACOSX
endif # !TARGET_WIN32
libSDLmain_a_SOURCES = $(MAINLIB_ARCH_SRCS)

# Build an internal library of any special app setup functions
noinst_LTLIBRARIES = libarch.la

if TARGET_BEOS
ARCH_SRCS = beos/SDL_BeApp.cc beos/SDL_BeApp.h
else
ARCH_SRCS = arch.c
endif

libarch_la_SOURCES = $(ARCH_SRCS)

exports:
	for i in $(ARCH_SUBDIRS); do if [ -d $$i/exports ]; then (cd $$i/exports; make); fi; done

# The architecture specific directories need to be copied into place
# when building a distribution.
dist-hook:
	(cd $(distdir) && rm -f $(BUILT_SOURCES))
	cp -rp $(ARCH_SUBDIRS) $(distdir)
	(cd $(distdir) && rm -rf `find . -name CVS`)