Yaakov Selkowitz schrieb:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
OK, I know we've been through this before, but there's now a new version of SDL (1.2.7), with a new development: it builds OOTB on Cygwin, all I had to do was reautotool.
There are problems however:
1) when building on Cygwin, the default is to call -mno-cygwin. This of course will make it difficult to build other libraries, e.g. SDL_image which wants other (cygwin-dependent) libraries like libjpeg, etc.
2) by default a /usr/lib/libSDLmain.a is built, and sdl-config spits out - -Dmain=SDLmain and -lSDLmain, but this is only a static library. This makes it impossible to build a shared library which is dependent on libSDL.
Ideas, anyone?
http://www.libsdl.org/extras/win32/cygwin/
http://www.libsdl.org/pipermail/sdl/2002-February/042594.html
(but this is outdated. relies on pexports. our method from the FAQ will work better)
I'll try to make a package out of it. I didn't get it to work with the MS DX90SDK, because this conflicts with our w32api - with mingw it works fine. But with the directx-devel package it works fine. Just autoreconf and removing the mingw lines from configure.in cd ${srcdir} ./autogen.sh automake -c -a libtoolize -c -f LDFLAGS="-Wl,--enable-runtime-pseudo-reloc"
I'll try to put my main.c and SDL_Image fixes into a package and ITP it then. Fixed to build in .build
Problems with this version:
libtool still wants to create an exe instead of the cygSDL.dll but I had that before. (need to build png and jpeg stubs probably)
With my bash debugger I can easily fix that now.
But everything else builds just fine.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
--- SDL-1.2.7/CYGWIN-PATCHES/README.orig 1970-01-01 01:00:00.000000000 +0100 +++ SDL-1.2.7/CYGWIN-PATCHES/README 2004-10-25 15:34:23.450865600 +0100 @@ -0,0 +1,272 @@ +SDL +------------------------------- +Simple DirectMedia Layer, a general API that provides low +level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, +and 2D framebuffer across multiple platforms. + +Runtime requirements: (versions given or later) + cygwin-1.5.11-1 + +Build requirements: (versions given or later) + cygwin-1.5.11-1 + libtool-devel-1.5.10 (if GCC >= 3.3.3) + gcc-3.3.3-3 + binutils-20040725-2 + make-3.80 + ash-20031007 + fileutils-4.1-2 + sed-4.1.2-1 + + directx-devel for the DirectX interfaces (optional) + from http://www.libsdl.org/extras/win32/cygwin/ + +Canonical homepage: + http://www.libsdl.org/ + +Canonical download: + http://www.libsdl.org/download-1.2.php + +------------------------------------------------------------------------------- + +Build instructions: + unpack SDL-<VERSION>.tar.bz2 + if you use setup to install this src package, it will be + unpacked under /usr/src automatically + cd /usr/src + ./SDL-<VERSION>-<CYGREL>.sh all + +This will create: + /usr/src/SDL-<VERSION>-<CYGREL>.tar.bz2 + /usr/src/SDL-<VERSION>-<CYGREL>-src.tar.bz2 + +Or use './SDL-<VERSION>-<CYGREL>.sh prep' to get a patched source directory + +------------------------------------------------------------------------------- + +Files included in this package: + + /usr/bin/sdl-config + /usr/bin/cygSDL-0.dll + /usr/include/SDL/begin_code.h + /usr/include/SDL/close_code.h + /usr/include/SDL/SDL.h + /usr/include/SDL/SDL_active.h + /usr/include/SDL/SDL_audio.h + /usr/include/SDL/SDL_byteorder.h + /usr/include/SDL/SDL_cdrom.h + /usr/include/SDL/SDL_copying.h + /usr/include/SDL/SDL_cpuinfo.h + /usr/include/SDL/SDL_endian.h + /usr/include/SDL/SDL_error.h + /usr/include/SDL/SDL_events.h + /usr/include/SDL/SDL_getenv.h + /usr/include/SDL/SDL_joystick.h + /usr/include/SDL/SDL_keyboard.h + /usr/include/SDL/SDL_keysym.h + /usr/include/SDL/SDL_loadso.h + /usr/include/SDL/SDL_main.h + /usr/include/SDL/SDL_mouse.h + /usr/include/SDL/SDL_mutex.h + /usr/include/SDL/SDL_name.h + /usr/include/SDL/SDL_opengl.h + /usr/include/SDL/SDL_quit.h + /usr/include/SDL/SDL_rwops.h + /usr/include/SDL/SDL_syswm.h + /usr/include/SDL/SDL_thread.h + /usr/include/SDL/SDL_timer.h + /usr/include/SDL/SDL_types.h + /usr/include/SDL/SDL_version.h + /usr/include/SDL/SDL_video.h + /usr/lib/libSDL.a + /usr/lib/libSDL.dll.a + /usr/lib/libSDL.la + /usr/lib/libSDLmain.a + /usr/lib/SDL.exe + /usr/share/aclocal/sdl.m4 + /usr/share/doc/SDL-1.2.7/html/* + /usr/share/man/man3/SDLKey.3 + /usr/share/man/man3/SDL_ActiveEvent.3 + /usr/share/man/man3/SDL_AddTimer.3 + /usr/share/man/man3/SDL_AudioCVT.3 + /usr/share/man/man3/SDL_AudioSpec.3 + /usr/share/man/man3/SDL_BlitSurface.3 + /usr/share/man/man3/SDL_BuildAudioCVT.3 + /usr/share/man/man3/SDL_CD.3 + /usr/share/man/man3/SDL_CDClose.3 + /usr/share/man/man3/SDL_CDEject.3 + /usr/share/man/man3/SDL_CDName.3 + /usr/share/man/man3/SDL_CDNumDrives.3 + /usr/share/man/man3/SDL_CDOpen.3 + /usr/share/man/man3/SDL_CDPause.3 + /usr/share/man/man3/SDL_CDPlay.3 + /usr/share/man/man3/SDL_CDPlayTracks.3 + /usr/share/man/man3/SDL_CDResume.3 + /usr/share/man/man3/SDL_CDStatus.3 + /usr/share/man/man3/SDL_CDStop.3 + /usr/share/man/man3/SDL_CDtrack.3 + /usr/share/man/man3/SDL_CloseAudio.3 + /usr/share/man/man3/SDL_Color.3 + /usr/share/man/man3/SDL_CondBroadcast.3 + /usr/share/man/man3/SDL_CondSignal.3 + /usr/share/man/man3/SDL_CondWait.3 + /usr/share/man/man3/SDL_CondWaitTimeout.3 + /usr/share/man/man3/SDL_ConvertAudio.3 + /usr/share/man/man3/SDL_ConvertSurface.3 + /usr/share/man/man3/SDL_CreateCond.3 + /usr/share/man/man3/SDL_CreateCursor.3 + /usr/share/man/man3/SDL_CreateMutex.3 + /usr/share/man/man3/SDL_CreateRGBSurface.3 + /usr/share/man/man3/SDL_CreateRGBSurfaceFrom.3 + /usr/share/man/man3/SDL_CreateSemaphore.3 + /usr/share/man/man3/SDL_CreateThread.3 + /usr/share/man/man3/SDL_CreateYUVOverlay.3 + /usr/share/man/man3/SDL_Delay.3 + /usr/share/man/man3/SDL_DestroyCond.3 + /usr/share/man/man3/SDL_DestroyMutex.3 + /usr/share/man/man3/SDL_DestroySemaphore.3 + /usr/share/man/man3/SDL_DisplayFormat.3 + /usr/share/man/man3/SDL_DisplayFormatAlpha.3 + /usr/share/man/man3/SDL_DisplayYUVOverlay.3 + /usr/share/man/man3/SDL_EnableKeyRepeat.3 + /usr/share/man/man3/SDL_EnableUNICODE.3 + /usr/share/man/man3/SDL_Event.3 + /usr/share/man/man3/SDL_EventState.3 + /usr/share/man/man3/SDL_ExposeEvent.3 + /usr/share/man/man3/SDL_FillRect.3 + /usr/share/man/man3/SDL_Flip.3 + /usr/share/man/man3/SDL_FreeCursor.3 + /usr/share/man/man3/SDL_FreeSurface.3 + /usr/share/man/man3/SDL_FreeWAV.3 + /usr/share/man/man3/SDL_FreeYUVOverlay.3 + /usr/share/man/man3/SDL_GetAppState.3 + /usr/share/man/man3/SDL_GetAudioStatus.3 + /usr/share/man/man3/SDL_GetClipRect.3 + /usr/share/man/man3/SDL_GetCursor.3 + /usr/share/man/man3/SDL_GetError.3 + /usr/share/man/man3/SDL_GetEventFilter.3 + /usr/share/man/man3/SDL_GetGamma.3 + /usr/share/man/man3/SDL_GetGammaRamp.3 + /usr/share/man/man3/SDL_GetKeyName.3 + /usr/share/man/man3/SDL_GetKeyState.3 + /usr/share/man/man3/SDL_GetModState.3 + /usr/share/man/man3/SDL_GetMouseState.3 + /usr/share/man/man3/SDL_GetRelativeMouseState.3 + /usr/share/man/man3/SDL_GetRGB.3 + /usr/share/man/man3/SDL_GetRGBA.3 + /usr/share/man/man3/SDL_GetThreadID.3 + /usr/share/man/man3/SDL_GetTicks.3 + /usr/share/man/man3/SDL_GetVideoInfo.3 + /usr/share/man/man3/SDL_GetVideoSurface.3 + /usr/share/man/man3/SDL_GLattr.3 + /usr/share/man/man3/SDL_GL_GetAttribute.3 + /usr/share/man/man3/SDL_GL_GetProcAddress.3 + /usr/share/man/man3/SDL_GL_LoadLibrary.3 + /usr/share/man/man3/SDL_GL_SetAttribute.3 + /usr/share/man/man3/SDL_GL_SwapBuffers.3 + /usr/share/man/man3/SDL_Init.3 + /usr/share/man/man3/SDL_InitSubSystem.3 + /usr/share/man/man3/SDL_JoyAxisEvent.3 + /usr/share/man/man3/SDL_JoyBallEvent.3 + /usr/share/man/man3/SDL_JoyButtonEvent.3 + /usr/share/man/man3/SDL_JoyHatEvent.3 + /usr/share/man/man3/SDL_JoystickClose.3 + /usr/share/man/man3/SDL_JoystickEventState.3 + /usr/share/man/man3/SDL_JoystickGetAxis.3 + /usr/share/man/man3/SDL_JoystickGetBall.3 + /usr/share/man/man3/SDL_JoystickGetButton.3 + /usr/share/man/man3/SDL_JoystickGetHat.3 + /usr/share/man/man3/SDL_JoystickIndex.3 + /usr/share/man/man3/SDL_JoystickName.3 + /usr/share/man/man3/SDL_JoystickNumAxes.3 + /usr/share/man/man3/SDL_JoystickNumBalls.3 + /usr/share/man/man3/SDL_JoystickNumButtons.3 + /usr/share/man/man3/SDL_JoystickNumHats.3 + /usr/share/man/man3/SDL_JoystickOpen.3 + /usr/share/man/man3/SDL_JoystickOpened.3 + /usr/share/man/man3/SDL_JoystickUpdate.3 + /usr/share/man/man3/SDL_KeyboardEvent.3 + /usr/share/man/man3/SDL_keysym.3 + /usr/share/man/man3/SDL_KillThread.3 + /usr/share/man/man3/SDL_ListModes.3 + /usr/share/man/man3/SDL_LoadBMP.3 + /usr/share/man/man3/SDL_LoadWAV.3 + /usr/share/man/man3/SDL_LockAudio.3 + /usr/share/man/man3/SDL_LockSurface.3 + /usr/share/man/man3/SDL_LockYUVOverlay.3 + /usr/share/man/man3/SDL_MapRGB.3 + /usr/share/man/man3/SDL_MapRGBA.3 + /usr/share/man/man3/SDL_MixAudio.3 + /usr/share/man/man3/SDL_MouseButtonEvent.3 + /usr/share/man/man3/SDL_MouseMotionEvent.3 + /usr/share/man/man3/SDL_mutexP.3 + /usr/share/man/man3/SDL_mutexV.3 + /usr/share/man/man3/SDL_NumJoysticks.3 + /usr/share/man/man3/SDL_OpenAudio.3 + /usr/share/man/man3/SDL_Overlay.3 + /usr/share/man/man3/SDL_Palette.3 + /usr/share/man/man3/SDL_PauseAudio.3 + /usr/share/man/man3/SDL_PeepEvents.3 + /usr/share/man/man3/SDL_PixelFormat.3 + /usr/share/man/man3/SDL_PollEvent.3 + /usr/share/man/man3/SDL_PumpEvents.3 + /usr/share/man/man3/SDL_PushEvent.3 + /usr/share/man/man3/SDL_Quit.3 + /usr/share/man/man3/SDL_QuitEvent.3 + /usr/share/man/man3/SDL_QuitSubSystem.3 + /usr/share/man/man3/SDL_Rect.3 + /usr/share/man/man3/SDL_RemoveTimer.3 + /usr/share/man/man3/SDL_ResizeEvent.3 + /usr/share/man/man3/SDL_RWFromFile.3 + /usr/share/man/man3/SDL_SaveBMP.3 + /usr/share/man/man3/SDL_SemPost.3 + /usr/share/man/man3/SDL_SemTryWait.3 + /usr/share/man/man3/SDL_SemValue.3 + /usr/share/man/man3/SDL_SemWait.3 + /usr/share/man/man3/SDL_SemWaitTimeout.3 + /usr/share/man/man3/SDL_SetAlpha.3 + /usr/share/man/man3/SDL_SetClipRect.3 + /usr/share/man/man3/SDL_SetColorKey.3 + /usr/share/man/man3/SDL_SetColors.3 + /usr/share/man/man3/SDL_SetCursor.3 + /usr/share/man/man3/SDL_SetEventFilter.3 + /usr/share/man/man3/SDL_SetGamma.3 + /usr/share/man/man3/SDL_SetGammaRamp.3 + /usr/share/man/man3/SDL_SetModState.3 + /usr/share/man/man3/SDL_SetPalette.3 + /usr/share/man/man3/SDL_SetTimer.3 + /usr/share/man/man3/SDL_SetVideoMode.3 + /usr/share/man/man3/SDL_ShowCursor.3 + /usr/share/man/man3/SDL_Surface.3 + /usr/share/man/man3/SDL_SysWMEvent.3 + /usr/share/man/man3/SDL_ThreadID.3 + /usr/share/man/man3/SDL_UnlockAudio.3 + /usr/share/man/man3/SDL_UnlockSurface.3 + /usr/share/man/man3/SDL_UnlockYUVOverlay.3 + /usr/share/man/man3/SDL_UpdateRect.3 + /usr/share/man/man3/SDL_UpdateRects.3 + /usr/share/man/man3/SDL_UserEvent.3 + /usr/share/man/man3/SDL_VideoDriverName.3 + /usr/share/man/man3/SDL_VideoInfo.3 + /usr/share/man/man3/SDL_VideoModeOK.3 + /usr/share/man/man3/SDL_WaitEvent.3 + /usr/share/man/man3/SDL_WaitThread.3 + /usr/share/man/man3/SDL_WarpMouse.3 + /usr/share/man/man3/SDL_WasInit.3 + /usr/share/man/man3/SDL_WM_GetCaption.3 + /usr/share/man/man3/SDL_WM_GrabInput.3 + /usr/share/man/man3/SDL_WM_IconifyWindow.3 + /usr/share/man/man3/SDL_WM_SetCaption.3 + /usr/share/man/man3/SDL_WM_SetIcon.3 + /usr/share/man/man3/SDL_WM_ToggleFullScreen.3 + +------------------------------------------------------------------------------- + +Port Notes: + +----- version SDL-1.2.7-1 ----- + +Initial cygwin release: autoreconf -f, removed mingw stuff, +fixes to build in .build + +Cygwin port maintained by: Reini Urban <[EMAIL PROTECTED]> +Cygwin port questions to the mailinglist <[EMAIL PROTECTED]> --- SDL-1.2.7/CYGWIN-PATCHES/README.txt.orig 1970-01-01 01:00:00.000000000 +0100 +++ SDL-1.2.7/CYGWIN-PATCHES/README.txt 2004-10-25 15:03:42.208808800 +0100 @@ -0,0 +1,35 @@ + +Steps to build SDL natively with the Cygwin environment available at: + http://www.cygwin.com/ + +These steps assume that you are comfortable with the UNIX environment. + +Step 1. Run the Cygwin setup program, install the default packages and + the development packages (adding any extras you want, like vim). +Step 2. Run the Cygwin shell. Further instructions assume you're in this shell. +Step 3. Extract the SDL source into a directory and run: + ./configure && make && make install +Step 4. When you're ready to build SDL applications, copy SDL.dll from + /usr/local/lib to whereever your SDL application source resides. + +Troubleshooting: +=========================================================================== +Q: I get an error when building and I unpacked the source in a path with spaces. +A: Unpack the source in a path without spaces, like /tmp, and build there. +=========================================================================== +Q: I get the following error while building SDL: + GL/gl.h: No such file or directory +A: You need to get the OpenGL development headers from: + http://www.libsdl.org/extras/win32/cygwin/opengl-devel.tar.gz + You need to unpack these in the /usr directory. +=========================================================================== +Q: My version of SDL doesn't have DirectX support! +A: You need to get the DirectX development headers and libraries from: + http://www.libsdl.org/extras/win32/cygwin/directx-devel.tar.gz + You need to unpack these in the /usr directory. +=========================================================================== +Q: My version of SDL doesn't have assembly support, NASM is not available. +A: You need to get nasm assembler from: + http://www.libsdl.org/extras/win32/cygwin/nasm.exe + Put this file in the /usr/bin directory. +=========================================================================== --- SDL-1.2.7/autogen.sh.orig 2002-06-08 18:42:09.000000000 +0100 +++ SDL-1.2.7/autogen.sh 2004-10-25 15:36:09.308885600 +0100 @@ -13,6 +13,8 @@ autoconf (cd test; aclocal; automake --foreign --include-deps --add-missing --copy; autoconf) +libtoolize -c -f + # Run configure for this platform #./configure $* echo "Now you are ready to run ./configure" --- SDL-1.2.7/configure.in.orig 2004-02-22 22:31:47.000000000 +0100 +++ SDL-1.2.7/configure.in 2004-10-25 14:51:41.218037000 +0100 @@ -2374,10 +2374,10 @@ SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" case "$target" in *-*-cygwin*) - CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin" - SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin" - LIBS="$LIBS -mno-cygwin" - SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin" + CFLAGS="$CFLAGS -I/usr/include/w32api -DWIN32 -Uunix " + SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/w32api -DWIN32 -Uunix " + LIBS="$LIBS -L/usr/lib/w32api" + SDL_LIBS=" -lSDLmain $SDL_LIBS -mwindows " ;; *-*-mingw32*) SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows" --- SDL-1.2.7/src/Makefile.am.orig 2004-02-18 18:21:58.000000000 +0100 +++ SDL-1.2.7/src/Makefile.am 2004-10-25 15:12:52.279892800 +0100 @@ -19,6 +19,7 @@ lib_LTLIBRARIES = libSDL.la libSDL_la_SOURCES = $(GENERAL_SRCS) +libSDL_la_CFLAGS = @CFLAGS@ -I../include libSDL_la_LDFLAGS = \ -no-undefined \ -release $(LT_RELEASE) \
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/