Mercurial > sdl-ios-xcode
view src/thread/Makefile.am @ 1303:52b5afd7ecee
Date: Tue, 05 Jul 2005 21:43:26 +1000
From: Sean Childs
Subject: [SDL] Compiling SDL 1.2.8 with the free Borland compiler
When compiling SDL 1.2.8 with the free Borland compiler, I received this
error (there is a similar error that occurs in
src\video\windx5\sdl_dx5events.c):
Error E2342 ..\..\src\video\windib\sdl_dibevents.c 189: Type mismatch in
parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long
(__stdcall *)(void *,unsigned int,unsigned int,long)') in function
DIB_HandleMessage
I checked the MSDN library at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/
windowsuserinterface/windowing/windowprocedures/windowprocedurereference/wind
owprocedurefunctions/callwindowproc.asp
and it had this to say:
If STRICT is not defined, the lpPrevWndFunc parameter has the data type
FARPROC. The FARPROC type is declared as follows:
int (FAR WINAPI * FARPROC) ()
In C, the FARPROC declaration indicates a callback function that has an
unspecified parameter list. In C++, however, the empty parameter list in
the declaration indicates that a function has no parameters. This subtle
distinction can break careless code. Following is one way to handle this
situation:
#ifdef STRICT
WNDPROC MyWindowProcedure
#else
FARPROC MyWindowProcedure
#endif
...
lResult = CallWindowProc(MyWindowProcedure, ...)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 31 Jan 2006 15:30:42 +0000 |
parents | 623b453a3219 |
children |
line wrap: on
line source
## Makefile.am for the SDL thread library noinst_LTLIBRARIES = libthread.la ARCH_SUBDIRS = $(srcdir)/generic \ $(srcdir)/amigaos \ $(srcdir)/beos \ $(srcdir)/bsdi \ $(srcdir)/dc \ $(srcdir)/epoc \ $(srcdir)/irix \ $(srcdir)/linux \ $(srcdir)/pth \ $(srcdir)/win32 # Older versions of Linux require an asm clone() implementation if USE_CLONE THREAD_ASM_SRC = linux/clone.S else THREAD_ASM_SRC = endif COMMON_SRCS = \ SDL_systhread.h \ SDL_thread.c \ SDL_thread_c.h ARCH_SRCS = \ SDL_systhread.c \ SDL_systhread_c.h \ SDL_sysmutex.c \ SDL_sysmutex_c.h \ SDL_syssem.c \ SDL_syssem_c.h \ SDL_syscond.c \ SDL_syscond_c.h \ $(THREAD_ASM_SRC) libthread_la_SOURCES = $(COMMON_SRCS) $(ARCH_SRCS) ## Let automake know that it shouldn't distribute linked sources BUILT_SOURCES = $(ARCH_SRCS) ## Let automake know that it should remove these for distribution DISTCLEANFILES = $(ARCH_SRCS) # 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`)