From: <ka...@us...> - 2006-06-29 02:09:10
|
Revision: 7316 Author: kazzmir Date: 2006-06-28 19:09:04 -0700 (Wed, 28 Jun 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7316&view=rev Log Message: ----------- Use allegro context for win32. Force asmcapa.h to be built, that should be done more elegantly at some point. asmdef.inc is still not generated, but that depends on asmdef.exe. Modified Paths: -------------- allegro/branches/4.3/SConstruct allegro/branches/4.3/scons/win32.scons Modified: allegro/branches/4.3/SConstruct =================================================================== --- allegro/branches/4.3/SConstruct 2006-06-26 18:17:24 UTC (rev 7315) +++ allegro/branches/4.3/SConstruct 2006-06-29 02:09:04 UTC (rev 7316) @@ -128,7 +128,7 @@ def setSConsignFile(self,file): for i in self.envs: - i.SConsignFile("build/signatures") + i.SConsignFile(file) def getExampleEnv(self): return self.exampleEnv Modified: allegro/branches/4.3/scons/win32.scons =================================================================== --- allegro/branches/4.3/scons/win32.scons 2006-06-26 18:17:24 UTC (rev 7315) +++ allegro/branches/4.3/scons/win32.scons 2006-06-29 02:09:04 UTC (rev 7316) @@ -1,20 +1,22 @@ -Import('addFiles', 'addExtra') +Import('context') import os -env = SConscript('all.scons', exports = [ 'addFiles', 'addExtra' ]) +SConscript('all.scons', exports = ['context']); # config = env.Configure() # env = config.Finish() flags = [ '-g', '-Wall', '-Wno-unused', '-O2', '-funroll-loops', '-ffast-math', '-fomit-frame-pointer' ] -includes = [ "include", "include/allegro" ] +includes = [ "include", "include/allegro", "." ] # defines = [ "-DALLEGRO_SRC", "-DALLEGRO_NO_ASM", "-DALLEGRO_LIB_BUILD" ] -defines = [ "-DALLEGRO_SRC", "-DALLEGRO_LIB_BUILD" ] +defines = [ "ALLEGRO_SRC", "ALLEGRO_LIB_BUILD" ] +env = context.getLibraryEnv() + env.Append(CCFLAGS = flags) -env.Append(CCFLAGS = defines) +env.Append(CPPDEFINES = defines) env.Append(CPPPATH = includes) # assembler = Builder(action = 'gcc --x assembler-with-cpp $CCFLAGS $SOURCES -c -o $TARGET', src_suffic = '.s', suffic = '.o') @@ -39,11 +41,11 @@ # for i in f: # files += [env.Assembler(i)] -addFiles('c',Split(""" +context.addFiles('c',Split(""" """)); # cmiscs.s -addFiles('i386', Split(""" +context.addFiles('i386', Split(""" iblit8.s iblit16.s iblit24.s @@ -68,11 +70,11 @@ izbuf.s """)); -addFiles('misc',Split(""" +context.addFiles('misc',Split(""" icolconv.s """)); -addFiles('win', Split(""" +context.addFiles('win', Split(""" asmlock.s gdi.c wddaccel.c @@ -108,7 +110,14 @@ wxthread.c """)); +## crappy hack +file = open('obj/mingw32/asmcapa.h', "w") +file.write("#define ALLEGRO_GENERATED_BY_MAKEFILE_TST\n") +file.write("#define ALLEGRO_MMX\n") +file.write("#define ALLEGRO_SSE\n") +file.close() + cat = Builder(action = 'cat $SOURCES > $TARGET') env.Append(BUILDERS = {'Cat' : cat}) -Return('env') +context.setExampleEnv(env) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2006-07-25 02:06:34
|
Revision: 7393 Author: kazzmir Date: 2006-07-24 19:06:30 -0700 (Mon, 24 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7393&view=rev Log Message: ----------- Add function to create allegro-config in unix Modified Paths: -------------- allegro/branches/4.3/SConstruct allegro/branches/4.3/scons/unix.scons Modified: allegro/branches/4.3/SConstruct =================================================================== --- allegro/branches/4.3/SConstruct 2006-07-24 22:52:46 UTC (rev 7392) +++ allegro/branches/4.3/SConstruct 2006-07-25 02:06:30 UTC (rev 7393) @@ -107,6 +107,9 @@ def getLibraryDir(self): return self.libDir + def getVersion(self): + return allegroVersion + def getExtraTargets(self): return self.extraTargets Modified: allegro/branches/4.3/scons/unix.scons =================================================================== --- allegro/branches/4.3/scons/unix.scons 2006-07-24 22:52:46 UTC (rev 7392) +++ allegro/branches/4.3/scons/unix.scons 2006-07-25 02:06:30 UTC (rev 7393) @@ -394,6 +394,37 @@ context.addExtra(tools) +def allegroConfig(env,appendDir,buildDir,libDir): + """Builds the allegro-config shell script out of misc/allegro-config.in""" + dict = {} + dict[ '@prefix@' ] = ARGUMENTS.get( 'prefix', '/usr/local/' ) + dict[ '@INCLUDE_PREFIX@' ] = ARGUMENTS.get( 'prefix', '/usr/local/' ) + dict[ '@LINK_WITH_STATIC_LIBS@' ] = 'something' + dict[ '@LIB_TO_LINK@' ] = 'something' + dict[ '@LDFLAGS@' ] = 'something' + dict[ '@LIBS@' ] = 'something' + dict[ '@FRAMEWORKS@' ] = 'something' + dict[ '^version=.*' ] = 'version=%s' % context.getVersion() + + def replaceVars(target,source,env): + writer = open( target[0].path, 'w' ) + for line in file(source[0].path): + import re + for str in dict.keys(): + regex = re.compile( str ) + line = regex.sub(dict[str], line) + + writer.write( line ) + + writer.close() + return 0 + + configure = Builder( action = replaceVars, name = "ConfigureBuilder" ) + env.Append(BUILDERS = { "Configure" : configure }) + return env.Configure( 'allegro-config', '#misc/allegro-config.in' ) + +context.addExtra(allegroConfig) + def pruneLibs(libs): import sets # needed for Python 2.3 compatibility return list(sets.Set(libs)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-26 13:45:48
|
Revision: 7399 Author: tjaden Date: 2006-07-26 05:28:55 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7399&view=rev Log Message: ----------- Peter Wang started support for the CMake build system. Partially tested on Linux, MinGW/MSYS. Added Paths: ----------- allegro/branches/4.3/CMakeLists.txt allegro/branches/4.3/cmake/ allegro/branches/4.3/cmake/CheckCtors.cmake allegro/branches/4.3/cmake/FileList.cmake allegro/branches/4.3/cmake/GeneratePlugins.cmake allegro/branches/4.3/demo/CMakeLists.txt allegro/branches/4.3/docs/CMakeLists.txt allegro/branches/4.3/examples/CMakeLists.txt allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake allegro/branches/4.3/tests/CMakeLists.txt allegro/branches/4.3/tools/CMakeLists.txt Added: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,795 @@ +# +# TODO: +# +# - programs do not depend on library properly +# +# - sonames on Unix +# - most Unix drivers require testing +# +# - crash on Windows if try to use ALLEGRO_NO_ASM due to clash of calling +# conventions (I think it was never supported) +# - DLLs on Windows (some "auto-imports" when linking executables) +# - MSVC support +# +# - some documentation targets still missing +# - installing documentation +# + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + +#-----------------------------------------------------------------------------# +# +# Project +# +#-----------------------------------------------------------------------------# + +project(ALLEGRO C) +include_directories( . include include/allegro) +include(FileList) + +#-----------------------------------------------------------------------------# +# +# Build options +# +#-----------------------------------------------------------------------------# + +option(GRADE_STANDARD "Build the standard library" on) +option(GRADE_DEBUG "Build the debug library" off) +option(GRADE_PROFILE "Build the profiling library" off) + +option(SHARED "Build shared libraries" on) +option(STATIC "Build static libraries" on) + +option(WANT_ASM "Use hand-written assembly code for i386 (not recommended)" off) +option(WANT_MODULES "Use dynamically loaded modules (Unix)" on) +option(WANT_MAGIC_MAIN "Enable magic main" off) + +# +# Platforms and drivers. +# + +option(WANT_LINUX_CONSOLE "Linux console support" on) +option(WANT_FBCON "Enable framebuffer graphics driver (Linux)" on) +option(WANT_SVGALIB "Enable SVGAlib graphics driver (Linux)" on) +option(WANT_VGA "Enable VGA graphics driver (Linux)" on) + +option(WANT_X11 "X11 support" on) +option(WANT_DGA2 "Enable DGA2 graphics driver (X11)" on) + +option(WANT_ALSADIGI "Enable ALSA digital audio driver (Unix)" on) +option(WANT_ALSAMIDI "Enable ALSA MIDI driver (Unix)" on) +option(WANT_ARTS "Enable aRts audio driver (Unix)" on) +option(WANT_ESD "Enable ESD audio driver (Unix)" on) +option(WANT_JACK "Enable JACK audio driver (Unix)" on) +option(WANT_OSSDIGI "Enable OSS digital audio driver (Unix)" on) +option(WANT_OSSMIDI "Enable OSS MIDI driver (Unix)" on) +option(WANT_SGIAL "Enable SGI AL audio driver (Unix)" on) + +# +# For developers. +# + +option(STRICT_WARN "Halt at warnings" off) + +#-----------------------------------------------------------------------------# + +set(ALLEGRO_EXE_PATH "bin" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${ALLEGRO_EXE_PATH}) + +set(ALLEGRO_LIB_PATH "lib" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${ALLEGRO_LIB_PATH}) + +#-----------------------------------------------------------------------------# +# +# Platform configuration +# +#-----------------------------------------------------------------------------# + +include(CheckCSourceCompiles) +include(CheckFunctionExists) +include(CheckIncludeFiles) +include(CheckLibraryExists) +include(CheckSymbolExists) +include(CheckTypeSize) +include(UsePkgConfig) + +# For alplatf.h + +if(MINGW) + set(ALLEGRO_MINGW32 1) +endif(MINGW) +if(UNIX) + set(ALLEGRO_UNIX 1) +endif(UNIX) + +# Add corresponding lines to include/allegro/platform/alunixac.h.in + +include(TestBigEndian) +test_big_endian(big_endian) +if(big_endian) + set(ALLEGRO_BIG_ENDIAN 1) +else(big_endian) + set(ALLEGRO_LITTLE_ENDIAN 1) +endif(big_endian) + +check_include_files(dirent.h HAVE_DIRENT_H) +check_include_files(inttypes.h HAVE_INTTYPES_H) +check_include_files(limits.h HAVE_LIMITS_H) +check_include_files(linux/awe_voice.h HAVE_LINUX_AWE_VOICE_H) +check_include_files(linux/input.h HAVE_LINUX_INPUT_H) +check_include_files(linux/joystick.h HAVE_LINUX_JOYSTICK_H) +check_include_files(linux/soundcard.h HAVE_LINUX_SOUNDCARD_H) +check_include_files(machine/soundcard.h HAVE_MACHINE_SOUNDCARD_H) +check_include_files(memory.h HAVE_MEMORY_H) +check_include_files(ndir.h HAVE_NDIR_H) +check_include_files(soundcard.h HAVE_SOUNDCARD_H) +check_include_files(stdbool.h HAVE_STDBOOL_H) +check_include_files(stdint.h HAVE_STDINT_H) +check_include_files(sys/dir.h HAVE_SYS_DIR_H) +check_include_files(sys/io.h HAVE_SYS_IO_H) +check_include_files(sys/ndir.h HAVE_SYS_NDIR_H) +check_include_files(sys/soundcard.h HAVE_SYS_SOUNDCARD_H) +check_include_files(sys/stat.h HAVE_SYS_STAT_H) +check_include_files(sys/time.h HAVE_SYS_TIME_H) +check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H) + +check_function_exists(getexecname ALLEGRO_SYS_GETEXECNAME) +set(ALLEGRO_HAVE_GETEXECNAME ${ALLEGRO_SYS_GETEXECNAME}) + # ??? both are used in the source +check_function_exists(memcmp HAVE_MEMCMP) +check_function_exists(mkstemp HAVE_MKSTEMP) +check_function_exists(mmap HAVE_MMAP) +check_function_exists(mprotect HAVE_MPROTECT) +check_function_exists(sched_yield ALLEGRO_USE_SCHED_YIELD) +check_function_exists(stricmp HAVE_STRICMP) +check_function_exists(strlwr HAVE_STRLWR) +check_function_exists(strupr HAVE_STRUPR) +check_function_exists(strupr HAVE_STRUPR) + +check_c_source_compiles(" + #include <stdbool.h> + int main(void) { + _Bool x = false; + return 0; + }" + HAVE__BOOL + ) + +check_c_source_compiles(" + #include <sys/procfs.h> + int main(void) { + struct prpsinfo psinfo; + psinfo.pr_argc = 0; + return 0; + }" + ALLEGRO_HAVE_PROCFS_ARGCV + ) + +check_c_source_compiles(" + #include <sys/procfs.h> + #include <sys/ioctl.h> + int main(void) { + struct prpsinfo psinfo; + ioctl(0, PIOCPSINFO, &psinfo); + return 0; + }" + ALLEGRO_HAVE_SV_PROCFS + ) + +check_c_source_compiles(" + #include <time.h> + #include <sys/time.h> + int main(void) { + return 0; + }" + TIME_WITH_SYS_TIME + ) + +include(CheckCtors) +check_ctors(ALLEGRO_USE_CONSTRUCTOR) + +#-----------------------------------------------------------------------------# + +if(WANT_ASM) + # TODO check if assembly is support on this platform + set(SUPPORT_ASM 1) +endif(WANT_ASM) + +if(NOT SUPPORT_ASM) + # TODO Consider getting rid of this command-line option and use the + # config file. + add_definitions(-DALLEGRO_NO_ASM) +endif(NOT SUPPORT_ASM) + +if(WANT_MODULES) + # Should ask CMake whether it can build modules on this platform. + set(ALLEGRO_WITH_MODULES 1) + set(SUPPORT_MODULES 1) +endif(WANT_MODULES) + +if(WANT_MAGIC_MAIN) + set(ALLEGRO_WITH_MAGIC_MAIN 1) +endif(WANT_MAGIC_MAIN) + +#-----------------------------------------------------------------------------# +# +# Driver configuration +# +#-----------------------------------------------------------------------------# + + # Accumulate extra libraries needed for the platform. + # +set(PLATFORM_LIBS) + + # Accumulate extra libraries needed due to drivers. + # +set(DRIVER_LIBS_STATIC) +set(DRIVER_LIBS_SHARED) + +# +# Unix-specific +# + +if(UNIX) + + include(FindThreads) + if(CMAKE_USE_PTHREADS_INIT) + set(HAVE_LIBPTHREAD 1) + endif(CMAKE_USE_PTHREADS_INIT) + if(HAVE_LIBPTHREAD) + list(APPEND PLATFORM_LIBS pthread) + endif(HAVE_LIBPTHREAD) + + # TODO softcode the version number + if(SUPPORT_MODULES) + set(ALLEGRO_MODULES_PATH_TAIL lib/allegro/4.3.1) + set(ALLEGRO_MODULES_PATH + \"${CMAKE_INSTALL_PREFIX}${ALLEGRO_MODULES_PATH_TAIL}\" + ) + endif(SUPPORT_MODULES) + + # + # Sound drivers + # + + if(WANT_ALSADIGI) + check_c_source_compiles(" + #include <sys/asoundlib.h> + int main(void) { + #if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9 && SND_LIB_SUBMINOR >= 1) + return 0; + #else + return 1; + #endif + }" + SUPPORT_ALSADIGI + ) + if(SUPPORT_ALSADIGI) + set(ALLEGRO_WITH_ALSADIGI 1) + set(ALLEGRO_ALSA_VERSION 9) + list(APPEND DRIVER_LIBS_STATIC asound) + endif(SUPPORT_ALSADIGI) + endif(WANT_ALSADIGI) + + if(WANT_ALSAMIDI) + check_c_source_compiles(" + #include <sys/asoundlib.h> + int main(void) { + #if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9) + return 0; + #else + return 1; + #endif + }" + SUPPORT_ALSAMIDI + ) + if(SUPPORT_ALSAMIDI) + set(ALLEGRO_WITH_ALSAMIDI 1) + set(ALLEGRO_ALSA_VERSION 9) + list(APPEND DRIVER_LIBS_STATIC asound) + endif(SUPPORT_ALSAMIDI) + endif(WANT_ALSAMIDI) + + if(WANT_ARTS) + # XXX artsc doesn't use pkg-config + pkgconfig(artsc + ARTS_INCLUDEDIR ARTS_LIBDIR + ARTS_LINKFLAGS ARTS_CFLAGS + ) + if(ARTS_INCLUDEDIR) + set(SUPPORT_ARTS 1) + set(ALLEGRO_WITH_ARTSDIGI 1) + list(APPEND DRIVER_LIBS_STATIC ${ARTS_LINKFLAGS}) + endif(ARTS_INCLUDEDIR) + endif(WANT_ARTS) + + if(WANT_ESD) + # XXX esd doesn't use pkg-config + pkgconfig(esd + ESD_INCLUDEDIR ESD_LIBDIR + ESD_LINKFLAGS ESD_CFLAGS + ) + if(ESD_INCLUDEDIR) + set(SUPPORT_ESD 1) + set(ALLEGRO_WITH_ESDDIGI 1) + list(APPEND DRIVER_LIBS_STATIC ${ESD_LINKFLAGS}) + endif(ESD_INCLUDEDIR) + endif(WANT_ESD) + + if(WANT_JACK) + pkgconfig(jack + JACK_INCLUDEDIR JACK_LIBDIR + JACK_LINKFLAGS JACK_CFLAGS + ) + if(JACK_INCLUDEDIR) + set(SUPPORT_JACK 1) + set(ALLEGRO_WITH_JACKDIGI 1) + list(APPEND DRIVER_LIBS_STATIC ${JACK_LINKFLAGS}) + endif(JACK_INCLUDEDIR) + endif(WANT_JACK) + + if(HAVE_SOUNDCARD_H OR HAVE_SYS_SOUNDCARD_H OR + HAVE_MACHINE_SOUNDCARD_H OR HAVE_LINUX_SOUNDCARD_H) + + if(WANT_OSSDIGI) + set(SUPPORT_OSSDIGI 1) + set(ALLEGRO_WITH_OSSDIGI 1) + endif(WANT_OSSDIGI) + + if(WANT_OSSMIDI) + set(SUPPORT_OSSMIDI 1) + set(ALLEGRO_WITH_OSSMIDI 1) + endif(WANT_OSSMIDI) + + check_library_exists(ossaudio _oss_ioctl "" HAVE_LIBOSSAUDIO) + if(HAVE_LIBOSSAUDIO) + list(APPEND DRIVER_LIBS_STATIC ossaudio) + list(APPEND DRIVER_LIBS_SHARED ossaudio) + endif(HAVE_LIBOSSAUDIO) + + endif(HAVE_SOUNDCARD_H OR HAVE_SYS_SOUNDCARD_H OR + HAVE_MACHINE_SOUNDCARD_H OR HAVE_LINUX_SOUNDCARD_H) + + if(WANT_SGIAL) + check_library_exists(audio alOpenPort "" SUPPORT_SGIAL) + if(SUPPORT_SGIAL) + set(ALLEGRO_WITH_SGIALDIGI 1) + list(append DRIVER_LIBS_STATIC audio) + endif(SUPPORT_SGIAL) + endif(WANT_SGIAL) + +endif(UNIX) + +# +# Linux-specific +# + +# TODO check actually on Linux +if(WANT_LINUX_CONSOLE AND UNIX) + set(SUPPORT_LINUX_CONSOLE 1) + set(ALLEGRO_LINUX 1) +endif(WANT_LINUX_CONSOLE AND UNIX) + +if(SUPPORT_LINUX_CONSOLE) + + if(WANT_FBCON) + check_c_source_compiles(" + #include <linux/fb.h> + int main(void) { + int x = FB_SYNC_ON_GREEN; + return 0; + }" + SUPPORT_FBCON + ) + if(SUPPORT_FBCON) + set(ALLEGRO_LINUX_FBCON 1) + endif(SUPPORT_FBCON) + endif(WANT_FBCON) + + if(WANT_SVGALIB) + check_library_exists(vga vga_init "" SUPPORT_SVGALIB) + if(SUPPORT_SVGALIB) + set(ALLEGRO_LINUX_SVGALIB 1) + list(APPEND DRIVER_LIBS_STATIC vga) + endif(SUPPORT_SVGALIB) + + set(CMAKE_REQUIRED_LIBRARIES vga) + check_c_source_compiles(" + #include <vga.h> + int main(void) { + int x = vga_version; + return 0; + }" + ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION + ) + set(CMAKE_REQUIRED_LIBRARIES) + endif(WANT_SVGALIB) + + if(WANT_VGA) + set(SUPPORT_VGA 1) + set(ALLEGRO_LINUX_VGA 1) + endif(WANT_VGA) + +endif(SUPPORT_LINUX_CONSOLE) + +# +# X Window System +# + +if(WANT_X11) + include(FindX11) + if(X11_FOUND) + set(SUPPORT_X11 1) + set(ALLEGRO_WITH_XWINDOWS 1) + endif(X11_FOUND) +endif(WANT_X11) + +if(SUPPORT_X11) + set(CMAKE_REQUIRED_LIBRARIES ${X11_LIBRARIES}) + + check_library_exists(Xext XShmQueryExtension "" + ALLEGRO_XWINDOWS_WITH_SHM) + + check_library_exists(Xcursor XcursorImageCreate "" + ALLEGRO_XWINDOWS_WITH_XCURSOR) + if(ALLEGRO_XWINDOWS_WITH_XCURSOR) + list(APPEND X11_LIBRARIES "Xcursor") + endif(ALLEGRO_XWINDOWS_WITH_XCURSOR) + + check_library_exists(Xxf86vm XF86VidModeQueryExtension "" + ALLEGRO_XWINDOWS_WITH_XF86VIDMODE) + if(ALLEGRO_XWINDOWS_WITH_XF86VIDMODE) + list(APPEND X11_LIBRARIES "Xxf86vm") + endif(ALLEGRO_XWINDOWS_WITH_XF86VIDMODE) + + if(WANT_DGA2) + check_library_exists(Xxf86dga XDGAQueryExtension "" + ALLEGRO_XWINDOWS_WITH_XF86DGA2) + if(ALLEGRO_XWINDOWS_WITH_XF86DGA2) + list(APPEND DRIVER_LIBS_STATIC "Xxf86dga") + endif(ALLEGRO_XWINDOWS_WITH_XF86DGA2) + endif(WANT_DGA2) + + check_library_exists(X11 XOpenIM "" ALLEGRO_USE_XIM) + + check_include_files(X11/xpm.h HAVE_X11_XPM_H) + if(HAVE_X11_XPM_H) + check_library_exists(Xpm XpmCreatePixmapFromData "" + ALLEGRO_XWINDOWS_WITH_XPM) + if(ALLEGRO_XWINDOWS_WITH_XPM) + list(APPEND X11_LIBRARIES "Xpm") + endif(ALLEGRO_XWINDOWS_WITH_XPM) + endif(HAVE_X11_XPM_H) + + set(CMAKE_REQUIRED_LIBRARIES) +endif(SUPPORT_X11) + +# +# Produce configuration files. +# All relevant variables must be set before here. +# + +configure_file( + include/allegro/platform/alplatf.h.cmake + include/allegro/platform/alplatf.h + ) + +if(UNIX) + + set(CONFIG_FILE include/allegro/platform/alunixac.h) + configure_file(${CONFIG_FILE}.cmake ${CONFIG_FILE}) + add_definitions(-DHAVE_CONFIG_H) + + configure_file(misc/allegro-config.in allegro-config) + install(PROGRAMS allegro-config + DESTINATION bin + ) + +endif(UNIX) + +#-----------------------------------------------------------------------------# +# +# Library +# +#-----------------------------------------------------------------------------# + + # List of source files need to compile Allegro in this configuration on + # this platform. + # +set(LIBRARY_SOURCES ${ALLEGRO_SRC_FILES}) + + # Libraries that we always need to link against on this platform + # e.g. -lm on Unix. + # +set(PLATFORM_LIBS) + + # Whether using hand-written assembly code or C-only. + # +if(SUPPORT_ASM) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_I386_FILES}) +else(SUPPORT_ASM) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_C_FILES}) + if(WIN32) + list(APPEND LIBRARY_SOURCES src/c/cmiscs.s) + endif(WIN32) +endif(SUPPORT_ASM) + + # Assembly code and Windows port both require generated asmdef.inc. + # +add_executable(asmdef src/i386/asmdef.c) +get_target_property(ASMDEF_EXE asmdef LOCATION) + +if(MINGW) + set(ASMDEF_INC obj/mingw32/asmdef.inc) +endif(MINGW) +if(UNIX) + set(ASMDEF_INC obj/unix/asmdef.inc) +endif(UNIX) + +add_custom_target(asmdef_inc + DEPENDS ${ASMDEF_INC} + ) +add_custom_command( + OUTPUT ${ASMDEF_INC} + DEPENDS asmdef + COMMAND ${ASMDEF_EXE} ${ASMDEF_INC} + ) + +if(UNIX) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_UNIX_FILES}) + list(APPEND PLATFORM_LIBS m pthread) +endif(UNIX) + +if(SUPPORT_LINUX_CONSOLE) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_LINUX_FILES}) +endif(SUPPORT_LINUX_CONSOLE) + +if(SUPPORT_X11) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_X_FILES}) + list(APPEND PLATFORM_LIBS ${X11_LIBRARIES}) +endif(SUPPORT_X11) + +if(WIN32) + list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_WIN_FILES}) + # TODO this still needs to be produced with misc/fixdll.sh + if(MINGW) + list(APPEND LIBRARY_SOURCES lib/mingw32/allegro.def) + endif(MINGW) + list(APPEND PLATFORM_LIBS + kernel32 user32 gdi32 comdlg32 ole32 dinput ddraw dxguid winmm dsound + ) +endif(WIN32) + +#-----------------------------------------------------------------------------# + +if(STRICT_WARN) + set(WFLAGS "-W -Wall -Wstrict-prototypes -Wno-unused-parameter -Werror") +else(STRICT_WARN) + set(WFLAGS "-W -Wall -Wno-unused") +endif(STRICT_WARN) + +macro(add_allegro_build nm extra_flags) + + set(LIBRARY_CFLAGS + "-DALLEGRO_LIB_BUILD -DALLEGRO_SRC ${WFLAGS} ${extra_flags}" + ) + + # + # Assembly files. + # I can't get it to work by adding the asm source file to the library, so + # we add the object file to the library instead. + # + set(ASM_OBJS) + set(ASM_SOURCES) + foreach(SOURCE ${LIBRARY_SOURCES}) + if(${SOURCE} MATCHES "\\.s$") + get_filename_component(FILE_BASE ${SOURCE} NAME_WE) + set(OBJ ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_OUTPUT_PATH}/${FILE_BASE}.o) + set(_wflags ${WFLAGS}) + separate_arguments(_wflags) + add_custom_command( + OUTPUT ${OBJ} + DEPENDS ${SOURCE} ${ASMDEF_INC} + COMMAND + ${CMAKE_C_COMPILER} -x assembler-with-cpp + -I. -Iinclude ${_wflags} -c ${SOURCE} -o ${OBJ} + ) + list(APPEND ASM_OBJS ${OBJ}) + list(APPEND ASM_SOURCES ${SOURCE}) + endif(${SOURCE} MATCHES "\\.s$") + endforeach(SOURCE) + + macro(really_add_allegro_build nm target libtype more_extra_flags) + add_library(${target} ${libtype} ${LIBRARY_SOURCES} ${ASM_OBJS}) + set_target_properties(${target} + PROPERTIES + COMPILE_FLAGS "${more_extra_flags} ${LIBRARY_CFLAGS}" + OUTPUT_NAME ${nm} + ) + if(SUPPORT_ASM) + add_dependencies(${target} asmdef_inc) + endif(SUPPORT_ASM) + + target_link_libraries(${target} ${PLATFORM_LIBS}) + + install(TARGETS ${target} + DESTINATION lib + LIBRARY PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) + endmacro(really_add_allegro_build) + + if(SHARED) + really_add_allegro_build(${nm} ${nm}_shared SHARED "") + endif(SHARED) + + if(STATIC) + really_add_allegro_build(${nm} ${nm}_static STATIC + "-DALLEGRO_STATICLINK") + endif(STATIC) + +endmacro(add_allegro_build) + +if(GRADE_STANDARD) + add_allegro_build(alleg + "-O2 -funroll-loops -ffast-math -fomit-frame-pointer") +endif(GRADE_STANDARD) + +if(GRADE_DEBUG) + add_allegro_build(alld + "-DDEBUGMODE -g") +endif(GRADE_DEBUG) + +if(GRADE_PROFILE) + add_allegro_build(allp + "-pg -O2 -funroll-loops -ffast-math") +endif(GRADE_PROFILE) + +# +# Install header files. +# + +install(FILES ${ALLEGRO_INCLUDE_FILES} + DESTINATION include + ) +install(FILES ${ALLEGRO_INCLUDE_ALLEGRO_FILES} + DESTINATION include/allegro + ) +install(FILES ${ALLEGRO_INCLUDE_ALLEGRO_INLINE_FILES} + DESTINATION include/allegro/inline + ) +install(FILES ${ALLEGRO_INCLUDE_ALLEGRO_INTERNAL_FILES} + DESTINATION include/allegro/internal + ) +install(FILES ${ALLEGRO_INCLUDE_ALLEGRO_PLATFORM_FILES} + DESTINATION include/allegro/platform + ) + +#-----------------------------------------------------------------------------# +# +# Modules (Unix) +# +#-----------------------------------------------------------------------------# + +if(SUPPORT_MODULES) + + macro(add_module target files) + add_library(${target} MODULE ${files}) + set_target_properties(${target} + PROPERTIES + PREFIX "" + COMPILE_FLAGS "-DALLEGRO_MODULE" + ) + target_link_libraries(${target} ${ARGN}) + + install(TARGETS ${target} + DESTINATION ${ALLEGRO_MODULES_PATH_TAIL} + PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) + endmacro(add_module) + + if(SUPPORT_FBCON) + add_module(alleg-fbcon "${ALLEGRO_MODULE_FBCON_FILES}") + endif(SUPPORT_FBCON) + + if(SUPPORT_SVGALIB) + add_module(alleg-svgalib "${ALLEGRO_MODULE_SVGALIB_FILES}" + vga) + endif(SUPPORT_SVGALIB) + + if(SUPPORT_VGA) + add_module(alleg-vga "${ALLEGRO_MODULE_VGA_FILES}") + endif(SUPPORT_VGA) + + if(ALLEGRO_XWINDOWS_WITH_XF86DGA2) + add_module(alleg-dga2 "${ALLEGRO_MODULE_DGA2_FILES}" + -L${X11_LIBRARY_DIR} Xxf86dga) + endif(ALLEGRO_XWINDOWS_WITH_XF86DGA2) + + if(SUPPORT_ALSADIGI) + add_module(alleg-alsadigi "${ALLEGRO_MODULE_ALSADIGI_FILES}" + asound) + endif(SUPPORT_ALSADIGI) + + if(SUPPORT_ALSAMIDI) + add_module(alleg-alsamidi "${ALLEGRO_MODULE_ALSAMIDI_FILES}" + asound) + endif(SUPPORT_ALSAMIDI) + + if(SUPPORT_ARTS) + add_module(alleg-arts "${ALLEGRO_MODULE_ARTS_FILES}" + ${ARTS_LINKFLAGS}) + endif(SUPPORT_ARTS) + + if(SUPPORT_ESD) + add_module(alleg-esd "${ALLEGRO_MODULE_ESD_FILES}" + ${ESD_LINKFLAGS}) + endif(SUPPORT_ESD) + + if(SUPPORT_JACK) + add_module(alleg-jackdigi ${ALLEGRO_MODULE_JACK_FILES} + ${JACK_LINKFLAGS}) + endif(SUPPORT_JACK) + + if(SUPPORT_SGIAL) + add_module(alleg-sgialdigi ${ALLEGRO_MODULE_SGIAL_FILES} + audio) + endif(SUPPORT_SGIAL) + +endif(SUPPORT_MODULES) + +#-----------------------------------------------------------------------------# +# +# Programs +# +#-----------------------------------------------------------------------------# + +if(GRADE_STANDARD) + set(LINK_WITH alleg) +endif(GRADE_STANDARD) +if(NOT LINK_WITH AND GRADE_DEBUG) + set(LINK_WITH alld) +endif(NOT LINK_WITH AND GRADE_DEBUG) +if(NOT LINK_WITH AND GRADE_PROFILE) + set(LINK_WITH allp) +endif(NOT LINK_WITH AND GRADE_PROFILE) + +if(NOT SHARED) + set(MAYBE_DRIVER_LIBS ${DRIVER_LIBS_STATIC}) + set(MAYBE_ALLEGRO_STATICLINK "-DALLEGRO_STATICLINK") +endif(NOT SHARED) + +set(PROGRAM_LIBS + -L${CMAKE_BINARY_DIR}/${LIBRARY_OUTPUT_PATH} ${LINK_WITH} + ${PLATFORM_LIBS} ${MAYBE_DRIVER_LIBS} + ) + +macro(add_allegro_executable nm) + add_executable(${nm} ${ARGN}) + set_target_properties(${nm} PROPERTIES + COMPILE_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" + LINK_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" + ) + target_link_libraries(${nm} ${PROGRAM_LIBS}) +endmacro(add_allegro_executable) + +add_subdirectory(demo) +add_subdirectory(examples) +add_subdirectory(tests) +add_subdirectory(tools) + +#-----------------------------------------------------------------------------# +# +# Documentation +# +#-----------------------------------------------------------------------------# + +add_subdirectory(docs) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: Added: allegro/branches/4.3/cmake/CheckCtors.cmake =================================================================== --- allegro/branches/4.3/cmake/CheckCtors.cmake (rev 0) +++ allegro/branches/4.3/cmake/CheckCtors.cmake 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,28 @@ +# Check if constructors are supported. +# CHECK_CTORS(VARIABLE) +# VARIABLE - variable to store the result to +# + +MACRO(CHECK_CTORS VAR) + IF("${VAR}" MATCHES "^${VAR}$") + FILE(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c" + " + static int notsupported = 1; + void test_ctor (void) __attribute__ ((constructor)); + void test_ctor (void) { notsupported = 0; } + int main (void) { return (notsupported); } + ") + TRY_RUN(_ctor_runresult + _ctor_compileresult + "${CMAKE_BINARY_DIR}" + "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/src.c" + ) + IF(_ctor_runresult EQUAL 0) + SET(${VAR} 1 CACHE INTERNAL "Constructors supported") + MESSAGE(STATUS "Check if constructors are supported - yes") + ELSE(_ctor_runresult EQUAL 0) + SET(${VAR} 0 CACHE INTERNAL "Constructors supported") + MESSAGE("Check if constructors are supported - no") + ENDIF(_ctor_runresult EQUAL 0) + ENDIF("${VAR}" MATCHES "^${VAR}$") +ENDMACRO(CHECK_CTORS) Added: allegro/branches/4.3/cmake/FileList.cmake =================================================================== --- allegro/branches/4.3/cmake/FileList.cmake (rev 0) +++ allegro/branches/4.3/cmake/FileList.cmake 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,532 @@ +set(ALLEGRO_SRC_FILES + src/allegro.c + src/blit.c + src/bmp.c + src/clip3d.c + src/clip3df.c + src/colblend.c + src/color.c + src/config.c + src/datafile.c + src/dataregi.c + src/digmid.c + src/dither.c + src/dispsw.c + src/display.c + src/dtor.c + src/drvlist.c + src/events.c + src/evtsrc.c + src/file.c + src/fli.c + src/flood.c + src/font.c + src/fontbios.c + src/fontbmp.c + src/fontdat.c + src/fontgrx.c + src/fonttxt.c + src/fsel.c + src/gfx.c + src/glyph.c + src/graphics.c + src/gsprite.c + src/gui.c + src/guiproc.c + src/inline.c + src/joynu.c + src/keybdnu.c + src/lbm.c + src/libc.c + src/lzss.c + src/math.c + src/math3d.c + src/memory.c + src/midi.c + src/mixer.c + src/modesel.c + src/mouse.c + src/pcx.c + src/poly3d.c + src/polygon.c + src/quantize.c + src/quat.c + src/readbmp.c + src/readfont.c + src/readsmp.c + src/rle.c + src/rotate.c + src/scene3d.c + src/sound.c + src/spline.c + src/stream.c + src/text.c + src/tga.c + src/unicode.c + src/vtable.c + src/vtable15.c + src/vtable16.c + src/vtable24.c + src/vtable32.c + src/vtable8.c + src/compat/coblit.c + src/compat/cogfx.c + src/compat/cojoy.c + src/compat/cokeybd.c + src/compat/cotimer.c + src/misc/vector.c + ) + +set(ALLEGRO_SRC_C_FILES + src/c/cblit16.c + src/c/cblit24.c + src/c/cblit32.c + src/c/cblit8.c + src/c/ccpu.c + src/c/ccsprite.c + src/c/cgfx15.c + src/c/cgfx16.c + src/c/cgfx24.c + src/c/cgfx32.c + src/c/cgfx8.c + src/c/cmisc.c + src/c/cscan15.c + src/c/cscan16.c + src/c/cscan24.c + src/c/cscan32.c + src/c/cscan8.c + src/c/cspr15.c + src/c/cspr16.c + src/c/cspr24.c + src/c/cspr32.c + src/c/cspr8.c + src/c/cstretch.c + src/c/czscan15.c + src/c/czscan16.c + src/c/czscan24.c + src/c/czscan32.c + src/c/czscan8.c + src/misc/ccolconv.c + ) + +set(ALLEGRO_SRC_I386_FILES + src/i386/iblit16.s + src/i386/iblit24.s + src/i386/iblit32.s + src/i386/iblit8.s + src/i386/icpu.c + src/i386/icpus.s + src/i386/icsprite.c + src/i386/igfx15.s + src/i386/igfx16.s + src/i386/igfx24.s + src/i386/igfx32.s + src/i386/igfx8.s + src/i386/imisc.s + src/i386/iscan.s + src/i386/iscanmmx.s + src/i386/ispr15.s + src/i386/ispr16.s + src/i386/ispr24.s + src/i386/ispr32.s + src/i386/ispr8.s + src/i386/istretch.c + src/i386/izbuf.s + src/misc/icolconv.s + ) + +set(ALLEGRO_SRC_DOS_FILES + src/dos/adlib.c + src/dos/awedata.c + src/dos/dfile.c + src/dos/dgfxdrv.c + src/dos/djoydrv.c + src/dos/dkeybd.c + src/dos/dma.c + src/dos/dmouse.c + src/dos/dpmi.c + src/dos/dsnddrv.c + src/dos/dsystem.c + src/dos/dtimer.c + src/dos/emu8k.c + src/dos/emu8kmid.c + src/dos/essaudio.c + src/dos/gpro.c + src/dos/grip.c + src/dos/gripjoy.c + src/dos/gripfnc.s + src/dos/ifsega.c + src/dos/ifsega2f.c + src/dos/ifsega2p.c + src/dos/joystd.c + src/dos/mpu.c + src/dos/multijoy.c + src/dos/n64pad.c + src/dos/pic.c + src/dos/psxpad.c + src/dos/sb.c + src/dos/sndscape.c + src/dos/snespad.c + src/dos/sw.c + src/dos/swpp.c + src/dos/swpps.s + src/dos/vesa.c + src/dos/vesas.s + src/dos/wss.c + src/dos/ww.c + src/misc/modex.c + src/misc/modexgfx.s + src/misc/modexsms.c + src/misc/pckeys.c + src/misc/vbeaf.c + src/misc/vbeafs.s + src/misc/vbeafex.c + src/misc/vga.c + src/misc/vgaregs.c + ) + +set(ALLEGRO_SRC_WIN_FILES + src/win/asmlock.s + src/win/dllver.rc + src/win/gdi.c + src/win/wddaccel.c + src/win/wddbmp.c + src/win/wddbmpl.c + src/win/wddraw.c + src/win/wddfull.c + src/win/wddlock.c + src/win/wddmode.c + src/win/wddovl.c + src/win/wddwin.c + src/win/wdsinput.c + src/win/wdsndmix.c + src/win/wdsound.c + src/win/wsndwo.c + src/win/wdxver.c + src/win/wdispsw.c + src/win/wfile.c + src/win/wgdi.c + src/win/wgfxdrv.c + src/win/winput.c + src/win/wjoydrv.c + src/win/wjoydxnu.c + src/win/wkeybdnu.c + src/win/wmidi.c + src/win/wmouse.c + src/win/wsnddrv.c + src/win/wsystem.c + src/win/wthread.c + src/win/wtime.c + src/win/wtimernu.c + src/win/wwnd.c + src/win/wxthread.c + src/misc/colconv.c + ) + +set(ALLEGRO_SRC_BEOS_FILES + src/beos/baccel.cpp + src/beos/bdispsw.cpp + src/beos/bdwindow.cpp + src/beos/bgfx.c + src/beos/bgfxapi.cpp + src/beos/bgfxdrv.c + src/beos/bjoy.c + src/beos/bjoydrv.c + src/beos/bjoyapi.cpp + src/beos/bkey.c + src/beos/bkeyapi.cpp + src/beos/bkeydrv.c + src/beos/bmidi.c + src/beos/bmidiapi.cpp + src/beos/bmididrv.c + src/beos/bmousapi.cpp + src/beos/bmousdrv.c + src/beos/bmouse.c + src/beos/boverlay.c + src/beos/bsnd.c + src/beos/bsndapi.cpp + src/beos/bsnddrv.c + src/beos/bswitch.s + src/beos/bsysapi.cpp + src/beos/bsysdrv.c + src/beos/bsystem.c + src/beos/btimeapi.cpp + src/beos/btimedrv.c + src/beos/btimer.c + src/beos/bwindow.c + src/beos/bwscreen.cpp + src/unix/ufile.c + src/misc/colconv.c + src/misc/pckeys.c + ) + +set(ALLEGRO_SRC_LINUX_FILES + src/linux/fbcon.c + src/linux/lconsole.c + src/linux/lgfxdrv.c + src/linux/ljoynu.c + src/linux/lkeybdnu.c + src/linux/lmemory.c + src/linux/lmouse.c + src/linux/lmsedrv.c + src/linux/lmsegpmd.c + src/linux/lmsems.c + src/linux/lmseps2.c + src/linux/lmseev.c + src/linux/lstddrv.c + src/linux/lsystem.c + src/linux/lvga.c + src/linux/lvgahelp.c + src/linux/svgalib.c + src/linux/svgalibs.s + src/linux/vtswitch.c + src/misc/vbeaf.c + src/misc/vbeafs.s + src/misc/vgaregs.c + src/misc/vga.c + src/misc/modex.c + src/misc/modexgfx.s + ) + +set(ALLEGRO_SRC_UNIX_FILES + src/unix/alsa5.c + src/unix/alsa9.c + src/unix/alsamidi.c + src/unix/arts.c + src/unix/sgial.c + src/unix/jack.c + src/unix/udjgpp.c + src/unix/udrvlist.c + src/unix/udummy.c + src/unix/uesd.c + src/unix/ufdwatch.c + src/unix/ufile.c + src/unix/ugfxdrv.c + src/unix/ujoydrv.c + src/unix/ukeybd.c + src/unix/umain.c + src/unix/umodules.c + src/unix/umouse.c + src/unix/uoss.c + src/unix/uossmidi.c + src/unix/usnddrv.c + src/unix/usystem.c + src/unix/uthreads.c + src/unix/utime.c + src/unix/utimernu.c + src/unix/uxthread.c + src/misc/modexsms.c + ) + +set(ALLEGRO_SRC_X_FILES + src/x/xgfxdrv.c + src/x/xkeyboard.c + src/x/xmouse.c + src/x/xsystem.c + src/x/xvtable.c + src/x/xwin.c + src/x/xdga2.c + src/x/xdga2s.s + src/x/xwins.s + src/misc/colconv.c + ) + +set(ALLEGRO_SRC_QNX_FILES + src/qnx/qdrivers.c + src/qnx/qkeydrv.c + src/qnx/qmouse.c + src/qnx/qphaccel.c + src/qnx/qphbmp.c + src/qnx/qphfull.c + src/qnx/qphoton.c + src/qnx/qphwin.c + src/qnx/qswitch.s + src/qnx/qsystem.c + src/unix/alsa5.c + src/unix/alsamidi.c + src/unix/udjgpp.c + src/unix/ufile.c + src/unix/umain.c + src/unix/usystem.c + src/unix/uthreads.c + src/unix/utimer.c + src/misc/colconv.c + src/misc/pckeys.c + ) + +set(ALLEGRO_SRC_MACOSX_FILES + src/macosx/cadigi.m + src/macosx/camidi.m + src/macosx/drivers.m + src/macosx/hidjoy.m + src/macosx/hidman.m + src/macosx/keybd.m + src/macosx/pcpu.m + src/macosx/qtmidi.m + src/macosx/quartz.m + src/macosx/qzfull.m + src/macosx/qzmouse.m + src/macosx/qzwindow.m + src/macosx/soundman.m + src/macosx/system.m + src/unix/ufile.c + src/unix/usystem.c + src/unix/uthreads.c + src/unix/utime.c + src/unix/utimernu.c + src/unix/uxthread.c + src/misc/colconv.c + ) + +set(ALLEGRO_MODULE_VGA_FILES + src/linux/lvga.c + src/misc/modex.c + src/misc/modexgfx.s + src/misc/vga.c + ) + +set(ALLEGRO_MODULE_SVGALIB_FILES + src/linux/svgalib.c + src/linux/svgalibs.s + ) + +set(ALLEGRO_MODULE_FBCON_FILES + src/linux/fbcon.c + ) + +set(ALLEGRO_MODULE_DGA2_FILES + src/x/xdga2.c + src/x/xdga2s.s + ) + +set(ALLEGRO_MODULE_ALSADIGI_FILES + src/unix/alsa5.c + src/unix/alsa9.c + ) + +set(ALLEGRO_MODULE_ALSAMIDI_FILES + src/unix/alsamidi.c + ) + +set(ALLEGRO_MODULE_ESD_FILES + src/unix/uesd.c + ) + +set(ALLEGRO_MODULE_ARTS_FILES + src/unix/arts.c + ) + +set(ALLEGRO_MODULE_SGIAL_FILES + src/unix/sgial.c + ) + +set(ALLEGRO_MODULE_JACK_FILES + src/unix/jack.c + ) + +set(ALLEGRO_INCLUDE_FILES + include/allegro.h + include/winalleg.h + include/xalleg.h + ) + +set(ALLEGRO_INCLUDE_ALLEGRO_FILES + include/allegro/3d.h + include/allegro/3dmaths.h + include/allegro/alcompat.h + include/allegro/alinline.h + include/allegro/altime.h + include/allegro/base.h + include/allegro/color.h + include/allegro/compiled.h + include/allegro/config.h + include/allegro/datafile.h + include/allegro/debug.h + include/allegro/digi.h + include/allegro/display.h + include/allegro/draw.h + include/allegro/events.h + include/allegro/file.h + include/allegro/fix.h + include/allegro/fixed.h + include/allegro/fli.h + include/allegro/fmaths.h + include/allegro/font.h + include/allegro/gfx.h + include/allegro/graphics.h + include/allegro/gui.h + include/allegro/joystick.h + include/allegro/keyboard.h + include/allegro/keycodes.h + include/allegro/lzss.h + include/allegro/matrix.h + include/allegro/memory.h + include/allegro/midi.h + include/allegro/mouse.h + include/allegro/palette.h + include/allegro/quat.h + include/allegro/rle.h + include/allegro/sound.h + include/allegro/stream.h + include/allegro/system.h + include/allegro/text.h + include/allegro/timer.h + include/allegro/unicode.h + ) + +set(ALLEGRO_INCLUDE_ALLEGRO_INLINE_FILES + include/allegro/inline/3dmaths.inl + include/allegro/inline/asm.inl + include/allegro/inline/color.inl + include/allegro/inline/draw.inl + include/allegro/inline/file.inl + include/allegro/inline/fix.inl + include/allegro/inline/fmaths.inl + include/allegro/inline/gfx.inl + include/allegro/inline/matrix.inl + include/allegro/inline/rle.inl + include/allegro/inline/system.inl + ) + +set(ALLEGRO_INCLUDE_ALLEGRO_INTERNAL_FILES + include/allegro/internal/aintern.h + include/allegro/internal/aintern2.h + include/allegro/internal/aintvga.h + include/allegro/internal/alconfig.h + ) + +set(ALLEGRO_INCLUDE_ALLEGRO_PLATFORM_FILES + include/allegro/platform/aintbeos.h + include/allegro/platform/aintdos.h + include/allegro/platform/aintlnx.h + include/allegro/platform/aintmac.h + include/allegro/platform/aintosx.h + include/allegro/platform/aintqnx.h + include/allegro/platform/aintunix.h + include/allegro/platform/aintwin.h + include/allegro/platform/al386gcc.h + include/allegro/platform/al386vc.h + include/allegro/platform/al386wat.h + include/allegro/platform/albcc32.h + include/allegro/platform/albecfg.h + include/allegro/platform/albeos.h + include/allegro/platform/aldjgpp.h + include/allegro/platform/aldos.h + include/allegro/platform/almac.h + include/allegro/platform/almaccfg.h + include/allegro/platform/almngw32.h + include/allegro/platform/almsvc.h + include/allegro/platform/alosx.h + include/allegro/platform/alosxcfg.h + include/allegro/platform/alplatf.h + include/allegro/platform/alqnx.h + include/allegro/platform/alqnxcfg.h + include/allegro/platform/alucfg.h + include/allegro/platform/alunix.h + include/allegro/platform/alunixac.h + include/allegro/platform/alwatcom.h + include/allegro/platform/alwin.h + include/allegro/platform/astdbool.h + include/allegro/platform/astdint.h + include/allegro/platform/macdef.h + ) Added: allegro/branches/4.3/cmake/GeneratePlugins.cmake =================================================================== --- allegro/branches/4.3/cmake/GeneratePlugins.cmake (rev 0) +++ allegro/branches/4.3/cmake/GeneratePlugins.cmake 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,10 @@ +# Note: these lines are duplicated in tools/CMakeLists.cmake +SET(plugins_h "plugins/plugins.h") +FILE(GLOB inc_files RELATIVE "" plugins/*.inc) + +# Produce tools/plugins/plugins.h +FILE(WRITE ${plugins_h} "/* automatically generated */\n") +FOREACH(inc ${inc_files}) + FILE(READ ${inc} content) + FILE(APPEND "plugins/plugins.h" "${content}") +ENDFOREACH(inc) Added: allegro/branches/4.3/demo/CMakeLists.txt =================================================================== --- allegro/branches/4.3/demo/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/demo/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,23 @@ +set(DEMO_EXE_PATH "" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${DEMO_EXE_PATH}) + +set(DEMO_LIB_PATH "" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${DEMO_LIB_PATH}) + +#-----------------------------------------------------------------------------# + +add_allegro_executable(demo + animsel.c + aster.c + bullet.c + demo.c + demodisp.c + dirty.c + expl.c + game.c + star.c + title.c + ) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: Added: allegro/branches/4.3/docs/CMakeLists.txt =================================================================== --- allegro/branches/4.3/docs/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/docs/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,108 @@ +set(EXAMPLES_EXE_PATH "" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${EXAMPLES_EXE_PATH}) + +set(EXAMPLES_LIB_PATH "" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${EXAMPLES_LIB_PATH}) + +#-----------------------------------------------------------------------------# + +find_program(MAKEINFO NAMES makeinfo) + +#-----------------------------------------------------------------------------# + +set(all_docs) + +add_executable(makedoc + src/makedoc/makedoc.c + src/makedoc/makehtml.c + src/makedoc/makemisc.c + src/makedoc/maketxt.c + src/makedoc/makertf.c + src/makedoc/maketexi.c + src/makedoc/makeman.c + src/makedoc/makechm.c + src/makedoc/makedevh.c + src/makedoc/makesci.c + ) +get_target_property(MAKEDOC_EXE makedoc LOCATION) + +macro(makedoc src mode output) + list(APPEND all_docs ${output}) + add_custom_command( + OUTPUT ${output} + COMMAND ${MAKEDOC_EXE} ${mode} ${output} ${src} + DEPENDS makedoc ${src} + ) +endmacro(makedoc src mode output) + +macro(add_document n) + makedoc(src/${n}._tx -ascii txt/${n}.txt) + makedoc(src/${n}._tx -html html/${n}.html) + makedoc(src/${n}._tx -rtf rtf/${n}.rtf) +endmacro(add_document) + +macro(add_info n) + if(MAKEINFO) + makedoc(src/${n}._tx -texi rtf/${n}.texi) + + list(APPEND all_docs info/${n}.info) + add_custom_command( + OUTPUT info/${n}.info + DEPENDS texi/${n}.texi + COMMAND ${MAKEINFO} --no-split -o info/${n}.info texi/${n}.texi + ) + endif(MAKEINFO) +endmacro(add_info) + +macro(add_man_pages n one) + makedoc(src/${n}._tx -man man/${one}.3) +endmacro(add_man_pages n) + +macro(add_build_document n) + makedoc(src/build/${n}._tx -ascii build/${n}.txt) + makedoc(src/build/${n}._tx -html html/build/${n}.html) +endmacro(add_build_document) + +add_document(abi) +add_document(ahack) +add_document(allegro) +add_document(api) +add_document(changes) +add_document(const) +add_document(dat) +add_document(dat2c) +add_document(dat2s) +add_document(datafile) +add_document(faq) +add_document(grabber) +add_document(help) +add_document(license) +add_document(makedoc) +add_document(mistakes) +add_document(packfile) +add_document(readme) +add_document(thanks) + +add_info(allegro) + +add_man_pages(allegro allegro_init) + +add_build_document(bcc32) +add_build_document(beos) +add_build_document(darwin) +add_build_document(djgpp) +add_build_document(linux) +add_build_document(macosx) +add_build_document(mingw32) +add_build_document(msvc) +add_build_document(qnx) +add_build_document(unix) +add_build_document(watcom) + +add_custom_target(docs + ALL + DEPENDS ${all_docs} + ) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: Added: allegro/branches/4.3/examples/CMakeLists.txt =================================================================== --- allegro/branches/4.3/examples/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/examples/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,65 @@ +set(EXAMPLES_EXE_PATH "" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${EXAMPLES_EXE_PATH}) + +set(EXAMPLES_LIB_PATH "" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${EXAMPLES_LIB_PATH}) + +#-----------------------------------------------------------------------------# + +macro(example nm) + add_allegro_executable(${nm} ${nm}.c) +endmacro(example nm) + +example(ex3buf) +example(ex3d) +example(ex12bit) +example(exaccel) +example(exalpha) +example(exbitmap) +example(exblend) +example(excamera) +example(excolmap) +example(exconfig) +example(excustom) +example(exdata) +example(exdbuf) +example(exexedat) +example(exfixed) +example(exflame) +example(exflip) +example(exfont) +example(exgui) +example(exhello) +example(exjoy) +example(exkeys) +example(exlights) +example(exmem) +example(exmidi) +example(exmouse) +example(exnewapi) +example(expackf) +example(expal) +example(expat) +example(exquat) +example(exrgbhsv) +example(exsample) +example(exscale) +example(exscn3d) +example(exscroll) +example(exshade) +example(exspline) +example(exsprite) +example(exstars) +example(exstream) +example(exswitch) +example(exsyscur) +example(extimer) +example(extrans) +example(extruec) +example(exunicod) +example(exupdate) +example(exxfade) +example(exzbuf) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: Added: allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake =================================================================== --- allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake (rev 0) +++ allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,3 @@ +/* alplatf.h is generated from alplatf.h.cmake */ +#cmakedefine ALLEGRO_MINGW32 +#cmakedefine ALLEGRO_UNIX Added: allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake =================================================================== --- allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake (rev 0) +++ allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,78 @@ +/* alunixac.h is generated from alunixac.h.cmake by CMake. */ + +/* No configuration for these yet */ +#define ALLEGRO_COLOR16 1 +#define ALLEGRO_COLOR24 1 +#define ALLEGRO_COLOR32 1 +#define ALLEGRO_COLOR8 1 +#define ALLEGRO_MMX 1 +#define ALLEGRO_SSE 1 +#define RETSIGTYPE void + +#define ALLEGRO_ALSA_VERSION ${ALLEGRO_ALSA_VERSION} +#define ALLEGRO_MODULES_PATH ${ALLEGRO_MODULES_PATH} + +/* Please keep sorted */ +#cmakedefine ALLEGRO_BIG_ENDIAN +#cmakedefine ALLEGRO_HAVE_GETEXECNAME +#cmakedefine ALLEGRO_HAVE_PROCFS_ARGCV +#cmakedefine ALLEGRO_HAVE_SV_PROCFS +#cmakedefine ALLEGRO_LINUX +#cmakedefine ALLEGRO_LINUX_FBCON +#cmakedefine ALLEGRO_LINUX_SVGALIB +#cmakedefine ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION +#cmakedefine ALLEGRO_LINUX_VBEAF +#cmakedefine ALLEGRO_LINUX_VGA +#cmakedefine ALLEGRO_LITTLE_ENDIAN +#cmakedefine ALLEGRO_USE_CONSTRUCTOR +#cmakedefine ALLEGRO_USE_SCHED_YIELD +#cmakedefine ALLEGRO_USE_XIM +#cmakedefine ALLEGRO_WITH_ALSADIGI +#cmakedefine ALLEGRO_WITH_ALSAMIDI +#cmakedefine ALLEGRO_WITH_ARTSDIGI +#cmakedefine ALLEGRO_WITH_ESDDIGI +#cmakedefine ALLEGRO_WITH_JACKDIGI +#cmakedefine ALLEGRO_WITH_MAGIC_MAIN +#cmakedefine ALLEGRO_WITH_MODULES +#cmakedefine ALLEGRO_WITH_OSSDIGI +#cmakedefine ALLEGRO_WITH_OSSMIDI +#cmakedefine ALLEGRO_WITH_SGIALDIGI +#cmakedefine ALLEGRO_WITH_XWINDOWS +#cmakedefine ALLEGRO_XWINDOWS_WITH_SHM +#cmakedefine ALLEGRO_XWINDOWS_WITH_XCURSOR +#cmakedefine ALLEGRO_XWINDOWS_WITH_XF86DGA2 +#cmakedefine ALLEGRO_XWINDOWS_WITH_XF86VIDMODE +#cmakedefine ALLEGRO_XWINDOWS_WITH_XPM +#cmakedefine HAVE_DIRENT_H +#cmakedefine HAVE_INTTYPES_H +#cmakedefine HAVE_LIBOSSAUDIO +#cmakedefine HAVE_LIBPTHREAD +#cmakedefine HAVE_LIMITS_H +#cmakedefine HAVE_LINUX_AWE_VOICE_H +#cmakedefine HAVE_LINUX_INPUT_H +#cmakedefine HAVE_LINUX_JOYSTICK_H +#cmakedefine HAVE_LINUX_SOUNDCARD_H +#cmakedefine HAVE_MACHINE_SOUNDCARD_H +#cmakedefine HAVE_MEMCMP +#cmakedefine HAVE_MEMORY_H +#cmakedefine HAVE_MKSTEMP +#cmakedefine HAVE_MMAP +#cmakedefine HAVE_MPROTECT +#cmakedefine HAVE_NDIR_H +#cmakedefine HAVE_SOUNDCARD_H +#cmakedefine HAVE_STDBOOL_H +#cmakedefine HAVE_STDINT_H +#cmakedefine HAVE_STRICMP +#cmakedefine HAVE_STRLWR +#cmakedefine HAVE_STRUPR +#cmakedefine HAVE_SYS_DIR_H +#cmakedefine HAVE_SYS_IO_H +#cmakedefine HAVE_SYS_NDIR_H +#cmakedefine HAVE_SYS_SOUNDCARD_H +#cmakedefine HAVE_SYS_STAT_H +#cmakedefine HAVE_SYS_TIME_H +#cmakedefine HAVE_SYS_UTSNAME_H +#cmakedefine HAVE__BOOL +#cmakedefine TIME_WITH_SYS_TIME + +/* vi: set ft=c ts=3 sts=3 sw=3 et: */ Added: allegro/branches/4.3/tests/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tests/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/tests/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,26 @@ +set(TESTS_EXE_PATH "" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${TESTS_EXE_PATH}) + +set(TESTS_LIB_PATH "" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${TESTS_LIB_PATH}) + +#-----------------------------------------------------------------------------# + +macro(test nm) + add_allegro_executable(${nm} ${nm}.c) +endmacro(test nm) + +test(afinfo) +test(akaitest) +test(digitest) +test(filetest) +test(gfxinfo) +test(mathtest) +test(miditest) +test(play) +test(playfli) +test(test) +test(vesainfo) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: Added: allegro/branches/4.3/tools/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tools/CMakeLists.txt (rev 0) +++ allegro/branches/4.3/tools/CMakeLists.txt 2006-07-26 12:28:55 UTC (rev 7399) @@ -0,0 +1,66 @@ +set(TOOLS_EXE_PATH "" CACHE INTERNAL "internal") +set(EXECUTABLE_OUTPUT_PATH ${TOOLS_EXE_PATH}) + +set(TOOLS_LIB_PATH "" CACHE INTERNAL "internal") +set(LIBRARY_OUTPUT_PATH ${TOOLS_LIB_PATH}) + +#-----------------------------------------------------------------------------# + +# +# Building libaldat +# + +# Note: these lines are duplicated in GeneratePlugins.cmake +set(plugins_h "plugins/plugins.h") +file(GLOB inc_files RELATIVE "" plugins/*.inc) + +add_custom_command( + OUTPUT ${plugins_h} + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/GeneratePlugins.cmake + DEPENDS ${inc_files} + ) + +file(GLOB plugins RELATIVE "" plugins/*.c) +add_library(aldat STATIC datedit.c ${plugins} ${plugins_h}) +set_target_properties(aldat PROPERTIES + COMPILE_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" + LINK_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" + ) + +# +# Datafile tools +# + +macro(dat_tool nm) + add_allegro_executable(${nm} ${nm}.c) + target_link_libraries(${nm} aldat ${PROGRAM_LIBS}) + install(TARGETS ${nm} + DESTINATION bin + ) +endmacro(dat_tool nm) + +dat_tool(dat) +dat_tool(dat2c) +dat_tool(dat2s) +dat_tool(exedat) +dat_tool(grabber) +dat_tool(pat2dat) + +# +# Other tools +# + +macro(tool nm) + add_allegro_executable(${nm} ${nm}.c) + install(TARGETS ${nm} + DESTINATION bin + ) +endmacro(tool nm) + +tool(colormap) +tool(pack) +tool(rgbmap) +tool(textconv) + +#-----------------------------------------------------------------------------# +# vi: set ts=8 sts=4 sw=4 et: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <juv...@us...> - 2006-07-28 13:51:30
|
Revision: 7407 Author: juvinious Date: 2006-07-28 06:51:15 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7407&view=rev Log Message: ----------- Added extra module for cmake "cmake/SrcTests.cmake" to perform additional checks. Added MMX and SSE checks if ASM is enabled. Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake Added Paths: ----------- allegro/branches/4.3/cmake/SrcTests.cmake Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-27 22:22:38 UTC (rev 7406) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-28 13:51:15 UTC (rev 7407) @@ -97,6 +97,9 @@ include(CheckTypeSize) include(UsePkgConfig) +# Module for testing source, running compiled source, and asm source +include(SrcTests) + # For alplatf.h if(MINGW) @@ -109,12 +112,10 @@ # Add corresponding lines to include/allegro/platform/alunixac.h.in include(TestBigEndian) -test_big_endian(big_endian) -if(big_endian) - set(ALLEGRO_BIG_ENDIAN 1) -else(big_endian) +test_big_endian(ALLEGRO_BIG_ENDIAN) +if(NOT ALLEGRO_BIG_ENDIAN) set(ALLEGRO_LITTLE_ENDIAN 1) -endif(big_endian) +endif(NOT ALLEGRO_BIG_ENDIAN) check_include_files(dirent.h HAVE_DIRENT_H) check_include_files(inttypes.h HAVE_INTTYPES_H) @@ -139,7 +140,8 @@ check_function_exists(getexecname ALLEGRO_SYS_GETEXECNAME) set(ALLEGRO_HAVE_GETEXECNAME ${ALLEGRO_SYS_GETEXECNAME}) - # ??? both are used in the source + # ^ what's goin on here? That'll be set automatically with the check_function exists? + # ??? both are used in the source check_function_exists(memcmp HAVE_MEMCMP) check_function_exists(mkstemp HAVE_MKSTEMP) check_function_exists(mmap HAVE_MMAP) @@ -149,43 +151,35 @@ check_function_exists(strlwr HAVE_STRLWR) check_function_exists(strupr HAVE_STRUPR) check_function_exists(strupr HAVE_STRUPR) +check_type_size("_Bool" HAVE__BOOL) check_c_source_compiles(" - #include <stdbool.h> +#include <sys/procfs.h> int main(void) { - _Bool x = false; - return 0; - }" - HAVE__BOOL - ) - -check_c_source_compiles(" - #include <sys/procfs.h> - int main(void) { struct prpsinfo psinfo; psinfo.pr_argc = 0; return 0; - }" + }" ALLEGRO_HAVE_PROCFS_ARGCV ) check_c_source_compiles(" - #include <sys/procfs.h> - #include <sys/ioctl.h> +#include <sys/procfs.h> +#include <sys/ioctl.h> int main(void) { struct prpsinfo psinfo; ioctl(0, PIOCPSINFO, &psinfo); return 0; - }" + }" ALLEGRO_HAVE_SV_PROCFS ) check_c_source_compiles(" - #include <time.h> - #include <sys/time.h> +#include <time.h> +#include <sys/time.h> int main(void) { return 0; - }" + }" TIME_WITH_SYS_TIME ) @@ -195,18 +189,51 @@ #-----------------------------------------------------------------------------# if(WANT_ASM) - # TODO check if assembly is support on this platform +# TODO check if assembly is support on this platform +# Write up another macro? + set(SUPPORT_ASM 1) + +# ASM processor checks placed here for the time being + asm_test(ALLEGRO_MMX " + .globl _dummy_function + _dummy_function: + pushl %ebp + movl %esp, %ebp + movq -8(%ebp), %mm0 + movd %edi, %mm1 + punpckldq %mm1, %mm1 + psrld $ 19, %mm7 + pslld $ 10, %mm6 + por %mm6, %mm7 + paddd %mm1, %mm0 + emms + popl %ebp" + ) + asm_test(ALLEGRO_SSE " + .globl _dummy_function + _dummy_function: + pushl %ebp + movl %esp, %ebp + movq -8(%ebp), %mm0 + movd %edi, %mm1 + punpckldq %mm1, %mm1 + psrld $ 10, %mm3 + maskmovq %mm3, %mm1 + paddd %mm1, %mm0 + emms + popl %ebp + ret" + ) +else(WANT_ASM) +# Added it to alplatf.h.cmake, if this isn't wise just uncomment +# and remove the set and the entry in alplatf.h.cmake +#add_definitions(-DALLEGRO_NO_ASM) + set(ALLEGRO_NO_ASM 1) endif(WANT_ASM) -if(NOT SUPPORT_ASM) - # TODO Consider getting rid of this command-line option and use the - # config file. - add_definitions(-DALLEGRO_NO_ASM) -endif(NOT SUPPORT_ASM) - if(WANT_MODULES) - # Should ask CMake whether it can build modules on this platform. +# Should ask CMake whether it can build modules on this platform. set(ALLEGRO_WITH_MODULES 1) set(SUPPORT_MODULES 1) endif(WANT_MODULES) @@ -221,12 +248,12 @@ # #-----------------------------------------------------------------------------# - # Accumulate extra libraries needed for the platform. - # +# Accumulate extra libraries needed for the platform. +# set(PLATFORM_LIBS) - # Accumulate extra libraries needed due to drivers. - # +# Accumulate extra libraries needed due to drivers. +# set(DRIVER_LIBS_STATIC) set(DRIVER_LIBS_SHARED) @@ -251,20 +278,20 @@ ) endif(SUPPORT_MODULES) - # - # Sound drivers - # +# +# Sound drivers +# if(WANT_ALSADIGI) check_c_source_compiles(" - #include <sys/asoundlib.h> +#include <sys/asoundlib.h> int main(void) { - #if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9 && SND_LIB_SUBMINOR >= 1) +#if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9 && SND_LIB_SUBMINOR >= 1) return 0; - #else +#else return 1; - #endif - }" +#endif + }" SUPPORT_ALSADIGI ) if(SUPPORT_ALSADIGI) @@ -276,14 +303,14 @@ if(WANT_ALSAMIDI) check_c_source_compiles(" - #include <sys/asoundlib.h> +#include <sys/asoundlib.h> int main(void) { - #if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9) +#if(SND_LIB_MAJOR > 0) || (SND_LIB_MAJOR == 0 && SND_LIB_MINOR == 9) return 0; - #else +#else return 1; - #endif - }" +#endif + }" SUPPORT_ALSAMIDI ) if(SUPPORT_ALSAMIDI) @@ -294,7 +321,7 @@ endif(WANT_ALSAMIDI) if(WANT_ARTS) - # XXX artsc doesn't use pkg-config +# XXX artsc doesn't use pkg-config pkgconfig(artsc ARTS_INCLUDEDIR ARTS_LIBDIR ARTS_LINKFLAGS ARTS_CFLAGS @@ -307,7 +334,7 @@ endif(WANT_ARTS) if(WANT_ESD) - # XXX esd doesn't use pkg-config +# XXX esd doesn't use pkg-config pkgconfig(esd ESD_INCLUDEDIR ESD_LIBDIR ESD_LINKFLAGS ESD_CFLAGS @@ -368,20 +395,22 @@ # # TODO check actually on Linux -if(WANT_LINUX_CONSOLE AND UNIX) +#if(WANT_LINUX_CONSOLE AND UNIX) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(SUPPORT_LINUX_CONSOLE 1) set(ALLEGRO_LINUX 1) -endif(WANT_LINUX_CONSOLE AND UNIX) +endif(CMAKE_SYSTEM_NAME STREQUAL "Linux") +#endif(WANT_LINUX_CONSOLE AND UNIX) if(SUPPORT_LINUX_CONSOLE) if(WANT_FBCON) check_c_source_compiles(" - #include <linux/fb.h> +#include <linux/fb.h> int main(void) { int x = FB_SYNC_ON_GREEN; return 0; - }" + }" SUPPORT_FBCON ) if(SUPPORT_FBCON) @@ -397,14 +426,15 @@ endif(SUPPORT_SVGALIB) set(CMAKE_REQUIRED_LIBRARIES vga) - check_c_source_compiles(" - #include <vga.h> - int main(void) { - int x = vga_version; - return 0; - }" - ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION - ) + # Replaced with the macro run_test in SrcTests Module appends the + # Version number to the define in alunixac.h + check_c_source_compiles(" + #include <vga.h> + int main(void) { + int x = vga_version; + return x; + }" + ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION NULL) set(CMAKE_REQUIRED_LIBRARIES) endif(WANT_SVGALIB) @@ -496,18 +526,18 @@ # #-----------------------------------------------------------------------------# - # List of source files need to compile Allegro in this configuration on - # this platform. - # +# List of source files need to compile Allegro in this configuration on +# this platform. +# set(LIBRARY_SOURCES ${ALLEGRO_SRC_FILES}) - # Libraries that we always need to link against on this platform - # e.g. -lm on Unix. - # +# Libraries that we always need to link against on this platform +# e.g. -lm on Unix. +# set(PLATFORM_LIBS) - # Whether using hand-written assembly code or C-only. - # +# Whether using hand-written assembly code or C-only. +# if(SUPPORT_ASM) list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_I386_FILES}) else(SUPPORT_ASM) @@ -517,8 +547,8 @@ endif(WIN32) endif(SUPPORT_ASM) - # Assembly code and Windows port both require generated asmdef.inc. - # +# Assembly code and Windows port both require generated asmdef.inc. +# add_executable(asmdef src/i386/asmdef.c) get_target_property(ASMDEF_EXE asmdef LOCATION) @@ -554,7 +584,7 @@ if(WIN32) list(APPEND LIBRARY_SOURCES ${ALLEGRO_SRC_WIN_FILES}) - # TODO this still needs to be produced with misc/fixdll.sh +# TODO this still needs to be produced with misc/fixdll.sh if(MINGW) list(APPEND LIBRARY_SOURCES lib/mingw32/allegro.def) endif(MINGW) @@ -577,11 +607,11 @@ "-DALLEGRO_LIB_BUILD -DALLEGRO_SRC ${WFLAGS} ${extra_flags}" ) - # - # Assembly files. - # I can't get it to work by adding the asm source file to the library, so - # we add the object file to the library instead. - # +# +# Assembly files. +# I can't get it to work by adding the asm source file to the library, so +# we add the object file to the library instead. +# set(ASM_OBJS) set(ASM_SOURCES) foreach(SOURCE ${LIBRARY_SOURCES}) Added: allegro/branches/4.3/cmake/SrcTests.cmake =================================================================== --- allegro/branches/4.3/cmake/SrcTests.cmake (rev 0) +++ allegro/branches/4.3/cmake/SrcTests.cmake 2006-07-28 13:51:15 UTC (rev 7407) @@ -0,0 +1,75 @@ +# THIS WILL COMPILE SOME CODE AND RETURN SUCCESS OR FAILURE AND SET THE VAR TO THAT +MACRO(COMPILE_TEST VAR FLAGS LIBS SOURCE_TXT) + FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c "${SOURCE_TXT}\n") + IF(NOT ${FLAGS}) + SET(${FLAGS} " ") + ENDIF(NOT ${FLAGS}) + IF(NOT ${LIBS}) + SET(${LIBS} " ") + ENDIF(NOT ${LIBS}) + TRY_COMPILE(${VAR} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c + COMPILE_DEFINITIONS ${FLAGS} + CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=${LIBS}" + OUTPUT_VARIABLE OUTPUT) + IF(${VAR}) + MESSAGE("-- Compilation test for ${VAR} successfull!") + SET(${VAR} ${OUTPUT_VARIABLE}) + ELSE(${VAR}) + MESSAGE("-- Compilation test for ${VAR} failed output to ${CMAKE_BINARY_DIR}/CMakeError.log!") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + "Performing Compilation Test ${VAR} failed with the following output:\n" + "${OUTPUT}\n") + ENDIF(${VAR}) + FILE(REMOVE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c) +ENDMACRO(COMPILE_TEST VAR FLAGS LIBS SOURCE_TXT) + +# SAME AS THE ABOVE BUT WILL RUN THE COMPILED EXECUTABLE AND STORE IT'S RETURN VALUE IN VAR_1 and the COMPILE DATA IN VAR_2 +MACRO(RUN_TEST VAR_1 VAR_2 FLAGS LIBS SOURCE_TXT) + FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c "${SOURCE_TXT}\n") + IF(NOT ${FLAGS}) + SET(${FLAGS} " ") + ENDIF(NOT ${FLAGS}) + IF(NOT ${LIBS}) + SET(${LIBS} " ") + ENDIF(NOT ${LIBS}) + TRY_RUN(${VAR_1} ${VAR_2} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c + COMPILE_DEFINITIONS ${FLAGS} + CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} + "-DLINK_LIBRARIES:STRING=${LIBS}" + "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}" + OUTPUT_VARIABLE OUTPUT) + IF(${VAR_1}) + MESSAGE("-- Test for ${VAR_1} successfull!") + SET(${VAR_1} ${OUTPUT_VARIABLE}) + ELSE(${VAR_1}) + MESSAGE("-- Run test for ${VAR_1} failed output to ${CMAKE_BINARY_DIR}/CMakeError.log!") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + "Performing Compilation & Run Test ${VAR_1} failed with the following output:\n" + "${OUTPUT}\n") + ENDIF(${VAR_1}) + FILE(REMOVE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c) +ENDMACRO(RUN_TEST VAR_1 VAR_2 FLAGS LIBS SOURCE_TXT) + +# RUNS ASM CODE WITH as STORES SUCCESS OR NOT IN VAR +MACRO(ASM_TEST VAR SOURCE_TXT) + FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.s "${SOURCE_TXT}\n") + EXECUTE_PROCESS(COMMAND "as" "tmp.s" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp" + RESULT_VARIABLE OUTPUT + ERROR_VARIABLE ERROR) + IF(EXISTS ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/a.out) + MESSAGE("-- Compilation test for ${VAR} successfull!") + FILE(REMOVE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/a.out) + SET(${VAR} 1) + ELSE(EXISTS ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/a.out) + MESSAGE("-- Compilation test for ${VAR} failed output to ${CMAKE_BINARY_DIR}/CMakeError.log!") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + "Performing Compilation Test ${VAR} failed with the following output:\n" + "${OUTPUT} ${ERROR}\n") + ENDIF(EXISTS ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/a.out) + FILE(REMOVE ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.s) +ENDMACRO(ASM_TEST VAR SOURCE_TXT) \ No newline at end of file Modified: allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake =================================================================== --- allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake 2006-07-27 22:22:38 UTC (rev 7406) +++ allegro/branches/4.3/include/allegro/platform/alplatf.h.cmake 2006-07-28 13:51:15 UTC (rev 7407) @@ -1,3 +1,5 @@ /* alplatf.h is generated from alplatf.h.cmake */ #cmakedefine ALLEGRO_MINGW32 #cmakedefine ALLEGRO_UNIX + +#cmakedefine ALLEGRO_NO_ASM \ No newline at end of file Modified: allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake =================================================================== --- allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake 2006-07-27 22:22:38 UTC (rev 7406) +++ allegro/branches/4.3/include/allegro/platform/alunixac.h.cmake 2006-07-28 13:51:15 UTC (rev 7407) @@ -5,14 +5,13 @@ #define ALLEGRO_COLOR24 1 #define ALLEGRO_COLOR32 1 #define ALLEGRO_COLOR8 1 -#define ALLEGRO_MMX 1 -#define ALLEGRO_SSE 1 #define RETSIGTYPE void #define ALLEGRO_ALSA_VERSION ${ALLEGRO_ALSA_VERSION} #define ALLEGRO_MODULES_PATH ${ALLEGRO_MODULES_PATH} /* Please keep sorted */ + #cmakedefine ALLEGRO_BIG_ENDIAN #cmakedefine ALLEGRO_HAVE_GETEXECNAME #cmakedefine ALLEGRO_HAVE_PROCFS_ARGCV @@ -75,4 +74,8 @@ #cmakedefine HAVE__BOOL #cmakedefine TIME_WITH_SYS_TIME +/* ASM related */ +#cmakedefine ALLEGRO_MMX +#cmakedefine ALLEGRO_SSE + /* vi: set ft=c ts=3 sts=3 sw=3 et: */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <juv...@us...> - 2006-07-28 14:46:53
|
Revision: 7408 Author: juvinious Date: 2006-07-28 07:46:47 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7408&view=rev Log Message: ----------- Removed unecessary paramaters for a macro in SrcTest.cmake Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt allegro/branches/4.3/cmake/SrcTests.cmake Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-28 13:51:15 UTC (rev 7407) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-28 14:46:47 UTC (rev 7408) @@ -426,15 +426,14 @@ endif(SUPPORT_SVGALIB) set(CMAKE_REQUIRED_LIBRARIES vga) - # Replaced with the macro run_test in SrcTests Module appends the - # Version number to the define in alunixac.h - check_c_source_compiles(" + check_c_source_compiles(" #include <vga.h> int main(void) { int x = vga_version; return x; - }" - ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION NULL) + }" + ALLEGRO_LINUX_SVGALIB_HAVE_VGA_VERSION + ) set(CMAKE_REQUIRED_LIBRARIES) endif(WANT_SVGALIB) Modified: allegro/branches/4.3/cmake/SrcTests.cmake =================================================================== --- allegro/branches/4.3/cmake/SrcTests.cmake 2006-07-28 13:51:15 UTC (rev 7407) +++ allegro/branches/4.3/cmake/SrcTests.cmake 2006-07-28 14:46:47 UTC (rev 7408) @@ -11,7 +11,7 @@ ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c COMPILE_DEFINITIONS ${FLAGS} - CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=${LIBS}" + "-DLINK_LIBRARIES:STRING=${LIBS}" OUTPUT_VARIABLE OUTPUT) IF(${VAR}) MESSAGE("-- Compilation test for ${VAR} successfull!") @@ -38,9 +38,7 @@ ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/tmp.c COMPILE_DEFINITIONS ${FLAGS} - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} "-DLINK_LIBRARIES:STRING=${LIBS}" - "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}" OUTPUT_VARIABLE OUTPUT) IF(${VAR_1}) MESSAGE("-- Test for ${VAR_1} successfull!") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-28 15:56:54
|
Revision: 7409 Author: tjaden Date: 2006-07-28 08:56:25 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7409&view=rev Log Message: ----------- For CMake, move MMX and SSE tests into a separate file and cache test results. Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt Added Paths: ----------- allegro/branches/4.3/cmake/CheckAsm.cmake Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-28 14:46:47 UTC (rev 7408) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-28 15:56:25 UTC (rev 7409) @@ -97,7 +97,6 @@ include(CheckTypeSize) include(UsePkgConfig) -# Module for testing source, running compiled source, and asm source include(SrcTests) # For alplatf.h @@ -194,37 +193,9 @@ set(SUPPORT_ASM 1) -# ASM processor checks placed here for the time being - asm_test(ALLEGRO_MMX " - .globl _dummy_function - _dummy_function: - pushl %ebp - movl %esp, %ebp - movq -8(%ebp), %mm0 - movd %edi, %mm1 - punpckldq %mm1, %mm1 - psrld $ 19, %mm7 - pslld $ 10, %mm6 - por %mm6, %mm7 - paddd %mm1, %mm0 - emms - popl %ebp" - ) - asm_test(ALLEGRO_SSE " - .globl _dummy_function - _dummy_function: - pushl %ebp - movl %esp, %ebp - movq -8(%ebp), %mm0 - movd %edi, %mm1 - punpckldq %mm1, %mm1 - psrld $ 10, %mm3 - maskmovq %mm3, %mm1 - paddd %mm1, %mm0 - emms - popl %ebp - ret" - ) + include(CheckAsm) + check_MMX(ALLEGRO_MMX) + check_SSE(ALLEGRO_SSE) else(WANT_ASM) # Added it to alplatf.h.cmake, if this isn't wise just uncomment # and remove the set and the entry in alplatf.h.cmake Added: allegro/branches/4.3/cmake/CheckAsm.cmake =================================================================== --- allegro/branches/4.3/cmake/CheckAsm.cmake (rev 0) +++ allegro/branches/4.3/cmake/CheckAsm.cmake 2006-07-28 15:56:25 UTC (rev 7409) @@ -0,0 +1,47 @@ +# Check if assembler understands MMX and SSE instructions. +# check_MMX(VARIABLE) +# check_SSE(VARIABLE) +# VARIABLE - variable to store the result to +# + +macro(check_MMX var) + if("${var}" MATCHES "^${var}$") + asm_test(${var} " + .globl _dummy_function + _dummy_function: + pushl %ebp + movl %esp, %ebp + movq -8(%ebp), %mm0 + movd %edi, %mm1 + punpckldq %mm1, %mm1 + psrld $ 19, %mm7 + pslld $ 10, %mm6 + por %mm6, %mm7 + paddd %mm1, %mm0 + emms + popl %ebp + ") + set(${var} "${${var}}" CACHE INTERNAL "Assembler understands MMX") + endif("${var}" MATCHES "^${var}$") +endmacro(check_MMX) + +macro(check_SSE var) + if("${var}" MATCHES "^${var}$") + asm_test(${var} " + .globl _dummy_function + _dummy_function: + pushl %ebp + movl %esp, %ebp + movq -8(%ebp), %mm0 + movd %edi, %mm1 + punpckldq %mm1, %mm1 + psrld $ 10, %mm3 + maskmovq %mm3, %mm1 + paddd %mm1, %mm0 + emms + popl %ebp + ret + ") + set(${var} "${${var}}" CACHE INTERNAL "Assembler understands SSE") + endif("${var}" MATCHES "^${var}$") +endmacro(check_SSE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-28 18:02:04
|
Revision: 7414 Author: tjaden Date: 2006-07-28 11:01:52 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7414&view=rev Log Message: ----------- For the CMake build, automatically generate obj/mingw32/asmcapa.h. Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt Added Paths: ----------- allegro/branches/4.3/cmake/asmcapa.h.cmake Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-28 17:45:31 UTC (rev 7413) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-28 18:01:52 UTC (rev 7414) @@ -474,6 +474,14 @@ include/allegro/platform/alplatf.h ) +if(MINGW) + # asmcapa.h wouldn't be necessary if we only supported CMake. + configure_file( + cmake/asmcapa.h.cmake + obj/mingw32/asmcapa.h + ) +endif(MINGW) + if(UNIX) set(CONFIG_FILE include/allegro/platform/alunixac.h) Added: allegro/branches/4.3/cmake/asmcapa.h.cmake =================================================================== --- allegro/branches/4.3/cmake/asmcapa.h.cmake (rev 0) +++ allegro/branches/4.3/cmake/asmcapa.h.cmake 2006-07-28 18:01:52 UTC (rev 7414) @@ -0,0 +1,4 @@ +/* obj/PLATFORM/asmcapa.h is generated from cmake/asmcapa.h.cmake */ + +#cmakedefine ALLEGRO_MMX +#cmakedefine ALLEGRO_SSE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-28 19:33:47
|
Revision: 7404 Author: tjaden Date: 2006-07-26 19:04:28 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7404&view=rev Log Message: ----------- Added svn:ignore properties for CMake generated cruft. Property Changed: ---------------- allegro/branches/4.3/ allegro/branches/4.3/demo/ allegro/branches/4.3/docs/ allegro/branches/4.3/examples/ allegro/branches/4.3/tests/ allegro/branches/4.3/tools/ Property changes on: allegro/branches/4.3 ___________________________________________________________________ Name: svn:ignore - makefile tmpfile.txt CHANGES allegro.mft configure config.log AUTHORS THANKS stamp-h config.cache makefile.dep config.status allegro-config autom4te.cache readme.txt makefile.info *.pdb keyboard.dat language.dat .sconf_temp .sconsign.dblite + CMakeCache.txt CMakeError.log CMakeFiles CMakeOutput.log Makefile cmake_install.cmake makefile tmpfile.txt CHANGES allegro.mft configure config.log AUTHORS THANKS stamp-h config.cache makefile.dep config.status allegro-config autom4te.cache readme.txt makefile.info *.pdb keyboard.dat language.dat .sconf_temp .sconsign.dblite Property changes on: allegro/branches/4.3/demo ___________________________________________________________________ Name: svn:ignore - demo demo.exe + CMakeFiles Makefile cmake_install.cmake demo demo.exe Property changes on: allegro/branches/4.3/docs ___________________________________________________________________ Name: svn:ignore - allegro.dvi allegro.ps* makedoc makedoc.exe *.pdb allegro.aux allegro.cp allegro.fn allegro.fns allegro.ky allegro.log allegro.pdf allegro.pg allegro.toc allegro.tp allegro.vr + CMakeFiles Makefile cmake_install.cmake allegro.dvi allegro.ps* makedoc makedoc.exe *.pdb allegro.aux allegro.cp allegro.fn allegro.fns allegro.ky allegro.log allegro.pdf allegro.pg allegro.toc allegro.tp allegro.vr Property changes on: allegro/branches/4.3/examples ___________________________________________________________________ Name: svn:ignore - ex12bit ex3buf ex3d exaccel exalpha exbitmap exblend excamera excolmap exconfig excustom exdata exdbuf exexedat exfixed exflame exflip exfont exgui exhello exjoy exkeys exlights exmem exmidi exmouse expackf expal expat exquat exrgbhsv exsample exscale exscn3d exscroll exshade exspline exsprite exstars exstream exswitch exsyscur extimer extrans extruec exunicod exupdate exxfade exzbuf ex*.exe + CMakeFiles Makefile cmake_install.cmake ex12bit ex3buf ex3d exaccel exalpha exbitmap exblend excamera excolmap exconfig excustom exdata exdbuf exexedat exfixed exflame exflip exfont exgui exhello exjoy exkeys exlights exmem exmidi exmouse expackf expal expat exquat exrgbhsv exsample exscale exscn3d exscroll exshade exspline exsprite exstars exstream exswitch exsyscur extimer extrans extruec exunicod exupdate exxfade exzbuf ex*.exe Property changes on: allegro/branches/4.3/tests ___________________________________________________________________ Name: svn:ignore - afinfo akaitest cpptest digitest filetest gfxinfo mathtest miditest play playfli test vesainfo *.exe + CMakeFiles Makefile cmake_install.cmake afinfo akaitest cpptest digitest filetest gfxinfo mathtest miditest play playfli test vesainfo *.exe Property changes on: allegro/branches/4.3/tools ___________________________________________________________________ Name: svn:ignore - allegro.cfg colormap dat dat2c dat2s exedat grabber pack pat2dat rgbmap textconv *.exe + CMakeFiles Makefile cmake_install.cmake allegro.cfg colormap dat dat2c dat2s exedat grabber pack pat2dat rgbmap textconv *.exe This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-29 04:27:10
|
Revision: 7417 Author: tjaden Date: 2006-07-28 21:26:40 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7417&view=rev Log Message: ----------- Don't play tricks with LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH; it confuses CMake and messes up dependencies between executables and libraries. After fixing that, the rules for executables become simpler as well. Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt allegro/branches/4.3/demo/CMakeLists.txt allegro/branches/4.3/docs/CMakeLists.txt allegro/branches/4.3/examples/CMakeLists.txt allegro/branches/4.3/tests/CMakeLists.txt allegro/branches/4.3/tools/CMakeLists.txt Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,8 +1,6 @@ # # TODO: # -# - programs do not depend on library properly -# # - sonames on Unix # - most Unix drivers require testing # @@ -77,11 +75,10 @@ #-----------------------------------------------------------------------------# -set(ALLEGRO_EXE_PATH "bin" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${ALLEGRO_EXE_PATH}) - + # Put libraries into `lib' by default. This must be absolute. + # set(ALLEGRO_LIB_PATH "lib" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${ALLEGRO_LIB_PATH}) +set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/${ALLEGRO_LIB_PATH}) #-----------------------------------------------------------------------------# # @@ -525,6 +522,9 @@ # Assembly code and Windows port both require generated asmdef.inc. # add_executable(asmdef src/i386/asmdef.c) +set_target_properties(asmdef PROPERTIES + OUTPUT_NAME lib/asmdef + ) get_target_property(ASMDEF_EXE asmdef LOCATION) if(MINGW) @@ -592,7 +592,7 @@ foreach(SOURCE ${LIBRARY_SOURCES}) if(${SOURCE} MATCHES "\\.s$") get_filename_component(FILE_BASE ${SOURCE} NAME_WE) - set(OBJ ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_OUTPUT_PATH}/${FILE_BASE}.o) + set(OBJ ${LIBRARY_OUTPUT_PATH}/${FILE_BASE}.o) set(_wflags ${WFLAGS}) separate_arguments(_wflags) add_custom_command( @@ -761,6 +761,10 @@ # #-----------------------------------------------------------------------------# + # Select an Allegro library to link the programs with. We choose + # standard, debug, profile in that order, and prefer statically linked + # over dynamically linked. It would be worth making this configurable. + # if(GRADE_STANDARD) set(LINK_WITH alleg) endif(GRADE_STANDARD) @@ -771,23 +775,20 @@ set(LINK_WITH allp) endif(NOT LINK_WITH AND GRADE_PROFILE) -if(NOT SHARED) - set(MAYBE_DRIVER_LIBS ${DRIVER_LIBS_STATIC}) +if(STATIC) + set(LINK_WITH ${LINK_WITH}_static) set(MAYBE_ALLEGRO_STATICLINK "-DALLEGRO_STATICLINK") -endif(NOT SHARED) +else(STATIC) + set(LINK_WITH ${LINK_WITH}_shared) +endif(STATIC) -set(PROGRAM_LIBS - -L${CMAKE_BINARY_DIR}/${LIBRARY_OUTPUT_PATH} ${LINK_WITH} - ${PLATFORM_LIBS} ${MAYBE_DRIVER_LIBS} - ) - macro(add_allegro_executable nm) add_executable(${nm} ${ARGN}) set_target_properties(${nm} PROPERTIES COMPILE_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" LINK_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" ) - target_link_libraries(${nm} ${PROGRAM_LIBS}) + target_link_libraries(${nm} ${LINK_WITH}) endmacro(add_allegro_executable) add_subdirectory(demo) Modified: allegro/branches/4.3/demo/CMakeLists.txt =================================================================== --- allegro/branches/4.3/demo/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/demo/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,11 +1,3 @@ -set(DEMO_EXE_PATH "" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${DEMO_EXE_PATH}) - -set(DEMO_LIB_PATH "" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${DEMO_LIB_PATH}) - -#-----------------------------------------------------------------------------# - add_allegro_executable(demo animsel.c aster.c Modified: allegro/branches/4.3/docs/CMakeLists.txt =================================================================== --- allegro/branches/4.3/docs/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/docs/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,11 +1,3 @@ -set(EXAMPLES_EXE_PATH "" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${EXAMPLES_EXE_PATH}) - -set(EXAMPLES_LIB_PATH "" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${EXAMPLES_LIB_PATH}) - -#-----------------------------------------------------------------------------# - find_program(MAKEINFO NAMES makeinfo) #-----------------------------------------------------------------------------# Modified: allegro/branches/4.3/examples/CMakeLists.txt =================================================================== --- allegro/branches/4.3/examples/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/examples/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,11 +1,3 @@ -set(EXAMPLES_EXE_PATH "" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${EXAMPLES_EXE_PATH}) - -set(EXAMPLES_LIB_PATH "" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${EXAMPLES_LIB_PATH}) - -#-----------------------------------------------------------------------------# - macro(example nm) add_allegro_executable(${nm} ${nm}.c) endmacro(example nm) Modified: allegro/branches/4.3/tests/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tests/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/tests/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,11 +1,3 @@ -set(TESTS_EXE_PATH "" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${TESTS_EXE_PATH}) - -set(TESTS_LIB_PATH "" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${TESTS_LIB_PATH}) - -#-----------------------------------------------------------------------------# - macro(test nm) add_allegro_executable(${nm} ${nm}.c) endmacro(test nm) Modified: allegro/branches/4.3/tools/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tools/CMakeLists.txt 2006-07-29 03:52:13 UTC (rev 7416) +++ allegro/branches/4.3/tools/CMakeLists.txt 2006-07-29 04:26:40 UTC (rev 7417) @@ -1,11 +1,3 @@ -set(TOOLS_EXE_PATH "" CACHE INTERNAL "internal") -set(EXECUTABLE_OUTPUT_PATH ${TOOLS_EXE_PATH}) - -set(TOOLS_LIB_PATH "" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${TOOLS_LIB_PATH}) - -#-----------------------------------------------------------------------------# - # # Building libaldat # @@ -33,7 +25,7 @@ macro(dat_tool nm) add_allegro_executable(${nm} ${nm}.c) - target_link_libraries(${nm} aldat ${PROGRAM_LIBS}) + target_link_libraries(${nm} aldat ${LINK_WITH}) install(TARGETS ${nm} DESTINATION bin ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-29 04:48:09
|
Revision: 7419 Author: tjaden Date: 2006-07-28 21:47:45 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7419&view=rev Log Message: ----------- Add include/platform/astdbool.h to the list of headers to install. Modified Paths: -------------- allegro/branches/4.3/makefile.bcc allegro/branches/4.3/makefile.be allegro/branches/4.3/makefile.dj allegro/branches/4.3/makefile.mgw allegro/branches/4.3/makefile.osx allegro/branches/4.3/makefile.qnx allegro/branches/4.3/makefile.vc allegro/branches/4.3/makefile.wat Modified: allegro/branches/4.3/makefile.bcc =================================================================== --- allegro/branches/4.3/makefile.bcc 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.bcc 2006-07-29 04:47:45 UTC (rev 7419) @@ -179,6 +179,7 @@ $(BCC32DIR_U)/include/allegro/platform/al386gcc.h \ $(BCC32DIR_U)/include/allegro/platform/albcc32.h \ $(BCC32DIR_U)/include/allegro/platform/alplatf.h \ + $(BCC32DIR_U)/include/allegro/platform/astdbool.h \ $(BCC32DIR_U)/include/allegro/platform/astdint.h \ $(BCC32DIR_U)/include/allegro/platform/alwin.h Modified: allegro/branches/4.3/makefile.be =================================================================== --- allegro/branches/4.3/makefile.be 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.be 2006-07-29 04:47:45 UTC (rev 7419) @@ -177,6 +177,7 @@ $(INSTALLDIR)/$(INCDIR)/allegro/platform/al386gcc.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/albecfg.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/alplatf.h \ + $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdbool.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdint.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/albeos.h Modified: allegro/branches/4.3/makefile.dj =================================================================== --- allegro/branches/4.3/makefile.dj 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.dj 2006-07-29 04:47:45 UTC (rev 7419) @@ -276,6 +276,7 @@ $(DJDIR_U)/include/allegro/platform/al386gcc.h \ $(DJDIR_U)/include/allegro/platform/aldjgpp.h \ $(DJDIR_U)/include/allegro/platform/alplatf.h \ + $(DJDIR_U)/include/allegro/platform/astdbool.h \ $(DJDIR_U)/include/allegro/platform/astdint.h \ $(DJDIR_U)/include/allegro/platform/aldos.h Modified: allegro/branches/4.3/makefile.mgw =================================================================== --- allegro/branches/4.3/makefile.mgw 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.mgw 2006-07-29 04:47:45 UTC (rev 7419) @@ -268,6 +268,7 @@ $(MINGDIR_U)/include/allegro/platform/al386gcc.h \ $(MINGDIR_U)/include/allegro/platform/almngw32.h \ $(MINGDIR_U)/include/allegro/platform/alplatf.h \ + $(MINGDIR_U)/include/allegro/platform/astdbool.h \ $(MINGDIR_U)/include/allegro/platform/astdint.h \ $(MINGDIR_U)/include/allegro/platform/alwin.h Modified: allegro/branches/4.3/makefile.osx =================================================================== --- allegro/branches/4.3/makefile.osx 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.osx 2006-07-29 04:47:45 UTC (rev 7419) @@ -218,6 +218,7 @@ $(INSTALLDIR)/$(INCDIR)/allegro/platform/aintunix.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/alosxcfg.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/alplatf.h \ + $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdbool.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdint.h \ $(INSTALLDIR)/$(INCDIR)/allegro/platform/alosx.h Modified: allegro/branches/4.3/makefile.qnx =================================================================== --- allegro/branches/4.3/makefile.qnx 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.qnx 2006-07-29 04:47:45 UTC (rev 7419) @@ -135,6 +135,7 @@ $(INSTALL_DIR)/include/allegro/platform/al386gcc.h \ $(INSTALL_DIR)/include/allegro/platform/alqnxcfg.h \ $(INSTALL_DIR)/include/allegro/platform/alplatf.h \ + $(INSTALL_DIR)/include/allegro/platform/astdbool.h \ $(INSTALL_DIR)/include/allegro/platform/astdint.h \ $(INSTALL_DIR)/include/allegro/platform/alqnx.h Modified: allegro/branches/4.3/makefile.vc =================================================================== --- allegro/branches/4.3/makefile.vc 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.vc 2006-07-29 04:47:45 UTC (rev 7419) @@ -275,6 +275,7 @@ $(MSVCDIR_U)/include/allegro/platform/al386vc.h \ $(MSVCDIR_U)/include/allegro/platform/almsvc.h \ $(MSVCDIR_U)/include/allegro/platform/alplatf.h \ + $(MSVCDIR_U)/include/allegro/platform/astdbool.h \ $(MSVCDIR_U)/include/allegro/platform/astdint.h \ $(MSVCDIR_U)/include/allegro/platform/alwin.h Modified: allegro/branches/4.3/makefile.wat =================================================================== --- allegro/branches/4.3/makefile.wat 2006-07-29 04:42:09 UTC (rev 7418) +++ allegro/branches/4.3/makefile.wat 2006-07-29 04:47:45 UTC (rev 7419) @@ -134,6 +134,7 @@ $(WATDIR_U)/h/allegro/platform/al386wat.h \ $(WATDIR_U)/h/allegro/platform/alwatcom.h \ $(WATDIR_U)/h/allegro/platform/alplatf.h \ + $(WATDIR_U)/h/allegro/platform/astdbool.h \ $(WATDIR_U)/h/allegro/platform/astdint.h \ $(WATDIR_U)/h/allegro/platform/aldos.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-07-29 11:19:56
|
Revision: 7423 Author: tjaden Date: 2006-07-29 04:19:30 -0700 (Sat, 29 Jul 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7423&view=rev Log Message: ----------- Add support for out-of-source builds with CMake. Modified Paths: -------------- allegro/branches/4.3/CMakeLists.txt allegro/branches/4.3/cmake/FileList.cmake allegro/branches/4.3/cmake/GeneratePlugins.cmake allegro/branches/4.3/docs/CMakeLists.txt allegro/branches/4.3/tools/CMakeLists.txt Modified: allegro/branches/4.3/CMakeLists.txt =================================================================== --- allegro/branches/4.3/CMakeLists.txt 2006-07-29 11:02:16 UTC (rev 7422) +++ allegro/branches/4.3/CMakeLists.txt 2006-07-29 11:19:30 UTC (rev 7423) @@ -26,7 +26,16 @@ # TODO soft-code the version number set(ALLEGRO_VERSION 4.3.1) -include_directories( . include include/allegro) +include_directories( + . + include + include/allegro + + # For out-of-source builds. + ${CMAKE_BINARY_DIR}/include + ${CMAKE_BINARY_DIR}/include/allegro + ${CMAKE_BINARY_DIR}/include/allegro/platform + ) include(FileList) #-----------------------------------------------------------------------------# @@ -78,7 +87,7 @@ # Put libraries into `lib' by default. This must be absolute. # set(ALLEGRO_LIB_PATH "lib" CACHE INTERNAL "internal") -set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/${ALLEGRO_LIB_PATH}) +set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/${ALLEGRO_LIB_PATH}) #-----------------------------------------------------------------------------# # @@ -486,7 +495,7 @@ add_definitions(-DHAVE_CONFIG_H) configure_file(misc/allegro-config.in allegro-config) - install(PROGRAMS allegro-config + install(PROGRAMS ${CMAKE_BINARY_DIR}/allegro-config DESTINATION bin ) @@ -523,15 +532,15 @@ # add_executable(asmdef src/i386/asmdef.c) set_target_properties(asmdef PROPERTIES - OUTPUT_NAME lib/asmdef + OUTPUT_NAME ${ALLEGRO_LIB_PATH}/asmdef ) get_target_property(ASMDEF_EXE asmdef LOCATION) if(MINGW) - set(ASMDEF_INC obj/mingw32/asmdef.inc) + set(ASMDEF_INC ${CMAKE_BINARY_DIR}/obj/mingw32/asmdef.inc) endif(MINGW) if(UNIX) - set(ASMDEF_INC obj/unix/asmdef.inc) + set(ASMDEF_INC ${CMAKE_BINARY_DIR}/obj/unix/asmdef.inc) endif(UNIX) add_custom_target(asmdef_inc @@ -600,7 +609,9 @@ DEPENDS ${SOURCE} ${ASMDEF_INC} COMMAND ${CMAKE_C_COMPILER} -x assembler-with-cpp - -I. -Iinclude ${_wflags} -c ${SOURCE} -o ${OBJ} + -I. -Iinclude ${_wflags} + -c ${CMAKE_SOURCE_DIR}/${SOURCE} + -o ${OBJ} ) list(APPEND ASM_OBJS ${OBJ}) list(APPEND ASM_SOURCES ${SOURCE}) @@ -674,6 +685,11 @@ install(FILES ${ALLEGRO_INCLUDE_ALLEGRO_PLATFORM_FILES} DESTINATION include/allegro/platform ) +foreach(genfile ${ALLEGRO_INCLUDE_ALLEGRO_PLATFORM_FILES_GENERATED}) + install(FILES ${CMAKE_BINARY_DIR}/${genfile} + DESTINATION include/allegro/platform + ) +endforeach(genfile) #-----------------------------------------------------------------------------# # @@ -805,4 +821,11 @@ add_subdirectory(docs) #-----------------------------------------------------------------------------# + + # Recreate directory structure for out-of-source builds. + # +make_directory(obj/mingw32) +make_directory(obj/unix) + +#-----------------------------------------------------------------------------# # vi: set ts=8 sts=4 sw=4 et: Modified: allegro/branches/4.3/cmake/FileList.cmake =================================================================== --- allegro/branches/4.3/cmake/FileList.cmake 2006-07-29 11:02:16 UTC (rev 7422) +++ allegro/branches/4.3/cmake/FileList.cmake 2006-07-29 11:19:30 UTC (rev 7423) @@ -518,15 +518,18 @@ include/allegro/platform/almsvc.h include/allegro/platform/alosx.h include/allegro/platform/alosxcfg.h - include/allegro/platform/alplatf.h include/allegro/platform/alqnx.h include/allegro/platform/alqnxcfg.h include/allegro/platform/alucfg.h include/allegro/platform/alunix.h - include/allegro/platform/alunixac.h include/allegro/platform/alwatcom.h include/allegro/platform/alwin.h include/allegro/platform/astdbool.h include/allegro/platform/astdint.h include/allegro/platform/macdef.h ) + +set(ALLEGRO_INCLUDE_ALLEGRO_PLATFORM_FILES_GENERATED + include/allegro/platform/alplatf.h + include/allegro/platform/alunixac.h + ) Modified: allegro/branches/4.3/cmake/GeneratePlugins.cmake =================================================================== --- allegro/branches/4.3/cmake/GeneratePlugins.cmake 2006-07-29 11:02:16 UTC (rev 7422) +++ allegro/branches/4.3/cmake/GeneratePlugins.cmake 2006-07-29 11:19:30 UTC (rev 7423) @@ -1,8 +1,13 @@ -# Note: these lines are duplicated in tools/CMakeLists.cmake -SET(plugins_h "plugins/plugins.h") -FILE(GLOB inc_files RELATIVE "" plugins/*.inc) +# Produce tools/plugins/plugins.h +# These variables need to be passed in on the command line: +# plugins_h +# inc_files +# -# Produce tools/plugins/plugins.h +if("${plugins_h}" MATCHES "^$") + message(FATAL_ERROR "** Internal error: plugins_h variable not set **") +endif("${plugins_h}" MATCHES "^$") + FILE(WRITE ${plugins_h} "/* automatically generated */\n") FOREACH(inc ${inc_files}) FILE(READ ${inc} content) Modified: allegro/branches/4.3/docs/CMakeLists.txt =================================================================== --- allegro/branches/4.3/docs/CMakeLists.txt 2006-07-29 11:02:16 UTC (rev 7422) +++ allegro/branches/4.3/docs/CMakeLists.txt 2006-07-29 11:19:30 UTC (rev 7423) @@ -18,14 +18,17 @@ ) get_target_property(MAKEDOC_EXE makedoc LOCATION) -macro(makedoc src mode output) - list(APPEND all_docs ${output}) +macro(makedoc source mode output) + set(abs_source ${CMAKE_CURRENT_SOURCE_DIR}/${source}) + set(abs_output ${CMAKE_CURRENT_BINARY_DIR}/${output}) + + list(APPEND all_docs ${abs_output}) add_custom_command( - OUTPUT ${output} - COMMAND ${MAKEDOC_EXE} ${mode} ${output} ${src} - DEPENDS makedoc ${src} + OUTPUT ${abs_output} + COMMAND ${MAKEDOC_EXE} ${mode} ${abs_output} ${abs_source} + DEPENDS makedoc ${abs_source} ) -endmacro(makedoc src mode output) +endmacro(makedoc source mode output) macro(add_document n) makedoc(src/${n}._tx -ascii txt/${n}.txt) @@ -37,11 +40,14 @@ if(MAKEINFO) makedoc(src/${n}._tx -texi texi/${n}.texi) - list(APPEND all_docs info/${n}.info) + set(abs_info ${CMAKE_CURRENT_BINARY_DIR}/info/${n}.info) + set(abs_texi ${CMAKE_CURRENT_BINARY_DIR}/texi/${n}.texi) + + list(APPEND all_docs ${abs_info}) add_custom_command( - OUTPUT info/${n}.info - DEPENDS texi/${n}.texi - COMMAND ${MAKEINFO} --no-split -o info/${n}.info texi/${n}.texi + OUTPUT ${abs_info} + DEPENDS ${abs_texi} + COMMAND ${MAKEINFO} --no-split -o ${abs_info} ${abs_texi} ) endif(MAKEINFO) endmacro(add_info) @@ -97,4 +103,16 @@ ) #-----------------------------------------------------------------------------# + + # Recreate directory structure for out-of-source builds. + # +make_directory(${CMAKE_CURRENT_BINARY_DIR}/build) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/html/build) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/info) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/man) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/rtf) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/texi) +make_directory(${CMAKE_CURRENT_BINARY_DIR}/txt) + +#-----------------------------------------------------------------------------# # vi: set ts=8 sts=4 sw=4 et: Modified: allegro/branches/4.3/tools/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tools/CMakeLists.txt 2006-07-29 11:02:16 UTC (rev 7422) +++ allegro/branches/4.3/tools/CMakeLists.txt 2006-07-29 11:19:30 UTC (rev 7423) @@ -2,17 +2,29 @@ # Building libaldat # -# Note: these lines are duplicated in GeneratePlugins.cmake -set(plugins_h "plugins/plugins.h") +set(plugins_h ${CMAKE_CURRENT_BINARY_DIR}/plugins/plugins.h) file(GLOB inc_files RELATIVE "" plugins/*.inc) +file(GLOB plugins RELATIVE "" plugins/*.c) +add_custom_target(plugins_h + DEPENDS ${plugins_h} + ) add_custom_command( OUTPUT ${plugins_h} - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/GeneratePlugins.cmake DEPENDS ${inc_files} + COMMAND ${CMAKE_COMMAND} + -D plugins_h=${plugins_h} + -D inc_files=${inc_files} + -P ${CMAKE_SOURCE_DIR}/cmake/GeneratePlugins.cmake ) -file(GLOB plugins RELATIVE "" plugins/*.c) + # Add this property so that out-of-source builds can find + # plugins/plugins.h. + # +set_directory_properties(PROPERTIES + INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR} + ) + add_library(aldat STATIC datedit.c ${plugins}) set_target_properties(aldat PROPERTIES COMPILE_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <el...@us...> - 2006-08-14 11:45:57
|
Revision: 7463 Author: elias Date: 2006-08-14 04:45:46 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/alleg/?rev=7463&view=rev Log Message: ----------- Removed dos, qnx, macos9, beos ports from 4.3 branch for now. Removed Paths: ------------- allegro/branches/4.3/makefile.be allegro/branches/4.3/makefile.dj allegro/branches/4.3/makefile.qnx allegro/branches/4.3/makefile.wat allegro/branches/4.3/src/beos/ allegro/branches/4.3/src/dos/ allegro/branches/4.3/src/mac/ allegro/branches/4.3/src/qnx/ Deleted: allegro/branches/4.3/makefile.be =================================================================== --- allegro/branches/4.3/makefile.be 2006-08-14 00:25:09 UTC (rev 7462) +++ allegro/branches/4.3/makefile.be 2006-08-14 11:45:46 UTC (rev 7463) @@ -1,311 +0,0 @@ -# -# Rules for building the Allegro library with BeOS. This file is included -# by the primary makefile, and should not be used directly. -# -# The "depend" target uses sed. -# -# See makefile.all for a list of the available targets. - - - -# -------- define some variables that the primary makefile will use -------- - -PLATFORM = BeOS -CC = gcc -EXE = -OBJ = .o -HTML = html - -PLATFORM_DIR = obj/beos - -UNIX_TOOLS = 1 - -ifdef STATICLINK - -# -------- link as a static library -------- -OBJ_DIR = obj/beos/$(VERSION) -LIB_NAME = lib/beos/lib$(VERSION).a - -else - -# -------- link as a DLL -------- -OBJ_DIR = obj/beos/$(VERSION) -LIB_NAME = lib/beos/lib$(VERSION)-$(shared_version).so - -endif # STATICLINK - -# -------- give a sensible default target for make without any args -------- - -.PHONY: _default - -_default: default - - -# -------- decide what compiler options to use -------- - -ifdef WARNMODE -WFLAGS = -Wall -W -Wstrict-prototypes -Wno-unused -Wno-multichar -Wno-ctor-dtor-privacy -Werror -else -WFLAGS = -Wall -Wno-unused -Wno-multichar -Wno-ctor-dtor-privacy -endif - -ifdef TARGET_ARCH_COMPAT - TARGET_ARCH = $(GCC_MTUNE)=$(TARGET_ARCH_COMPAT) -else - ifdef TARGET_ARCH_EXCL - TARGET_ARCH = -march=$(TARGET_ARCH_EXCL) - else - TARGET_ARCH = $(GCC_MTUNE)=i586 - endif -endif - -ifndef TARGET_OPTS - TARGET_OPTS = -O6 -funroll-loops -ffast-math -endif - -OFLAGS = $(TARGET_ARCH) $(TARGET_OPTS) - -CFLAGS = -DALLEGRO_LIB_BUILD - - - -ifdef DEBUGMODE - -# -------- debugging build -------- -CFLAGS += -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -g -O0 -SFLAGS = -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -LFLAGS = -g - -else -ifdef PROFILEMODE - -# -------- profiling build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -pg -SFLAGS = $(WFLAGS) -LFLAGS = -pg - -else - -# -------- optimised build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -fomit-frame-pointer -SFLAGS = $(WFLAGS) - -ifndef SYMBOLMODE -LFLAGS = -s -else -LFLAGS = -endif - -endif -endif - - -# -------- list which platform specific objects to include -------- - -VPATH = src/beos src/misc src/unix tools/beos - -ifdef ALLEGRO_USE_C - -# ------ build a C-only version ------ - -VPATH += src/c -MY_OBJECTS = $(C_OBJECTS) cmiscs -CFLAGS += -DALLEGRO_NO_ASM - -else - -# ------ build the normal asm version ------ - -VPATH += src/i386 -MY_OBJECTS = $(I386_OBJECTS) - -endif # ALLEGRO_USE_C - -OBJECT_LIST = $(COMMON_OBJECTS) $(MY_OBJECTS) $(basename $(notdir $(ALLEGRO_SRC_BEOS_FILES))) - -LIBRARIES = -lbe -lgame -ldevice -lmidi -lmedia -lnet - -PROGRAMS = bfixicon - -bfixicon: tools/beos/bfixicon - -DISTCLEAN_FILES += tools/beos/bfixicon - - - -# -------- rules for installing and removing the library files -------- - -INSTALLDIR = /boot/develop -LIBDIR = lib/x86 -INCDIR = headers - -SHARED_LIBDIR = /boot/home/config/lib - - -ifdef STATICLINK - -$(INSTALLDIR)/$(LIBDIR)/lib$(VERSION).a: $(LIB_NAME) - cp $< $@ - -else - -$(SHARED_LIBDIR)/lib$(VERSION)-$(shared_version).so: $(LIB_NAME) - cp $< $@ - -endif - - -/bin/allegro-config: -ifdef STATICLINK - sed -e "s/@LINK_WITH_STATIC_LIBS@/yes/" misc/allegro-config.in >temp -else - sed -e "s/@LINK_WITH_STATIC_LIBS@/no/" misc/allegro-config.in >temp -endif - sed -e "s/@prefix@/\/boot\/develop/" temp > temp2 - sed -e "s/@LIB_TO_LINK@/$(VERSION)/" temp2 > temp - sed -e "s/@LDFLAGS@//" temp > temp2 - sed -e "s/@LIBS@/$(LIBRARIES)/" temp2 > temp - sed -e "s/include/headers/" temp >temp2 - sed -e "s/ -l\$${lib_type}_unsharable//" temp2 >temp - sed -e "s/libdirs=-L\$${exec_prefix}\/lib/libdirs=\"-L\$${exec_prefix}\/lib\/x86 -L\/boot\/home\/config\/lib\"/" temp >/bin/allegro-config - rm -f temp temp2 - chmod a+x /bin/allegro-config - - -HEADERS = $(INSTALLDIR)/$(INCDIR)/bealleg.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/aintbeos.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/al386gcc.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/albecfg.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/alplatf.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdbool.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/astdint.h \ - $(INSTALLDIR)/$(INCDIR)/allegro/platform/albeos.h - -ifdef STATICLINK - INSTALL_FILES = $(INSTALLDIR)/$(LIBDIR)/lib$(VERSION).a -else - INSTALL_FILES = $(SHARED_LIBDIR)/lib$(VERSION)-$(shared_version).so -endif - -INSTALL_FILES += $(HEADERS) /bin/allegro-config - - -install: generic-install - @echo The $(DESCRIPTION) $(PLATFORM) library has been installed. - -UNINSTALL_FILES = $(INSTALLDIR)/$(LIBDIR)/liballeg.a \ - $(INSTALLDIR)/$(LIBDIR)/liballd.a \ - $(INSTALLDIR)/$(LIBDIR)/liballp.a \ - $(SHARED_LIBDIR)/liballeg-$(shared_version).so \ - $(SHARED_LIBDIR)/liballd-$(shared_version).so \ - $(SHARED_LIBDIR)/liballp-$(shared_version).so \ - $(HEADERS) \ - /bin/allegro-config - -uninstall: generic-uninstall - @echo All gone! - - - -# -------- test capabilities -------- - -TEST_CPP = @echo ...system compiler - -include makefile.tst - - - -# -------- finally, we get to the fun part... -------- - -ifdef PROFILEMODE -OTHER_OBJECTS = /boot/develop/lib/x86/i386-mcount.o -endif - -ifdef STATICLINK - -# -------- link as a static library -------- -define MAKE_LIB -ar rs $(LIB_NAME) $(OBJECTS) $(OTHER_OBJECTS) -endef - -else - -# -------- link as a shared library -------- - -define MAKE_LIB -$(CC) -nostart $(PFLAGS) -o $(LIB_NAME) $(OBJECTS) $(OTHER_OBJECTS) $(LIBRARIES) -endef - -endif # STATICLINK - -COMPILE_FLAGS = $(subst src/,-DALLEGRO_SRC ,$(findstring src/, $<))$(CFLAGS) - -$(OBJ_DIR)/%.o: %.c - $(CC) $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.cpp - $(CC) $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.s - $(CC) $(SFLAGS) -I. -I./include -x assembler-with-cpp -o $@ -c $< - -demo/demo: $(OBJECTS_DEMO) $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $(OBJECTS_DEMO) $(LIB_NAME) $(LIBRARIES) - -*/%: $(OBJ_DIR)/%.o $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $< $(LIB_NAME) $(LIBRARIES) - -obj/beos/asmdef.inc: obj/beos/asmdef - obj/beos/asmdef obj/beos/asmdef.inc - -obj/beos/asmdef: src/i386/asmdef.c include/*.h include/allegro/*.h obj/beos/asmcapa.h - $(CC) -O $(WFLAGS) -I. -I./include -o obj/beos/asmdef src/i386/asmdef.c - -define LINK_WITHOUT_LIB - $(CC) $(LFLAGS) -o $@ $^ $(OTHER_OBJECTS) -endef - -PLUGIN_LIB = lib/beos/lib$(VERY_SHORT_VERSION)dat.a -PLUGIN_DEPS = $(LIB_NAME) $(PLUGIN_LIB) -PLUGIN_SCR = scr - -define GENERATE_PLUGINS_H - cat tools/plugins/*.inc > $(PLUGINS_H) -endef - -define MAKE_PLUGIN_LIB -ar rs $(PLUGIN_LIB) $(PLUGIN_OBJS) -endef - -define LINK_WITH_PLUGINS -$(CC) $(LFLAGS) -o $@ $< $(strip $(PLUGIN_LIB) $(addprefix @,$(PLUGIN_SCRIPTS)) $(LIB_NAME)) -endef - -tools/beos/%: $(OBJ_DIR)/%.o $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $< $(LIB_NAME) $(LIBRARIES) - - - -# -------- demo program iconification -------- - -.PHONY: fixdemo - -fixdemo: demo/demo demo/demo.dat tools/beos/bfixicon - tools/beos/bfixicon demo/demo -d demo/demo.dat SHIP3 GAME_PAL - - - -# -------- generate automatic dependencies -------- - -DEPEND_PARAMS = -MM -MG -I. -I./include -DSCAN_DEPEND -DALLEGRO_BEOS - -depend: - $(CC) $(DEPEND_PARAMS) src/*.c src/beos/*.c src/i386/*.c src/misc/*.c src/unix/*.c demo/*.c > _depend.tmp - $(CC) $(DEPEND_PARAMS) docs/src/makedoc/*.c examples/*.c setup/*.c tests/*.c tools/*.c tools/plugins/*.c >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x c src/beos/*.cpp tests/*.cpp tools/beos/*.cpp >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x assembler-with-cpp src/i386/*.s src/misc/*.s >> _depend.tmp - sed -e "s/^[a-zA-Z0-9_\/]*\///" _depend.tmp > _depend2.tmp - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/beos\/alleg\/\1/" _depend2.tmp > obj/beos/alleg/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/beos\/alld\/\1/" _depend2.tmp > obj/beos/alld/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/beos\/allp\/\1/" _depend2.tmp > obj/beos/allp/makefile.dep - rm _depend.tmp _depend2.tmp Deleted: allegro/branches/4.3/makefile.dj =================================================================== --- allegro/branches/4.3/makefile.dj 2006-08-14 00:25:09 UTC (rev 7462) +++ allegro/branches/4.3/makefile.dj 2006-08-14 11:45:46 UTC (rev 7463) @@ -1,438 +0,0 @@ -# -# Rules for building the Allegro library with djgpp. This file is included -# by the primary makefile, and should not be used directly. -# -# The "depend" target uses sed. -# -# See makefile.all for a list of the available targets. - - - -# -------- define some variables that the primary makefile will use -------- - -PLATFORM = djgpp -CC = gcc -EXE = .exe -OBJ = .o - -PLATFORM_DIR = obj/djgpp - -OBJ_DIR = obj/djgpp/$(VERSION) -LIB_NAME = lib/djgpp/lib$(VERSION).a - -ifdef CROSSCOMPILE - UNIX_TOOLS = 1 -endif - -ifneq (,$(findstring bash,$(SHELL))) - UNIX_TOOLS = 1 -endif - - - -# -------- autodetect whether to use LFN -------- - -ifdef CROSSCOMPILE - HTML = html - INFO = info - TEXI = texi -else -ifeq ($(LFN),y) - HTML = html - INFO = info - TEXI = texi -else - HTML = htm - INFO = inf - TEXI = txi -endif -endif - - - -# -------- run some sanity checks on the djgpp installation -------- - -.PHONY: baddjgpp baddjdev badgcc badbnu badmake badtxi badpath badalleg - - - -# -------- check that the DJGPP environment variable is set -------- - -ifndef DJDIR -baddjgpp: - @echo Your DJGPP environment variable is not set correctly! It should - @echo point to the djgpp.env file: see the djgpp readme.1st for details. -endif - -DJDIR_U = $(subst \,/,$(DJDIR)) -DJDIR_D = $(subst /,\,$(DJDIR)) - - - -ifndef CROSSCOMPILE - -# -------- check that the djdev package is installed -------- - -ifeq ($(wildcard $(DJDIR_U)/bin/djasm.exe),) -baddjdev: - @echo Missing djgpp package! You need to install djdev203.zip (or whatever the - @echo latest version is). Download this from wherever you got djgpp, and unzip - @echo it into the root of your djgpp directory. -endif - - - -# -------- check that the gcc package is installed -------- - -ifeq ($(wildcard $(DJDIR_U)/bin/gcc.exe),) -badgcc: - @echo Missing djgpp package! You need to install gcc2952b.zip (or whatever the - @echo latest version is). Download this from wherever you got djgpp, and unzip - @echo it into the root of your djgpp directory. - -endif - - - -# -------- check that the binutils package is installed -------- - -ifeq ($(wildcard $(DJDIR_U)/bin/ld.exe),) -badbnu: - @echo Missing djgpp package! You need to install bnu210b.zip (or whatever the - @echo latest version is). Download this from wherever you got djgpp, and unzip - @echo it into the root of your djgpp directory. -endif - - - -# -------- check that the make package is installed -------- - -ifeq ($(wildcard $(DJDIR_U)/bin/make.exe),) -badmake: - @echo Missing djgpp package! You need to install mak3791b.zip (or whatever the - @echo latest version is). Download this from wherever you got djgpp, and unzip - @echo it into the root of your djgpp directory. -endif - - - -# -------- check that the texinfo package is installed -------- - -ifeq ($(wildcard $(DJDIR_U)/bin/makeinfo.exe),) -badtxi: - @echo Missing djgpp package! You need to install txi40b.zip (or whatever the - @echo latest version is). Download this from wherever you got djgpp, and unzip - @echo it into the root of your djgpp directory. If you do not need the Info - @echo documentation, run make all to ignore this error. -endif - - - -# -------- check that djgpp/bin is pathed -------- - -ifeq ($(wildcard $(addsuffix /djasm.exe,$(subst ;, ,$(PATH)))),) -badpath: - @echo Your PATH is not set correctly! This must include the - @echo djgpp bin directory: see the djgpp readme.1st for details. -endif - - - -# -------- check that Allegro has a good directory structure -------- - -ifeq ($(wildcard src/allegro.c),) -badalleg: - @echo Bad Allegro installation! You did not preserve the directory structure - @echo while unzipping it: did you remember to use the -d flag with pkunzip? -endif - -endif - - - -# -------- give a sensible default target for make without any args -------- - -.PHONY: _default - -_default: default - - - -# -------- decide what compiler options to use -------- - -ifdef WARNMODE - WFLAGS = -Wall -W -Wstrict-prototypes -Wno-unused -Werror -else - WFLAGS = -Wall -Wno-unused -endif - - -ifdef TARGET_ARCH_COMPAT - TARGET_ARCH = $(GCC_MTUNE)=$(TARGET_ARCH_COMPAT) -else - ifdef TARGET_ARCH_EXCL - TARGET_ARCH = -march=$(TARGET_ARCH_EXCL) - else - TARGET_ARCH = $(GCC_MTUNE)=i586 - endif -endif - -ifndef TARGET_OPTS - TARGET_OPTS = -O2 -funroll-loops -ffast-math -endif - -OFLAGS = $(TARGET_ARCH) $(TARGET_OPTS) - -CFLAGS = -DALLEGRO_LIB_BUILD - - - -ifdef DEBUGMODE - -# -------- debugging build -------- - -CFLAGS += -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -g -SFLAGS = -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -LFLAGS = -g - -else -ifdef PROFILEMODE - -# -------- profiling build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -pg -SFLAGS = $(WFLAGS) -LFLAGS = -pg - -else - -# -------- optimised build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -fomit-frame-pointer -SFLAGS = $(WFLAGS) - -ifndef SYMBOLMODE - LFLAGS = -s -endif - -endif -endif - - - -# -------- list which platform specific objects to include -------- - -VPATH = src/dos src/misc - -ifdef ALLEGRO_USE_C - -# ------ build a C-only version ------ - -VPATH += src/c -MY_OBJECTS = $(C_OBJECTS) cmiscs -CFLAGS += -DALLEGRO_NO_ASM - -else - -# ------ build the normal asm version ------ - -VPATH += src/i386 -MY_OBJECTS = $(I386_OBJECTS) - -endif # ALLEGRO_USE_C - -OBJECT_LIST = $(COMMON_OBJECTS) $(MY_OBJECTS) \ - $(basename $(notdir $(ALLEGRO_SRC_DOS_FILES))) \ - djirq djirqs - - - -# -------- rules for installing and removing the library files -------- - -INSTALLDIR = $(DJDIR_U) -LIBDIR = lib -INCDIR = include - -ifdef UNIX_TOOLS - -$(DJDIR_U)/lib/lib$(VERSION).a: $(LIB_NAME) $(DJDIR_U)/lib - cp lib/djgpp/lib$(VERSION).a $(DJDIR_U)/lib - -$(DJDIR_U)/info/allegro.$(INFO): docs/info/allegro.$(INFO) - -cp docs/info/allegro.$(INFO) $(DJDIR_U)/info - -install-info $(DJDIR_U)/info/allegro.$(INFO) $(DJDIR_U)/info/dir - -else - -$(DJDIR_U)/lib/lib$(VERSION).a: $(LIB_NAME) - copy lib\djgpp\lib$(VERSION).a $(DJDIR_D)\lib - -$(DJDIR_U)/info/allegro.$(INFO): docs/info/allegro.$(INFO) - -copy docs\info\allegro.$(INFO) $(DJDIR_D)\info - -install-info $(DJDIR_U)/info/allegro.$(INFO) $(DJDIR_U)/info/dir - -endif - - -HEADERS = $(DJDIR_U)/include/allegro/platform/aintdos.h \ - $(DJDIR_U)/include/allegro/platform/al386gcc.h \ - $(DJDIR_U)/include/allegro/platform/aldjgpp.h \ - $(DJDIR_U)/include/allegro/platform/alplatf.h \ - $(DJDIR_U)/include/allegro/platform/astdbool.h \ - $(DJDIR_U)/include/allegro/platform/astdint.h \ - $(DJDIR_U)/include/allegro/platform/aldos.h - -INSTALL_FILES = $(DJDIR_U)/lib/lib$(VERSION).a \ - $(DJDIR_U)/info/allegro.$(INFO) \ - $(HEADERS) - -install: generic-install - @echo The $(DESCRIPTION) $(PLATFORM) library has been installed. - -UNINSTALL_FILES = $(DJDIR_U)/lib/liballeg.a \ - $(DJDIR_U)/lib/liballd.a \ - $(DJDIR_U)/lib/liballp.a \ - $(DJDIR_U)/info/allegro.$(INFO) \ - $(HEADERS) - -uninstall: generic-uninstall - -install-info --delete $(DJDIR_U)/info/allegro.$(INFO) $(DJDIR_U)/info/dir - @echo All gone! - - - -# -------- helper function for compressing the executables -------- - -ifneq ($(wildcard $(DJDIR_U)/bin/upx.exe),) - DJP = $(DJDIR_U)/bin/upx.exe -else -ifneq ($(wildcard $(DJDIR_U)/bin/djp.exe),) - DJP = $(DJDIR_U)/bin/djp.exe -s -endif -endif - -.PHONY: compress - -compress: $(PROGRAMS) - ifdef DJP - $(DJP) demo/*.exe examples/*.exe setup/*.exe tests/*.exe tools/*.exe - else - @echo No executable compressor found! This target requires either the - @echo DJP or UPX utilities to be installed in your djgpp bin directory. - endif - - -# -------- test capabilities -------- - -TEST_CPP = $(CC) -fno-exceptions -c src/misc/test.cpp -o $(PLATFORM_DIR)/test.o - -include makefile.tst - - - -# -------- finally, we get to the fun part... -------- - -define MAKE_LIB - ar rs $(LIB_NAME) $(OBJECTS) -endef - -COMPILE_FLAGS = $(subst src/,-DALLEGRO_SRC ,$(findstring src/, $<))$(CFLAGS) - -$(OBJ_DIR)/%.o: %.c - $(CC) $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.cpp - $(CC) -fno-exceptions $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.s - $(CC) $(SFLAGS) -I. -I./include -x assembler-with-cpp -o $@ -c $< - -ifndef CROSSCOMPILE - -obj/djgpp/setupdat.s: setup/setup.dat tools/dat2s.exe - tools/dat2s.exe -p setup -o obj/djgpp/setupdat.s setup/setup.dat - -obj/djgpp/setupdat.o: obj/djgpp/setupdat.s - $(CC) -o obj/djgpp/setupdat.o -c obj/djgpp/setupdat.s - -$(OBJ_DIR)/setup.o: setup/setup.c - $(CC) $(COMPILE_FLAGS) -DSETUP_USE_COMPILED_DATAFILES -I. -I./include -o $(OBJ_DIR)/setup.o -c setup/setup.c - -setup/setup.exe: $(OBJ_DIR)/setup.o obj/djgpp/setupdat.o $(LIB_NAME) - $(CC) $(LFLAGS) -o setup/setup.exe $(OBJ_DIR)/setup.o obj/djgpp/setupdat.o $(LIB_NAME) - -endif - -demo/demo.exe: $(OBJECTS_DEMO) - $(CC) $(LFLAGS) -o $@ $(OBJECTS_DEMO) $(LIB_NAME) - -*/%.exe: $(OBJ_DIR)/%.o $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $< $(LIB_NAME) - -ifdef CROSSCOMPILE - -obj/djgpp/asmdef.s: src/i386/asmdef.c include/*.h include/allegro/*.h obj/djgpp/asmcapa.h - $(CC) $(WFLAGS) -I. -I./include -S -o obj/djgpp/asmdef.s src/i386/asmdef.c - -obj/djgpp/asmdef.inc: obj/djgpp/asmdef.s - if [ ! -x misc/asmdef.sh ]; then chmod a+x misc/asmdef.sh; fi - misc/asmdef.sh obj/djgpp/asmdef.s obj/djgpp/asmdef.inc - -else - -obj/djgpp/asmdef.inc: obj/djgpp/asmdef.exe - obj/djgpp/asmdef.exe obj/djgpp/asmdef.inc - -obj/djgpp/asmdef.exe: src/i386/asmdef.c include/*.h include/allegro/*.h obj/djgpp/asmcapa.h - $(CC) -O $(WFLAGS) -I. -I./include -o obj/djgpp/asmdef.exe src/i386/asmdef.c - -endif - -define LINK_WITHOUT_LIB - $(CC) $(LFLAGS) -o $@ $^ -endef - -PLUGIN_LIB = lib/djgpp/lib$(VERY_SHORT_VERSION)dat.a -PLUGIN_DEPS = $(LIB_NAME) $(PLUGIN_LIB) -PLUGIN_SCR = scr - -ifdef UNIX_TOOLS - define GENERATE_PLUGINS_H - cat tools/plugins/*.inc > $(PLUGINS_H) - endef -else - define GENERATE_PLUGINS_H - copy /B tools\plugins\*.inc $(subst /,\,$(PLUGINS_H)) - endef -endif - -define MAKE_PLUGIN_LIB - ar rs $(PLUGIN_LIB) $(PLUGIN_OBJS) -endef - -define LINK_WITH_PLUGINS - $(CC) $(LFLAGS) -o $@ $< $(strip $(PLUGIN_LIB) $(addprefix @,$(PLUGIN_SCRIPTS)) $(LIB_NAME)) -endef - - - -# -------- generate automatic dependencies -------- - -DEPEND_PARAMS = -MM -MG -I. -I./include -DSCAN_DEPEND -DALLEGRO_DJGPP - -depend: - $(CC) $(DEPEND_PARAMS) src/*.c src/dos/*.c src/c/*.c src/i386/*.c src/misc/*.c demo/*.c > _depend.tmp - $(CC) $(DEPEND_PARAMS) docs/src/makedoc/*.c examples/*.c setup/*.c tests/*.c tools/*.c tools/plugins/*.c >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x c tests/*.cpp >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x assembler-with-cpp src/i386/*.s src/c/*.s src/dos/*.s src/misc/*.s >> _depend.tmp - sed -e "s/^[a-zA-Z0-9_\/]*\///" _depend.tmp > _depend2.tmp -ifdef UNIX_TOOLS - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/alleg\/\1/" _depend2.tmp > obj/djgpp/alleg/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/alld\/\1/" _depend2.tmp > obj/djgpp/alld/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/allp\/\1/" _depend2.tmp > obj/djgpp/allp/makefile.dep - rm _depend.tmp _depend2.tmp -else - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/alleg\/\1/" _depend2.tmp > obj\djgpp\alleg\makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/alld\/\1/" _depend2.tmp > obj\djgpp\alld\makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o:\)/obj\/djgpp\/allp\/\1/" _depend2.tmp > obj\djgpp\allp\makefile.dep - del _depend.tmp - del _depend2.tmp -endif Deleted: allegro/branches/4.3/makefile.qnx =================================================================== --- allegro/branches/4.3/makefile.qnx 2006-08-14 00:25:09 UTC (rev 7462) +++ allegro/branches/4.3/makefile.qnx 2006-08-14 11:45:46 UTC (rev 7463) @@ -1,232 +0,0 @@ -# -# Rules for building the Allegro library with QNX. This file is included -# by the primary makefile, and should not be used directly. -# -# The "depend" target uses sed. -# -# See makefile.all for a list of the available targets. - - - -# -------- define some variables that the primary makefile will use -------- - -PLATFORM = QNX -CC = gcc -OBJ_DIR = obj/qnx/$(VERSION) -LIB_NAME = lib/qnx/lib$(VERSION).a -EXE = -OBJ = .o -HTML = html - -PLATFORM_DIR = obj/qnx - -UNIX_TOOLS = 1 - - - -# -------- give a sensible default target for make without any args -------- - -.PHONY: _default - -_default: default - - - -# -------- decide what compiler options to use -------- - -ifdef WARNMODE - WFLAGS = -Wall -W -Werror -Wno-unused -else - WFLAGS = -Wall -Wno-unused -endif - -ifdef TARGET_ARCH_COMPAT - TARGET_ARCH = $(GCC_MTUNE)=$(TARGET_ARCH_COMPAT) -else - ifdef TARGET_ARCH_EXCL - TARGET_ARCH = -march=$(TARGET_ARCH_EXCL) - else - TARGET_ARCH = $(GCC_MTUNE)=i586 - endif -endif - -ifndef TARGET_OPTS - TARGET_OPTS = -O2 -funroll-loops -ffast-math -endif - -OFLAGS = $(TARGET_ARCH) $(TARGET_OPTS) - -CFLAGS = -DALLEGRO_LIB_BUILD - - - -ifdef DEBUGMODE - -# -------- debugging build -------- -CFLAGS += -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -g -SFLAGS = -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -LFLAGS = -g - -else -ifdef PROFILEMODE - -# -------- profiling build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -pg -SFLAGS = $(WFLAGS) -LFLAGS = -pg - -else - -# -------- optimised build -------- -CFLAGS += $(WFLAGS) $(OFLAGS) -fomit-frame-pointer -SFLAGS = $(WFLAGS) -ifndef SYMBOLMODE - LFLAGS += -s -endif - -endif -endif - - - -# -------- list platform specific objects and programs -------- - -VPATH = src/qnx src/unix src/misc - -ifdef ALLEGRO_USE_C - -# ------ build a C-only version ------ - -VPATH += src/c -MY_OBJECTS = $(C_OBJECTS) cmiscs -CFLAGS += -DALLEGRO_NO_ASM - -else - -# ------ build the normal asm version ------ - -VPATH += src/i386 -MY_OBJECTS = $(I386_OBJECTS) - -endif # ALLEGRO_USE_C - -OBJECT_LIST = $(COMMON_OBJECTS) $(MY_OBJECTS) $(basename $(notdir $(ALLEGRO_SRC_QNX_FILES))) - -LIBRARIES = -lm -lph -lasound - - - -# -------- rules for installing and removing the library files -------- - -INSTALLDIR = /usr -LIBDIR = lib -INCDIR = include - -$(INSTALL_DIR)/lib/lib$(VERSION).a: $(LIB_NAME) - cp $(LIB_NAME) $(INSTALL_DIR)/lib - -$(INSTALL_DIR)/bin/allegro-config: - cp misc/allegro-config-qnx.sh $(INSTALL_DIR)/bin/allegro-config - chmod +x $(INSTALL_DIR)/bin/allegro-config - - -HEADERS = $(INSTALL_DIR)/include/qnxalleg.h \ - $(INSTALL_DIR)/include/allegro/platform/aintqnx.h \ - $(INSTALL_DIR)/include/allegro/platform/al386gcc.h \ - $(INSTALL_DIR)/include/allegro/platform/alqnxcfg.h \ - $(INSTALL_DIR)/include/allegro/platform/alplatf.h \ - $(INSTALL_DIR)/include/allegro/platform/astdbool.h \ - $(INSTALL_DIR)/include/allegro/platform/astdint.h \ - $(INSTALL_DIR)/include/allegro/platform/alqnx.h - -INSTALL_FILES = $(INSTALL_DIR)/lib/lib$(VERSION).a \ - $(HEADERS) \ - $(INSTALL_DIR)/bin/allegro-config - -install: generic-install - @echo The $(DESCRIPTION) $(PLATFORM) library has been installed. - -UNINSTALL_FILES = $(INSTALL_DIR)/lib/liballeg.a \ - $(INSTALL_DIR)/lib/liballd.a \ - $(INSTALL_DIR)/lib/liballp.a \ - $(HEADERS) \ - $(INSTALL_DIR)/bin/allegro-config - -uninstall: generic-uninstall - @echo All gone! - - - -# -------- test capabilities -------- - -TEST_CPP = $(CC) -fno-exceptions -c src/misc/test.cpp -o $(PLATFORM_DIR)/test.o - -include makefile.tst - - - -# -------- finally, we get to the fun part... -------- - -define MAKE_LIB - ar rs $(LIB_NAME) $(OBJECTS) -endef - -COMPILE_FLAGS = $(subst src/,-DALLEGRO_SRC ,$(findstring src/, $<))$(CFLAGS) - -$(OBJ_DIR)/%.o: %.c - $(CC) $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.cpp - $(CC) -fno-exceptions $(COMPILE_FLAGS) -I. -I./include -o $@ -c $< - -$(OBJ_DIR)/%.o: %.s - $(CC) $(SFLAGS) -I. -I./include -x assembler-with-cpp -o $@ -c $< - -demo/demo: $(OBJECTS_DEMO) $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $(OBJECTS_DEMO) $(LIB_NAME) $(LIBRARIES) - -*/%: $(OBJ_DIR)/%.o $(LIB_NAME) - $(CC) $(LFLAGS) -o $@ $< $(LIB_NAME) $(LIBRARIES) - -obj/qnx/asmdef.inc: obj/qnx/asmdef - obj/qnx/asmdef obj/qnx/asmdef.inc - -obj/qnx/asmdef: src/i386/asmdef.c include/*.h include/allegro/*.h obj/qnx/asmcapa.h - $(CC) -O $(WFLAGS) -I. -I./include -o obj/qnx/asmdef src/i386/asmdef.c - -define LINK_WITHOUT_LIB - $(CC) $(LFLAGS) -o $@ $^ -endef - -PLUGIN_LIB = lib/qnx/lib$(VERY_SHORT_VERSION)dat.a -PLUGIN_DEPS = $(LIB_NAME) $(PLUGIN_LIB) -PLUGIN_SCR = scr - -define GENERATE_PLUGINS_H - cat tools/plugins/*.inc > $(PLUGINS_H) -endef - -define MAKE_PLUGIN_LIB - ar rs $(PLUGIN_LIB) $(PLUGIN_OBJS) -endef - -define LINK_WITH_PLUGINS - $(CC) $(LFLAGS) -o $@ $< $(strip $(PLUGIN_LIB) $(addprefix @,$(PLUGIN_SCRIPTS)) $(LIB_NAME) $(LIBRARIES)) -endef - - - -# -------- generate automatic dependencies -------- - -DEPEND_PARAMS = -MM -MG -I. -I./include -DSCAN_DEPEND -DALLEGRO_QNX - -depend: - $(CC) $(DEPEND_PARAMS) src/*.c src/qnx/*.c src/unix/*.c src/i386/*.c src/misc/*.c demo/*.c > _depend.tmp - $(CC) $(DEPEND_PARAMS) docs/src/makedoc/*.c examples/*.c setup/*.c tests/*.c tools/*.c tools/plugins/*.c >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x c tests/*.cpp >> _depend.tmp - $(CC) $(DEPEND_PARAMS) -x assembler-with-cpp src/i386/*.s src/qnx/*.s src/misc/*.s >> _depend.tmp - sed -e "s/^[a-zA-Z0-9_\/]*\///" _depend.tmp > _depend2.tmp - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/qnx\/alleg\/\1/" _depend2.tmp > obj/qnx/alleg/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/qnx\/alld\/\1/" _depend2.tmp > obj/qnx/alld/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\.o *:\)/obj\/qnx\/allp\/\1/" _depend2.tmp > obj/qnx/allp/makefile.dep - rm _depend.tmp _depend2.tmp Deleted: allegro/branches/4.3/makefile.wat =================================================================== --- allegro/branches/4.3/makefile.wat 2006-08-14 00:25:09 UTC (rev 7462) +++ allegro/branches/4.3/makefile.wat 2006-08-14 11:45:46 UTC (rev 7463) @@ -1,278 +0,0 @@ -# -# Rules for building the Allegro library with Watcom. This file is -# included by the primary makefile, and should not be used directly. -# -# This build uses djgpp for building the assembler sources and calculating -# source dependencies, so you'll need to have that installed as well. -# -# The "depend" target and assembler operations use sed. -# -# See makefile.all for a list of the available targets. - - - -# -------- define some variables that the primary makefile will use -------- - -PLATFORM = Watcom -OBJ_DIR = obj/watcom/$(VERSION) -LIB_NAME = lib/watcom/$(VERSION).lib -RUNNER = obj/watcom/runner.exe -GCC = gcc -EXE = .exe -OBJ = .obj -HTML = htm - -PLATFORM_DIR = obj/watcom - -ifneq (,$(findstring bash,$(SHELL))) - UNIX_TOOLS = 1 -endif - - - -# -------- check that the WATCOM environment variable is set -------- - -.PHONY: badwatcom - -ifndef WATCOM -badwatcom: - @echo Your WATCOM environment variable is not set! -endif - -WATDIR_U = $(subst \,/,$(WATCOM)) -WATDIR_D = $(subst /,\,$(WATCOM)) - - - -# -------- try to figure out the compiler version -------- - -ifndef WATCOM_VERSION -ifeq ($(wildcard $(WATDIR_U)/binw/wdisasm.exe),) -WATCOM_VERSION=11 -else -WATCOM_VERSION=10.6 -endif -endif - - - -# -------- give a sensible default target for make without any args -------- - -.PHONY: _default - -_default: default - - - -# -------- decide what compiler options to use -------- - -ifdef WARNMODE -WFLAGS = -w3 -we -else -WFLAGS = -w1 -endif - -ifdef DEBUGMODE - -# -------- debugging build -------- - -CFLAGS = -DDEBUGMODE=$(DEBUGMODE) $(WFLAGS) -bt=dos4g -5s -s -d2 -SFLAGS = -DDEBUGMODE=$(DEBUGMODE) -Wall -LFLAGS = 'option quiet' 'option stack=128k' 'system dos4g' 'debug all' - -else -ifdef PROFILEMODE - -# -------- profiling build -------- -CFLAGS = $(WFLAGS) -bt=dos4g -5s -ox -et -SFLAGS = -Wall -LFLAGS = 'option quiet' 'option stack=128k' 'system dos4g' - -else - -# -------- optimised build -------- -CFLAGS = $(WFLAGS) -bt=dos4g -5s -ox -SFLAGS = -Wall -LFLAGS = 'option quiet' 'option stack=128k' 'system dos4g' - -endif -endif - - - -# -------- list which platform specific objects to include -------- - -VPATH = src/dos src/i386 src/misc - -OBJECT_LIST = $(COMMON_OBJECTS) $(I386_OBJECTS) \ - $(basename $(notdir $(ALLEGRO_SRC_DOS_FILES))) \ - wat - - - -# -------- rules for installing and removing the library files -------- - -INSTALLDIR = $(WATDIR_U) -LIBDIR = lib386 -INCDIR = h - - -ifdef UNIX_TOOLS - -$(WATDIR_U)/lib386/$(VERSION).lib: $(LIB_NAME) - cp lib/watcom/$(VERSION).lib $(WATDIR_U)/lib386 - -else - -$(WATDIR_U)/lib386/$(VERSION).lib: $(LIB_NAME) - copy lib\watcom\$(VERSION).lib $(WATDIR_D)\lib386 - -endif # UNIX_TOOLS - - -HEADERS = $(WATDIR_U)/h/allegro/platform/aintdos.h \ - $(WATDIR_U)/h/allegro/platform/al386wat.h \ - $(WATDIR_U)/h/allegro/platform/alwatcom.h \ - $(WATDIR_U)/h/allegro/platform/alplatf.h \ - $(WATDIR_U)/h/allegro/platform/astdbool.h \ - $(WATDIR_U)/h/allegro/platform/astdint.h \ - $(WATDIR_U)/h/allegro/platform/aldos.h - -INSTALL_FILES = $(WATDIR_U)/lib386/$(VERSION).lib \ - $(HEADERS) - -install: generic-install - @echo The $(DESCRIPTION) $(PLATFORM) library has been installed. - -UNINSTALL_FILES = $(WATDIR_U)/lib386/alleg.lib \ - $(WATDIR_U)/lib386/alld.lib \ - $(WATDIR_U)/lib386/allp.lib \ - $(HEADERS) - -uninstall: generic-uninstall - @echo All gone! - - - -# -------- test capabilities -------- - -TEST_CPP = wpp386 src\misc\test.cpp -zq -fr=nul -fo=obj\watcom\test.o - -include makefile.tst - - - -# -------- finally, we get to the fun part... -------- - -define MAKE_LIB -$(RUNNER) wlib \\ @ -q -b -n $(LIB_NAME) $(addprefix +,$(OBJECTS)) -endef - -GCC2WATCOM = -D__SW_3S -D__SW_S - -COMPILE_FLAGS = $(subst src/,-dALLEGRO_SRC ,$(findstring src/, $<))$(CFLAGS) - -$(OBJ_DIR)/%.obj: %.c $(RUNNER) - $(RUNNER) wcc386 \\ $< @ $(COMPILE_FLAGS) -zq -fr=nul -I. -I./include -fo=$@ - -$(OBJ_DIR)/%.obj: %.cpp $(RUNNER) - $(RUNNER) wpp386 \\ $< @ $(COMPILE_FLAGS) -zq -fr=nul -I. -I./include -fo=$@ - -ifeq ($(WATCOM_VERSION),11) - -# -------- Watcom 11.0 supports COFF -------- -$(OBJ_DIR)/%.obj: %.s - $(RUNNER) wcc386 \\ $< -p -I. -I./include -fo=$(OBJ_DIR)/$*.S - as -o $@ $(OBJ_DIR)/$*.S -ifdef UNIX_TOOLS - rm $(OBJ_DIR)/$*.S -else - del $(subst /,\,$(OBJ_DIR)/$*.S) -endif - -else - -# -------- black magic to build asm sources with Watcom 10.6 -------- -$(OBJ_DIR)/%.obj: %.s $(RUNNER) - $(RUNNER) wcc386 \\ $< -p -I. -I./include -fo=$(OBJ_DIR)/$*.S - as -o $(OBJ_DIR)/$*.o $(OBJ_DIR)/$*.S -ifdef UNIX_TOOLS - rm $(OBJ_DIR)/$*.S -else - del $(subst /,\,$(OBJ_DIR)/$*.S) -endif - $(RUNNER) wdisasm \\ -a $(OBJ_DIR)/$*.o -l=$(OBJ_DIR)/$*.lst - sed -e "s/\.text/_TEXT/; s/\.data/_DATA/; s/\.bss/_BSS/; s/\.386/\.586/; s/lar *ecx,cx/lar ecx,ecx/; s/ORG [0-9]*H/ORG 00000000H/" $(OBJ_DIR)/$*.lst > $(OBJ_DIR)/$*.asm - $(RUNNER) wasm \\ $(WFLAGS) -zq -fr=nul -fp3 -fo=$@ $(OBJ_DIR)/$*.asm - -$(OBJ_DIR)/iscanmmx.obj: iscanmmx.s $(RUNNER) - $(RUNNER) echo \\ END > $(OBJ_DIR)/iscanmmx.asm - $(RUNNER) wasm \\ $(WFLAGS) -zq -fr=nul -fp3 -fo=$(OBJ_DIR)/iscanmmx.obj $(OBJ_DIR)/iscanmmx.asm - -endif - -demo/demo.exe: $(OBJ_DIR)/demo.obj - $(RUNNER) wlink \\ @ $(LFLAGS) 'name $@' $(patsubst %,'file %',$(OBJECTS_DEMO)) 'library $(LIB_NAME)' - -*/%.exe: $(OBJ_DIR)/%.obj $(LIB_NAME) $(RUNNER) - $(RUNNER) wlink \\ @ $(LFLAGS) 'name $@' 'file $<' 'library $(LIB_NAME)' - -obj/watcom/asmdef.inc: obj/watcom/asmdef.exe - obj/watcom/asmdef.exe obj/watcom/asmdef.inc - -obj/watcom/asmdef.exe: src/i386/asmdef.c include/*.h include/allegro/*.h $(RUNNER) - wcl386 $(WFLAGS) -zq -fr=nul -bt=dos4g -5s -s -I. -I.\\include -fo=obj\\watcom\\asmdef.obj -fe=obj\\watcom\\asmdef.exe src\\i386\\asmdef.c - -obj/watcom/runner.exe: src/misc/runner.c - $(GCC) -O -Wall -Werror -o obj/watcom/runner.exe src/misc/runner.c - -define LINK_WITHOUT_LIB - $(RUNNER) wlink \\ @ $(LFLAGS) 'name $@' '$(addprefix file ,$^)' -endef - -PLUGIN_LIB = lib/watcom/$(VERY_SHORT_VERSION)dat.lib -PLUGIN_DEPS = $(LIB_NAME) $(PLUGIN_LIB) $(RUNNER) -PLUGIN_SCR = scw - -ifdef UNIX_TOOLS - define GENERATE_PLUGINS_H - cat tools/plugins/*.inc > $(PLUGINS_H) - endef -else - define GENERATE_PLUGINS_H - copy /B tools\plugins\*.inc $(subst /,\,$(PLUGINS_H)) - endef -endif - -define MAKE_PLUGIN_LIB -$(RUNNER) wlib \\ @ -q -b -n $(PLUGIN_LIB) $(addprefix +,$(PLUGIN_OBJS)) -endef - -define LINK_WITH_PLUGINS -$(RUNNER) wlink \\ @ $(LFLAGS) 'name $@' 'file $<' $(strip 'library $(PLUGIN_LIB)' $(addprefix @,$(PLUGIN_SCRIPTS)) 'library $(LIB_NAME)') -endef - - - -# -------- generate automatic dependencies -------- - -DEPEND_PARAMS = -MM -MG -I. -I./include -DSCAN_DEPEND -DALLEGRO_WATCOM - -depend: - $(GCC) $(DEPEND_PARAMS) src/*.c src/dos/*.c src/compat/*.c src/i386/*.c src/misc/*.c demo/*.c > _depend.tmp - $(GCC) $(DEPEND_PARAMS) docs/src/makedoc/*.c examples/*.c setup/*.c tests/*.c tools/*.c tools/plugins/*.c >> _depend.tmp - $(GCC) $(DEPEND_PARAMS) -x c tests/*.cpp >> _depend.tmp - $(GCC) $(DEPEND_PARAMS) -x assembler-with-cpp src/i386/*.s src/dos/*.s src/misc/*.s >> _depend.tmp - sed -e "s/^[a-zA-Z0-9_\/]*\///" _depend.tmp > _depend2.tmp -ifdef UNIX_TOOLS - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/alleg\/\1\.obj:/" _depend2.tmp > obj/watcom/alleg/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/alld\/\1\.obj:/" _depend2.tmp > obj/watcom/alld/makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/allp\/\1\.obj:/" _depend2.tmp > obj/watcom/allp/makefile.dep - rm _depend.tmp _depend2.tmp -else - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/alleg\/\1\.obj:/" _depend2.tmp > obj\watcom\alleg\makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/alld\/\1\.obj:/" _depend2.tmp > obj\watcom\alld\makefile.dep - sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/watcom\/allp\/\1\.obj:/" _depend2.tmp > obj\watcom\allp\makefile.dep - del _depend.tmp - del _depend2.tmp -endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2006-09-02 15:29:35
|
Revision: 7512 http://svn.sourceforge.net/alleg/?rev=7512&view=rev Author: kazzmir Date: 2006-09-02 08:29:29 -0700 (Sat, 02 Sep 2006) Log Message: ----------- Install library to lib/unix so it doesnt have to be moved/copied later Modified Paths: -------------- allegro/branches/4.3/SConstruct allegro/branches/4.3/scons/all.scons allegro/branches/4.3/scons/unix.scons Modified: allegro/branches/4.3/SConstruct =================================================================== --- allegro/branches/4.3/SConstruct 2006-09-01 00:33:34 UTC (rev 7511) +++ allegro/branches/4.3/SConstruct 2006-09-02 15:29:29 UTC (rev 7512) @@ -148,7 +148,7 @@ def getAllegroTarget(self,debug,static): def build(function,lib,dir): - return function(lib, appendDir(dir, self.librarySource)) + return function(self.getLibraryDir() + '/' + lib, appendDir(dir, self.librarySource)) def buildStatic(env,debug,dir): env.BuildDir(dir, 'src', duplicate = 0) @@ -269,7 +269,8 @@ # m = context.getLibraryEnv().Move(context.getLibraryDir(),library) # m = context.getLibraryEnv().Move(context.getLibraryDir(), library) -install_to_lib_dir = XMove(context.getLibraryEnv(), context.getLibraryDir(), library) +# install_to_lib_dir = XMove(context.getLibraryEnv(), context.getLibraryDir(), library) +# install_to_lib_dir = Install(context.getLibraryDir(),library) if False: for i in Flatten(library): @@ -330,7 +331,7 @@ # that was used to build allegro but only link in liballeg extraEnv = context.getExampleEnv().Copy() # liballeg = getLibraryName(debug) -extraEnv.Append(LIBPATH = [ context.getLibraryDir() ]) +# extraEnv.Append(LIBPATH = [ context.getLibraryDir() ]) if not static: extraEnv.Replace(LIBS = [context.getLibraries()]) else: @@ -341,6 +342,6 @@ extraTargets.append(func(extraEnv,appendDir,normalBuildDir,context.getLibraryDir())) extraTargets.append(plugins_h) -Default(install_to_lib_dir, extraTargets, docs) +Default(library, extraTargets, docs) -Depends(install_to_lib_dir,extraTargets) +# Depends(library,extraTargets) Modified: allegro/branches/4.3/scons/all.scons =================================================================== --- allegro/branches/4.3/scons/all.scons 2006-09-01 00:33:34 UTC (rev 7511) +++ allegro/branches/4.3/scons/all.scons 2006-09-02 15:29:29 UTC (rev 7512) @@ -163,6 +163,7 @@ datEnv = env.Copy() # datEnv.Append(LIBPATH = '.') datEnv.Prepend(LIBS = 'aldat') + datEnv.Append(LIBPATH = libDir) def addDatTool(name,files): tool = datEnv.Program('tools/' + name, appendDir(buildDir + '/tools/', files)) Alias(name, tool) Modified: allegro/branches/4.3/scons/unix.scons =================================================================== --- allegro/branches/4.3/scons/unix.scons 2006-09-01 00:33:34 UTC (rev 7511) +++ allegro/branches/4.3/scons/unix.scons 2006-09-02 15:29:29 UTC (rev 7512) @@ -305,6 +305,9 @@ uxthread.c """)); +def supportModules(): + return True + if platform["ALLEGRO_WITH_ESDDIGI"][0]: def buildESD(menv,appendDir,buildDir,libDir): esdEnv = menv.Copy() @@ -399,6 +402,10 @@ dict[ '@INCLUDE_PREFIX@' ] = ARGUMENTS.get( 'prefix', '/usr/local/' ) dict[ '@LINK_WITH_STATIC_LIBS@' ] = 'something' dict[ '@LIB_TO_LINK@' ] = 'alleg' + ldflags = '' + if supportModules(): + ldflags = '-Wl,--export-dynamic' + print env[ 'LIBPATH' ] dict[ '@LDFLAGS@' ] = 'something' dict[ '@LIBS@' ] = ' '.join(['-l' + x for x in unixLibs]) dict[ '@FRAMEWORKS@' ] = 'something' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2006-09-02 16:42:11
|
Revision: 7513 http://svn.sourceforge.net/alleg/?rev=7513&view=rev Author: kazzmir Date: 2006-09-02 09:42:08 -0700 (Sat, 02 Sep 2006) Log Message: ----------- Add installer for unix Modified Paths: -------------- allegro/branches/4.3/SConstruct allegro/branches/4.3/scons/unix.scons Modified: allegro/branches/4.3/SConstruct =================================================================== --- allegro/branches/4.3/SConstruct 2006-09-02 15:29:29 UTC (rev 7512) +++ allegro/branches/4.3/SConstruct 2006-09-02 16:42:08 UTC (rev 7513) @@ -68,8 +68,12 @@ try: os.mkdir("build") except OSError: pass +majorVersion = '4' +minorVersion = '3' +microVersion = '0' + ## Version of Allegro -allegroVersion = '4.3.0' +allegroVersion = '%s.%s.%s' % (majorVersion,minorVersion,microVersion) def getPlatform(): return sys.platform @@ -86,8 +90,14 @@ def __init__(self): self.librarySource = [] self.extraTargets = [] + self.installDir = "tmp" self.libDir = "lib/dummy" self.libraryEnv = Environment() + + ## Each platform should set its own install function + ## install :: library -> list of targets + self.install = lambda lib: [] + # Platform specific scons scripts should set the example env via # setExampleEnv(). In most cases the library env can be used: # context.setExampleEnv(context.getLibraryEnv().Copy()) @@ -107,6 +117,9 @@ def getLibraries(self): return self.libraries + def setInstaller(self,installer): + self.install = installer + def getLibraryDir(self): return self.libDir @@ -119,9 +132,24 @@ def setEnvs(self): self.envs = [self.libraryEnv,self.exampleEnv] + def getMajorVersion(self): + return majorVersion + + def getMinorVersion(self): + return minorVersion + + def getMicroVersion(self): + return microVersion + def getAllegroVersion(self): return allegroVersion + def getInstallDir(self): + return self.installDir + + def setInstallDir(self,dir): + self.installDir = dir + def addExtra(self,func): self.extraTargets.append(func) @@ -345,3 +373,5 @@ Default(library, extraTargets, docs) # Depends(library,extraTargets) + +Alias('install', context.install(library)) Modified: allegro/branches/4.3/scons/unix.scons =================================================================== --- allegro/branches/4.3/scons/unix.scons 2006-09-02 15:29:29 UTC (rev 7512) +++ allegro/branches/4.3/scons/unix.scons 2006-09-02 16:42:08 UTC (rev 7513) @@ -116,7 +116,7 @@ useArch = True if config.CheckMTune(machine): - archFlag = '-mtune=' + archFlag = '-mtune=' if useArch: config.env.Append( CCFLAGS = [archFlag + machine] ) @@ -313,7 +313,9 @@ esdEnv = menv.Copy() esdEnv.ParseConfig('esd-config --libs') sources = ["uesd.c"] - return esdEnv.SharedLibrary(libDir + "/alleg-esddigi",appendDir(buildDir + "/unix/", sources)) + lib = esdEnv.SharedLibrary(libDir + "/alleg-esddigi",appendDir(buildDir + "/unix/", sources)) + modules.append(lib) + return lib context.addExtra(buildESD) if platform["ALLEGRO_WITH_ALSADIGI"][0]: @@ -321,7 +323,9 @@ alsaEnv = menv.Copy() alsaEnv.Append(LIBS = "asound") sources = ["alsa5.c", "alsa9.c"] - return alsaEnv.SharedLibrary(libDir + "/alleg-alsadigi",appendDir(buildDir + "/unix/", sources)) + lib = alsaEnv.SharedLibrary(libDir + "/alleg-alsadigi",appendDir(buildDir + "/unix/", sources)) + modules.append(lib) + return lib context.addExtra(buildAlsa) if platform["ALLEGRO_WITH_ALSAMIDI"][0]: @@ -329,9 +333,13 @@ alsaEnv = menv.Copy() alsaEnv.Append(LIBS = "asound") sources = ["alsamidi.c"] - return alsaEnv.SharedLibrary(libDir + "/alleg-alsamidi",appendDir(buildDir + "/unix/", sources)) + lib = alsaEnv.SharedLibrary(libDir + "/alleg-alsamidi",appendDir(buildDir + "/unix/", sources)) + modules.append(lib) + return lib context.addExtra(buildAlsa) +modules = [] + # This might be broken. asmdefs.inc isnt generated until after svgalibs.s # is compiled, but svgalib.s depends on asmdefs.inc. Either this dependancy # needs to be fixed from scons or asmdefs.inc should be moved/generated elsewhere @@ -340,22 +348,22 @@ vgaEnv = menv.Copy() vgaEnv.Append(LIBS = "vga") - # asmdef environment doesnt need extra libraries - asmdefEnv = menv.Copy() - asmdefEnv.Replace(LIBS = []) - asmdef_inc = 'obj/unix/asmdef.inc' - asmdef = asmdefEnv.Program(buildDir + '/asmdef', buildDir + '/i386/asmdef.c') - # Produce asmdef.inc from asmdef - vgaEnv.Command(asmdef_inc,asmdef,'$SOURCE $TARGET') + # asmdef environment doesnt need extra libraries + asmdefEnv = menv.Copy() + asmdefEnv.Replace(LIBS = []) + asmdef_inc = 'obj/unix/asmdef.inc' + asmdef = asmdefEnv.Program(buildDir + '/asmdef', buildDir + '/i386/asmdef.c') + # Produce asmdef.inc from asmdef + vgaEnv.Command(asmdef_inc,asmdef,'$SOURCE $TARGET') sources = ["svgalib.c"] - # svgalibs.s must explicitly depend on asmdef.inc. we can - # set that up by getting the resulting object file and set the - # dependancy with Depends(target,source) - assembler_object = vgaEnv.SharedObject(appendDir(buildDir + "/linux/",['svgalibs.s'])) + # svgalibs.s must explicitly depend on asmdef.inc. we can + # set that up by getting the resulting object file and set the + # dependancy with Depends(target,source) + assembler_object = vgaEnv.SharedObject(appendDir(buildDir + "/linux/",['svgalibs.s'])) vgaEnv.Depends(assembler_object,asmdef_inc) lib = vgaEnv.SharedLibrary(libDir + "/alleg-svgalib",appendDir(buildDir + "/linux/", ['svgalib.c']) + [assembler_object]) - + modules.append(lib) return lib context.addExtra(buildSVGA) @@ -364,16 +372,23 @@ artsEnv = menv.Copy() artsEnv.ParseConfig("artsc-config --libs") sources = ["arts.c"] - return artsEnv.SharedLibrary(libDir + "/alleg-artsdigi",appendDir(buildDir + "/unix/", sources)) + lib = artsEnv.SharedLibrary(libDir + "/alleg-artsdigi",appendDir(buildDir + "/unix/", sources)) + modules.append(lib) + return lib context.addExtra(buildAlsa) if platform["ALLEGRO_LINUX_FBCON"][0]: def buildFBCon(menv,appendDir,buildDir,libDir): sources = ["fbcon.c"] - return menv.SharedLibrary(libDir + "/alleg-fbcon",appendDir(buildDir + "/linux/", sources)) + lib = menv.SharedLibrary(libDir + "/alleg-fbcon",appendDir(buildDir + "/linux/", sources)) + modules.append(lib) + return lib context.addExtra(buildFBCon) -if platform["ALLEGRO_WITH_XWINDOWS"][0]: +def haveXWindows(): + return platform["ALLEGRO_WITH_XWINDOWS"][0] + +if haveXWindows(): context.addFiles("x/", Split(""" xgfxdrv.c xkeyboard.c @@ -395,6 +410,10 @@ context.addExtra(tools) +## return a list of modules +def getModules(): + return modules + def allegroConfig(env,appendDir,buildDir,libDir): """Builds the allegro-config shell script out of misc/allegro-config.in""" dict = {} @@ -404,8 +423,8 @@ dict[ '@LIB_TO_LINK@' ] = 'alleg' ldflags = '' if supportModules(): - ldflags = '-Wl,--export-dynamic' - print env[ 'LIBPATH' ] + ldflags = '-Wl,--export-dynamic' + print env[ 'LIBPATH' ] dict[ '@LDFLAGS@' ] = 'something' dict[ '@LIBS@' ] = ' '.join(['-l' + x for x in unixLibs]) dict[ '@FRAMEWORKS@' ] = 'something' @@ -427,6 +446,29 @@ configure = Builder( action = replaceVars, name = "ConfigureBuilder" ) env.Append(BUILDERS = { "Configure" : configure }) return env.Configure( 'allegro-config', '#misc/allegro-config.in' ) + +def install(library): + env = context.getLibraryEnv() + ## list of files to be installed + ret = [] + ## add a file to be installed + def add(dir,file): + ret.append(env.Install(context.getInstallDir() + '/' + dir, file)) + add('lib',library) + for root, dirs, files in os.walk('include/allegro'): + import re + for i in files: + if re.compile('.*((\.h)|(\.inl))\Z').match(i): + add(root,'#' + os.path.join(root,i)) + if haveXWindows(): + add('include','#include/xalleg.h') + add('include','#include/allegro.h') + add('include','#include/linalleg.h') + for i in getModules(): + add('lib/%s.%s' % (context.getMajorVersion(),context.getMinorVersion()),i) + return ret + +context.setInstaller(install) context.addExtra(allegroConfig) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2006-09-03 02:35:16
|
Revision: 7518 http://svn.sourceforge.net/alleg/?rev=7518&view=rev Author: kazzmir Date: 2006-09-02 19:35:12 -0700 (Sat, 02 Sep 2006) Log Message: ----------- Use scons options to configure the build system Modified Paths: -------------- allegro/branches/4.3/SConstruct allegro/branches/4.3/scons/unix.scons Modified: allegro/branches/4.3/SConstruct =================================================================== --- allegro/branches/4.3/SConstruct 2006-09-03 02:14:33 UTC (rev 7517) +++ allegro/branches/4.3/SConstruct 2006-09-03 02:35:12 UTC (rev 7518) @@ -39,18 +39,6 @@ return """ scons [options] [targets] -Possible options: -config=1 : Rerun the configure checks( UNIX only ) -static=1|0 : If static=1 is supplied a static Allegro library will be built and all extra programs will link using this library -debug=1|0 : If debug=1 is supplied a debug Allegro library will be built and all extra programs will link using this library -E.g: -Build liballeg.a and link with this -$ scons static=1 -Build liballeg.a in debug mode and link with this -$ scons debug=1 static=1 -Build liballeg.so in debug mode and link with this -$ scons debug=1 - Possible targets are: debug-static : Build a static library with debug mode on debug-shared : Build a shared library with debug mode on @@ -60,6 +48,9 @@ examples : Build all the examples docs : Build the docs demo : Build the demo +install : Install Allegro + +To turn an option on use the form option=1. Possible options are: """ Help(allegroHelp()) @@ -87,20 +78,20 @@ class AllegroContext: """This is simply a class to hold together all the various build info.""" - def __init__(self): + def __init__(self,env): self.librarySource = [] self.extraTargets = [] - self.installDir = "tmp" + self.installDir = "tmp" self.libDir = "lib/dummy" - self.libraryEnv = Environment() + self.libraryEnv = env - ## Each platform should set its own install function - ## install :: library -> list of targets - self.install = lambda lib: [] + ## Each platform should set its own install function + ## install :: library -> list of targets + self.install = lambda lib: [] - # Platform specific scons scripts should set the example env via - # setExampleEnv(). In most cases the library env can be used: - # context.setExampleEnv(context.getLibraryEnv().Copy()) + # Platform specific scons scripts should set the example env via + # setExampleEnv(). In most cases the library env can be used: + # context.setExampleEnv(context.getLibraryEnv().Copy()) self.exampleEnv = False # libraries - list of libraries to link into Allegro test/example programs # Usually is just liballeg.so/dylib/dll but could also be something @@ -169,7 +160,7 @@ def setExampleEnv(self,env): self.exampleEnv = env - self.setEnvs() + self.setEnvs() def addFiles(self,dir,fileList): self.librarySource.extend(appendDir(dir,fileList)) @@ -215,6 +206,15 @@ #def sourceFiles(dir, files): # return map(lambda x: dir + '/' + x, files) +def defaultEnvironment(): + env = Environment() + opts = Options('options.py', ARGUMENTS) + opts.Add('static', 'Set Allegro to be built statically', 0) + opts.Add('debug', 'Build the debug version of Allegro', 0) + opts.Update(env) + opts.Save('options.py',env) + Help(opts.GenerateHelpText(env)) + return env # Subsequent scons files can call addExtra to add arbitrary targets # that will be evaluated in this file @@ -225,7 +225,8 @@ # files - list of files that compose the Allegro library # dir - directory where the library( dll, so ) should end up def getAllegroContext(): - context = AllegroContext() + context = AllegroContext(defaultEnvironment()) + file = "" if getPlatform() == "openbsd3": file = 'scons/bsd.scons' @@ -256,8 +257,10 @@ else: return 'alleg-' + context.getAllegroVersion() -debug = int(ARGUMENTS.get('debug',0)) -static = int(ARGUMENTS.get('static',0)) +# debug = int(ARGUMENTS.get('debug',0)) +# static = int(ARGUMENTS.get('static',0)) +debug = int(context.getLibraryEnv()['debug']) +static = int(context.getLibraryEnv()['static']) if debug: normalBuildDir = debugBuildDir @@ -300,14 +303,6 @@ # install_to_lib_dir = XMove(context.getLibraryEnv(), context.getLibraryDir(), library) # install_to_lib_dir = Install(context.getLibraryDir(),library) -if False: - for i in Flatten(library): - # Execute(Move(context.getLibraryDir(), str(i))) - f = str(i) - to = context.getLibraryDir() + '/' + str(i) - print "Moving %s to %s" % (f,to) - Execute(Action(os.rename(f,to))) - # Execute(Move(context.getLibraryDir(), library)) # Execute(Action(os.rename(library,context.getLibraryDir() + '/' + library))) Modified: allegro/branches/4.3/scons/unix.scons =================================================================== --- allegro/branches/4.3/scons/unix.scons 2006-09-03 02:14:33 UTC (rev 7517) +++ allegro/branches/4.3/scons/unix.scons 2006-09-03 02:35:12 UTC (rev 7518) @@ -8,12 +8,39 @@ context.setLibraryDir("lib/unix") -def getOption(name, default): +opts = Options('options-unix.py', ARGUMENTS) +opts.Add('color8', 'Enable 8 bit color', 1) +opts.Add('color16', 'Enable 16 bit color', 1) +opts.Add('color24', 'Enable 24 bit color', 1) +opts.Add('color32', 'Enable 32 bit color', 1) +opts.AddOptions(PathOption('install', 'Installation directory', '/usr/local/lib')) +opts.Add('magic_main', 'Use magic main', 0) +opts.Add('no_asm', 'Disable asm', 1) +opts.Add('vbeaf', 'Enable VBEAF', 0) +opts.Add('vga', 'Enable VGA', 0) +opts.Update(context.getLibraryEnv()) +opts.Save('options-unix.py',context.getLibraryEnv()) +Help(opts.GenerateHelpText(context.getLibraryEnv())) +Help(""" +config: (Re)configure Allegro. You will need to set this to 1 if you wish to enable/disable parts of allegro such as color8=0 + default: 0 + actual: 0 +"""); + +def isStatic(): + return int(context.getLibraryEnv()['static']) == 1 + +def getOption(name, default = 0): + return context.getLibraryEnv()[name] + +def getArgumentOption(name, default): arg = ARGUMENTS.get(name,default) if arg == "yes" or arg == "1": return 1 return 0 +config = getArgumentOption('config','0') + def OnX86(): uname = os.uname() import re @@ -59,7 +86,7 @@ # Should this be default? # 2/19/2006 - Only configure if config=1 is given or the .h/.cfg file is missing noconfig = False -if not getOption("config",0): +if not getArgumentOption("config",0): if os.path.exists("include/allegro/platform/alunixac.h") and \ os.path.exists("build/settings.cfg"): print "Re-using old settings" @@ -308,6 +335,8 @@ def supportModules(): return True +modules = [] + if platform["ALLEGRO_WITH_ESDDIGI"][0]: def buildESD(menv,appendDir,buildDir,libDir): esdEnv = menv.Copy() @@ -338,7 +367,6 @@ return lib context.addExtra(buildAlsa) -modules = [] # This might be broken. asmdefs.inc isnt generated until after svgalibs.s # is compiled, but svgalib.s depends on asmdefs.inc. Either this dependancy @@ -469,7 +497,7 @@ ret = [] ## add a file to be installed def add(dir,file): - ret.append(env.Install(context.getInstallDir() + '/' + dir, file)) + ret.append(env.Install(getOption('install') + '/' + dir, file)) add('lib',library) for root, dirs, files in os.walk('include/allegro'): import re This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-10-29 04:23:51
|
Revision: 7554 http://svn.sourceforge.net/alleg/?rev=7554&view=rev Author: tjaden Date: 2006-10-28 21:23:31 -0700 (Sat, 28 Oct 2006) Log Message: ----------- Peter Wang fixed a long standing bug where some compressed packfiles would not be read back properly (premature EOF). Reported by jman2050 on http://www.allegro.cc/forums/thread/587170 The problem was that the packfile code keeps a `todo' count of the number of bytes in the input file left to read, and if this count dropped to zero it would think it reached the EOF. However, when doing LZSS decompression the todo count could be zero, but there may be bytes still remaining in the _decompressed_ stream because, in the previous pass, the decompressor didn't have enough buffer space to write it all out. [merge 4.2 to 4.3] Modified Paths: -------------- allegro/branches/4.3/include/allegro/internal/aintern.h allegro/branches/4.3/src/file.c allegro/branches/4.3/src/lzss.c Modified: allegro/branches/4.3/include/allegro/internal/aintern.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern.h 2006-10-29 04:22:22 UTC (rev 7553) +++ allegro/branches/4.3/include/allegro/internal/aintern.h 2006-10-29 04:23:31 UTC (rev 7554) @@ -136,7 +136,9 @@ AL_VAR(int, _packfile_type); AL_FUNC(PACKFILE *, _pack_fdopen, (int fd, AL_CONST char *mode)); +AL_FUNC(int, _al_lzss_incomplete_state, (AL_CONST LZSS_UNPACK_DATA *dat)); + /* config stuff */ void _reload_config(void); Modified: allegro/branches/4.3/src/file.c =================================================================== --- allegro/branches/4.3/src/file.c 2006-10-29 04:22:22 UTC (rev 7553) +++ allegro/branches/4.3/src/file.c 2006-10-29 04:23:31 UTC (rev 7554) @@ -2687,6 +2687,28 @@ +/* normal_no_more_input: + * Return non-zero if the number of bytes remaining in the file (todo) is + * less than or equal to zero. + * + * However, there is a special case. If we are reading from a LZSS + * compressed file, the latest call to lzss_read() may have suspended while + * writing out a sequence of bytes due to the output buffer being too small. + * In that case the `todo' count would be decremented (possibly to zero), + * but the output isn't yet completely written out. + */ +static INLINE int normal_no_more_input(PACKFILE *f) +{ + /* see normal_refill_buffer() to see when lzss_read() is called */ + if (f->normal.parent && (f->normal.flags & PACKFILE_FLAG_PACK) && + _al_lzss_incomplete_state(f->normal.unpack_data)) + return 0; + + return (f->normal.todo <= 0); +} + + + static int normal_getc(void *_f) { PACKFILE *f = _f; @@ -2696,7 +2718,7 @@ return *(f->normal.buf_pos++); if (f->normal.buf_size == 0) { - if (f->normal.todo <= 0) + if (normal_no_more_input(f)) f->normal.flags |= PACKFILE_FLAG_EOF; return *(f->normal.buf_pos++); } @@ -2789,7 +2811,7 @@ f->normal.buf_size -= i; f->normal.buf_pos += i; offset -= i; - if ((f->normal.buf_size <= 0) && (f->normal.todo <= 0)) + if ((f->normal.buf_size <= 0) && normal_no_more_input(f)) f->normal.flags |= PACKFILE_FLAG_EOF; } @@ -2814,7 +2836,7 @@ lseek(f->normal.hndl, i, SEEK_CUR); } f->normal.todo -= i; - if (f->normal.todo <= 0) + if (normal_no_more_input(f)) f->normal.flags |= PACKFILE_FLAG_EOF; } } @@ -2856,7 +2878,7 @@ if (f->normal.flags & PACKFILE_FLAG_EOF) return EOF; - if (f->normal.todo <= 0) { + if (normal_no_more_input(f)) { f->normal.flags |= PACKFILE_FLAG_EOF; return EOF; } @@ -2907,7 +2929,7 @@ f->normal.buf_pos = f->normal.buf; f->normal.buf_size--; if (f->normal.buf_size <= 0) - if (f->normal.todo <= 0) + if (normal_no_more_input(f)) f->normal.flags |= PACKFILE_FLAG_EOF; if (f->normal.buf_size < 0) Modified: allegro/branches/4.3/src/lzss.c =================================================================== --- allegro/branches/4.3/src/lzss.c 2006-10-29 04:22:22 UTC (rev 7553) +++ allegro/branches/4.3/src/lzss.c 2006-10-29 04:23:31 UTC (rev 7554) @@ -547,3 +547,15 @@ return size; } + + + +/* _al_lzss_incomplete_state: + * Return non-zero if the previous lzss_read() call was in the middle of + * unpacking a sequence of bytes into the supplied buffer, but had to suspend + * because the buffer wasn't big enough. + */ +int _al_lzss_incomplete_state(AL_CONST LZSS_UNPACK_DATA *dat) +{ + return dat->state == 2; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-10-29 04:34:30
|
Revision: 7557 http://svn.sourceforge.net/alleg/?rev=7557&view=rev Author: tjaden Date: 2006-10-28 21:33:29 -0700 (Sat, 28 Oct 2006) Log Message: ----------- Merge some miscellaneous things from 4.2 to 4.3 (doc fixes, busy waiting in examples, SCAN_DEPEND problems, etc.) Modified Paths: -------------- allegro/branches/4.3/docs/src/allegro._tx allegro/branches/4.3/docs/src/thanks._tx allegro/branches/4.3/examples/exkeys.c allegro/branches/4.3/examples/exlights.c allegro/branches/4.3/examples/exsprite.c allegro/branches/4.3/examples/extrans.c allegro/branches/4.3/examples/exunicod.c allegro/branches/4.3/misc/release.txt allegro/branches/4.3/misc/zipup.sh allegro/branches/4.3/src/i386/icsprite.c allegro/branches/4.3/src/pcx.c Modified: allegro/branches/4.3/docs/src/allegro._tx =================================================================== --- allegro/branches/4.3/docs/src/allegro._tx 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/docs/src/allegro._tx 2006-10-29 04:33:29 UTC (rev 7557) @@ -3736,11 +3736,12 @@ @xref JOY_TYPE_*/DOS, JOY_TYPE_*/Windows, JOY_TYPE_*/Linux @eref exjoy @shortdesc Initialises the joystick. - Initialises the joystick, and calibrates the centre position value. The - type parameter should usually be JOY_TYPE_AUTODETECT, or see the platform - specific documentation for a list of the available drivers. You must call - this routine before using any other joystick functions, and you should - make sure that the joystick is in the middle position at the time. Example: + Installs Allegro's joystick handler, and calibrates the centre position + values. The type parameter should usually be JOY_TYPE_AUTODETECT, or see + the platform specific documentation for a list of the available drivers. + You must call this routine before using any other joystick functions, and + you should make sure that all joysticks are in the middle position at the + time. Example: <codeblock> textout_centre_ex(screen, font, "Center the joystick and press a key", @@ -3766,8 +3767,8 @@ @xref install_joystick, joy, num_joysticks @eref exjoy @shortdesc Polls the joystick. - The joystick is not interrupt driven, so you need to call this function - every now and again to update the global position values. Example: + The joystick handler is not interrupt driven, so you need to call this + function every now and again to update the global position values. Example: <codeblock> do { /* Get joystick input */ @@ -3790,7 +3791,7 @@ @eref exjoy @shortdesc Global variable saying how many joysticks there are. Global variable containing the number of active joystick devices. The - current drivers support a maximum of four controllers. + current drivers support a maximum of eight controllers. @@extern JOYSTICK_INFO @joy[n]; @xref install_joystick, poll_joystick, num_joysticks, calibrate_joystick @@ -3908,7 +3909,7 @@ @xref install_joystick, calibrate_joystick, joy, num_joysticks @eref exjoy @shortdesc Returns the next calibration text string. - As parameter pass the number of joystick you want to calibrate. + Pass the number of the joystick you want to calibrate as the parameter. @retval Returns a text description for the next type of calibration that will be done on the specified joystick, or NULL if no more calibration is Modified: allegro/branches/4.3/docs/src/thanks._tx =================================================================== --- allegro/branches/4.3/docs/src/thanks._tx 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/docs/src/thanks._tx 2006-10-29 04:33:29 UTC (rev 7557) @@ -133,7 +133,8 @@ P3D library. Bobby Ferris (<email>ba...@ba...</a>).<br> - Added the SciTE API output format to makedoc. + Added the SciTE API output format to makedoc and temporarily hosted + Allegro's SVN repository while SourceForge's SVN was in beta. Burton Radons (<email>lo...@ge...</a>).<br> Optimised the truecolor pixel blending function, converted the blenders Modified: allegro/branches/4.3/examples/exkeys.c =================================================================== --- allegro/branches/4.3/examples/exkeys.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/examples/exkeys.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -97,6 +97,7 @@ if (allegro_init() != 0) return 1; install_keyboard(); + install_timer(); if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) != 0) { if (set_gfx_mode(GFX_SAFE, 640, 480, 0, 0) != 0) { Modified: allegro/branches/4.3/examples/exlights.c =================================================================== --- allegro/branches/4.3/examples/exlights.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/examples/exlights.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -397,7 +397,7 @@ } -#else +#elif !defined SCAN_DEPEND #ifndef SCAN_DEPEND #error Unknown endianess! #endif Modified: allegro/branches/4.3/examples/exsprite.c =================================================================== --- allegro/branches/4.3/examples/exsprite.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/examples/exsprite.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -70,9 +70,10 @@ { /* Wait for animation timer. */ while (frame > ticks) { - /* Avoid a spinlock. */ + /* Avoid busy wait. */ rest(1); } + /* Ideally, instead of using a timer, we would set the monitor refresh rate * to a multiple of the animation speed, and synchronize with the vertical * blank interrupt (vsync) - to get a completely smooth animation. But this Modified: allegro/branches/4.3/examples/extrans.c =================================================================== --- allegro/branches/4.3/examples/extrans.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/examples/extrans.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -131,6 +131,9 @@ blit(s, screen, 0, 0, SCREEN_W/2 - 160, SCREEN_H/2 - 100, 320, 200); + /* reduce CPU usage */ + rest(20); + } while (!keypressed()); clear_keybuf(); @@ -162,6 +165,9 @@ blit(s, screen, 0, 0, SCREEN_W/2 - 160, SCREEN_H/2 - 100, 320, 200); + /* reduce CPU usage */ + rest(20); + } while (!keypressed()); clear_keybuf(); Modified: allegro/branches/4.3/examples/exunicod.c =================================================================== --- allegro/branches/4.3/examples/exunicod.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/examples/exunicod.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -86,7 +86,7 @@ char allegro_str[] = "\x00\x41\x00\x6c\x00\x6c\x00\x65\x00\x67\x00\x72\x00\x6f\x00\x00"; -#else +#elif !defined SCAN_DEPEND #ifndef SCAN_DEPEND #error endianess not defined #endif Modified: allegro/branches/4.3/misc/release.txt =================================================================== --- allegro/branches/4.3/misc/release.txt 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/misc/release.txt 2006-10-29 04:33:29 UTC (rev 7557) @@ -1,4 +1,4 @@ -Wrapping up Allegro How-TO. Based on the 4.0.3 release. +Wrapping up Allegro How-TO. Based on the 4.2.1 release. ---------------------------------------------------------------------- The following steps must be done under Linux. Make sure you have the @@ -14,8 +14,8 @@ First, find out the revision of the previous release, for example: - svn ls http://svn.bafserv.com/svn/allegro/allegro/tags - svn info http://svn.bafserv.com/svn/allegro/allegro/tags/v4-2-0 + svn ls https://svn.sourceforge.net/svnroot/alleg/allegro/tags + svn info https://svn.sourceforge.net/svnroot/alleg/allegro/tags/v4-2-0 Then generate a log of changes since then: @@ -41,13 +41,13 @@ previous command and commit docs/src/allegro._tx. 7. Tag SVN repository: - svn cp http://svn.bafserv.com/svn/allegro/allegro/branches/4.2 http://svn.bafserv.com/svn/allegro/allegro/tags/v4-2-1 + svn cp https://svn.sourceforge.net/svnroot/alleg/allegro/branches/4.2 https://svn.sourceforge.net/svnroot/alleg/allegro/tags/v4-2-1 8. Set the locale to en_US or en_UK: export LC_ALL=en_US -9. Fix version number: 'misc/fixver.sh 4 0 3' +9. Fix version number: 'misc/fixver.sh 4 2 1' 10. Make sure demo.dat is present in the 'demo' sub-directory. @@ -57,14 +57,17 @@ 13. Make .zip distro. Have the previous archive in parent directory. - misc/zipup.sh all403.zip all402.zip + misc/zipup.sh all421.zip all420.zip + + The generated zip archive will be in the .dist subdirectory. -14. Make Unix distros. In the parent directory: +14. Make Unix distros. From the top level directory: + + cd .dist + allegro/misc/mkunixdists.sh all421.zip - allegro/misc/mkunixdists.sh all403.zip - 15. Check that the RPM file can be installed and compiled without problems. - Also check if the patch applies ok (all403_diff.zip). To verify that the + Also check if the patch applies ok (all421_diff.zip). To verify that the RPM .spec file is updated, you can build the package on a RedHat system, which verifies if the .spec file includes all the files of the package. You can use SourceForge's compile farm to do this, they have Red Hat @@ -75,7 +78,7 @@ If you do not have these installed, create a new windows binary distro based on the old one, update all text files and scripts and update the dlls with some you make with MinGW using the newly - created .zip distro. (all403.zip) + created .zip distro. (all421.zip) 17. Upload all packages to Sourceforge using the FRS (File Release System). Use CHANGES as the basis for the release notes. @@ -89,8 +92,8 @@ and commit changed files. ./fix.sh unix - misc/fixver.sh 4 0 4 CVS - cvs -z3 commit -m "Bumped version to 4.0.4 (CVS)" + misc/fixver.sh 4 2 2 SVN + svn commit -m "Bumped version to 4.2.2 (SVN)" 20. Webmasters watch the mailing lists for annoucements and then update the web pages accordingly. If you are interested in this process Modified: allegro/branches/4.3/misc/zipup.sh =================================================================== --- allegro/branches/4.3/misc/zipup.sh 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/misc/zipup.sh 2006-10-29 04:33:29 UTC (rev 7557) @@ -202,12 +202,19 @@ # build the main zip archive echo "Creating $name.zip..." -cd .. -if [ -f $name.zip ]; then rm $name.zip; fi -rm -rf allegro/autom4te* -find allegro -iname "CVS" -prune -o -iname ".*" -prune -o -iname "*.rej" -prune -o -iname "*.orig" -prune -o -print | zip -9 $name.zip -@ +if [ -f .dist/$name.zip ]; then rm .dist/$name.zip; fi +rm -rf ./autom4te* +ZIP_FILES=`find . -type f "(" -path "*/.*" -prune -o -iname "*.rej" \ + -prune -o -iname "*.orig" -prune -o -print ")"` +mkdir -p .dist/allegro +cp -a --parents $ZIP_FILES .dist/allegro +# from now on, the scripts runs inside .dist +cd .dist +zip -9 -r $name.zip allegro + + # generate the manifest file echo "Generating allegro.mft..." unzip -Z1 $name.zip | sort > allegro/allegro.mft Modified: allegro/branches/4.3/src/i386/icsprite.c =================================================================== --- allegro/branches/4.3/src/i386/icsprite.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/src/i386/icsprite.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -314,7 +314,7 @@ char *aligned_p = (char *)((unsigned long)p & ~(PAGE_SIZE-1ul)); if (mprotect(aligned_p, compiler_pos + ((char *)p - aligned_p), PROT_EXEC|PROT_READ|PROT_WRITE)) { - perror("allegro-error: mprotect failed during stretched blit!"); + perror("allegro-error: mprotect failed during compile sprite!"); _AL_FREE(p); return NULL; } Modified: allegro/branches/4.3/src/pcx.c =================================================================== --- allegro/branches/4.3/src/pcx.c 2006-10-29 04:27:27 UTC (rev 7556) +++ allegro/branches/4.3/src/pcx.c 2006-10-29 04:33:29 UTC (rev 7557) @@ -119,7 +119,7 @@ po = _rgb_r_shift_24/8; #elif defined ALLEGRO_BIG_ENDIAN po = 2 - _rgb_r_shift_24/8; -#else +#elif !defined SCAN_DEPEND #ifndef SCAN_DEPEND #error endianess not defined #endif @@ -152,7 +152,7 @@ po = _rgb_g_shift_24/8; #elif defined ALLEGRO_BIG_ENDIAN po = 2 - _rgb_g_shift_24/8; -#else +#elif !defined SCAN_DEPEND #ifndef SCAN_DEPEND #error endianess not defined #endif @@ -164,7 +164,7 @@ po = _rgb_b_shift_24/8; #elif defined ALLEGRO_BIG_ENDIAN po = 2 - _rgb_b_shift_24/8; -#else +#elif !defined SCAN_DEPEND #ifndef SCAN_DEPEND #error endianess not defined #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-11-24 08:10:02
|
Revision: 7575 http://svn.sourceforge.net/alleg/?rev=7575&view=rev Author: tjaden Date: 2006-11-24 00:10:01 -0800 (Fri, 24 Nov 2006) Log Message: ----------- CMake build: fix some bugs with the grabber plugins support. Modified Paths: -------------- allegro/branches/4.3/cmake/GeneratePlugins.cmake allegro/branches/4.3/tools/CMakeLists.txt Modified: allegro/branches/4.3/cmake/GeneratePlugins.cmake =================================================================== --- allegro/branches/4.3/cmake/GeneratePlugins.cmake 2006-11-23 12:53:46 UTC (rev 7574) +++ allegro/branches/4.3/cmake/GeneratePlugins.cmake 2006-11-24 08:10:01 UTC (rev 7575) @@ -1,15 +1,18 @@ # Produce tools/plugins/plugins.h # These variables need to be passed in on the command line: # plugins_h -# inc_files +# inc_files (space separated list of plugin .inc files) # if("${plugins_h}" MATCHES "^$") - message(FATAL_ERROR "** Internal error: plugins_h variable not set **") + message(FATAL_ERROR "** Internal error: plugins_h variable not set **") endif("${plugins_h}" MATCHES "^$") -FILE(WRITE ${plugins_h} "/* automatically generated */\n") -FOREACH(inc ${inc_files}) - FILE(READ ${inc} content) - FILE(APPEND "plugins/plugins.h" "${content}") -ENDFOREACH(inc) +separate_arguments(inc_files) +file(WRITE ${plugins_h} "/* automatically generated */\n") +foreach(inc ${inc_files}) + # It's too easy to miss when something goes wrong without messages. + message("Appending " ${inc}) + file(READ ${inc} content) + file(APPEND "plugins/plugins.h" "${content}") +endforeach(inc) Modified: allegro/branches/4.3/tools/CMakeLists.txt =================================================================== --- allegro/branches/4.3/tools/CMakeLists.txt 2006-11-23 12:53:46 UTC (rev 7574) +++ allegro/branches/4.3/tools/CMakeLists.txt 2006-11-24 08:10:01 UTC (rev 7575) @@ -14,7 +14,7 @@ DEPENDS ${inc_files} COMMAND ${CMAKE_COMMAND} -D plugins_h=${plugins_h} - -D inc_files=${inc_files} + -D inc_files="${inc_files}" -P ${CMAKE_SOURCE_DIR}/cmake/GeneratePlugins.cmake ) @@ -23,7 +23,7 @@ # include_directories(${CMAKE_CURRENT_BINARY_DIR}) -add_library(aldat STATIC datedit.c ${plugins}) +add_library(aldat STATIC datedit.c ${plugins_h} ${plugins}) set_target_properties(aldat PROPERTIES COMPILE_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" LINK_FLAGS "${MAYBE_ALLEGRO_STATICLINK}" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-11-28 21:04:52
|
Revision: 7600 http://svn.sourceforge.net/alleg/?rev=7600&view=rev Author: tjaden Date: 2006-11-28 13:04:52 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Peter Wang made the Unix ports query the memory page size with sysconf() when necessary, instead of using the PAGE_SIZE constant, which seems to be Linux-specific. [merge 4.2 to 4.3] Modified Paths: -------------- allegro/branches/4.3/configure.in allegro/branches/4.3/include/allegro/platform/aintunix.h allegro/branches/4.3/src/i386/icsprite.c allegro/branches/4.3/src/i386/istretch.c allegro/branches/4.3/src/i386/opcodes.h allegro/branches/4.3/src/unix/usystem.c Modified: allegro/branches/4.3/configure.in =================================================================== --- allegro/branches/4.3/configure.in 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/configure.in 2006-11-28 21:04:52 UTC (rev 7600) @@ -698,6 +698,7 @@ AC_TYPE_SIGNAL AC_CHECK_FUNCS(mmap mprotect memcmp mkstemp stricmp strlwr strupr vprintf stat64) +AC_CHECK_FUNCS(sysconf) dnl Tweak header files for library build CFLAGS="$CFLAGS -DALLEGRO_LIB_BUILD" Modified: allegro/branches/4.3/include/allegro/platform/aintunix.h =================================================================== --- allegro/branches/4.3/include/allegro/platform/aintunix.h 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/include/allegro/platform/aintunix.h 2006-11-28 21:04:52 UTC (rev 7600) @@ -71,6 +71,11 @@ /* File system helpers */ AL_FUNC(void, _unix_guess_file_encoding, (void)); + + /* Get size of a memory page in bytes */ + AL_FUNC(size_t, _unix_get_page_size, (void)); + + #ifdef ALLEGRO_WITH_XWINDOWS AL_FUNCPTR(void, _xwin_mouse_interrupt, (int x, int y, int z, int buttons)); Modified: allegro/branches/4.3/src/i386/icsprite.c =================================================================== --- allegro/branches/4.3/src/i386/icsprite.c 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/src/i386/icsprite.c 2006-11-28 21:04:52 UTC (rev 7600) @@ -16,22 +16,24 @@ */ +#include <stdio.h> #include <string.h> #include "allegro.h" #include "allegro/internal/aintern.h" #include "opcodes.h" +#ifdef ALLEGRO_UNIX + #include "allegro/platform/aintunix.h" /* for _unix_get_page_size */ +#endif + #ifdef ALLEGRO_WINDOWS #include "winalleg.h" /* For VirtualProtect */ #endif /* ifdef ALLEGRO_WINDOWS */ - - #ifdef HAVE_MPROTECT #include <sys/types.h> #include <sys/mman.h> - #include <sys/user.h> #endif /* ifdef HAVE_MPROTECT */ @@ -311,7 +313,8 @@ } #elif defined(HAVE_MPROTECT) { - char *aligned_p = (char *)((unsigned long)p & ~(PAGE_SIZE-1ul)); + long page_size = _unix_get_page_size(); + char *aligned_p = (char *)((unsigned long)p & ~(page_size-1ul)); if (mprotect(aligned_p, compiler_pos + ((char *)p - aligned_p), PROT_EXEC|PROT_READ|PROT_WRITE)) { perror("allegro-error: mprotect failed during compile sprite!"); Modified: allegro/branches/4.3/src/i386/istretch.c =================================================================== --- allegro/branches/4.3/src/i386/istretch.c 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/src/i386/istretch.c 2006-11-28 21:04:52 UTC (rev 7600) @@ -26,6 +26,10 @@ #include "allegro/internal/aintern.h" #include "opcodes.h" +#ifdef ALLEGRO_UNIX + #include "allegro/platform/aintunix.h" /* for _unix_get_page_size */ +#endif + #ifdef ALLEGRO_WINDOWS #include "winalleg.h" /* For VirtualProtect */ #endif /* ifdef ALLEGRO_WINDOWS */ @@ -35,7 +39,6 @@ #ifdef HAVE_MPROTECT #include <sys/types.h> #include <sys/mman.h> - #include <sys/user.h> #endif /* ifdef HAVE_MPROTECT */ @@ -452,7 +455,7 @@ VirtualProtect(_scratch_mem, _scratch_mem_size, PAGE_EXECUTE_READWRITE, &old_protect); #elif defined(HAVE_MPROTECT) && !defined(USE_MMAP_GEN_CODE_BUF) { - char *p = (char *)((uintptr_t)_scratch_mem & ~(PAGE_SIZE-1ul)); + char *p = (char *)((uintptr_t)_scratch_mem & ~(_unix_get_page_size() - 1ul)); if (mprotect(p, _scratch_mem_size + ((char *)_scratch_mem - p), PROT_EXEC|PROT_READ|PROT_WRITE)) perror("allegro-error: mprotect failed during stretched blit!"); Modified: allegro/branches/4.3/src/i386/opcodes.h =================================================================== --- allegro/branches/4.3/src/i386/opcodes.h 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/src/i386/opcodes.h 2006-11-28 21:04:52 UTC (rev 7600) @@ -29,7 +29,6 @@ #define __USE_GNU /* for mremap */ #include <stdlib.h> /* for mkstemp */ #include <unistd.h> /* for unlink */ - #include <sys/user.h> /* for PAGE_SIZE */ #include <sys/mman.h> /* for mmap */ static void *_exec_map; @@ -38,13 +37,15 @@ static int _map_fd; #define GROW_GEN_CODE_BUF(size) \ + do { \ + size_t page_size = _unix_get_page_size(); \ if (!_map_size) { \ /* Create backing file. FIXME: error-checking, but how? */ \ char tempfile_name[] = "/tmp/allegroXXXXXX"; \ _map_fd = mkstemp(tempfile_name); \ unlink(tempfile_name); \ /* Grow backing file to multiple of page size */ \ - _map_size = (size + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); \ + _map_size = (size + (page_size-1)) & ~(page_size-1); \ ftruncate(_map_fd, _map_size); \ /* And create the 2 mappings */ \ _exec_map = mmap(0, _map_size, PROT_EXEC | PROT_READ, MAP_SHARED, \ @@ -55,12 +56,13 @@ else if (size > _map_size) { \ int old_size = _map_size; \ /* Grow backing file to multiple of page size */ \ - _map_size = (size + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); \ + _map_size = (size + (page_size-1)) & ~(page_size-1); \ ftruncate(_map_fd, _map_size); \ /* And remap the 2 mappings */ \ _exec_map = mremap(_exec_map, old_size, _map_size, MREMAP_MAYMOVE); \ _rw_map = mremap(_rw_map, old_size, _map_size, MREMAP_MAYMOVE); \ - } + } \ + } while (0) #define GEN_CODE_BUF _rw_map #else Modified: allegro/branches/4.3/src/unix/usystem.c =================================================================== --- allegro/branches/4.3/src/unix/usystem.c 2006-11-27 01:25:23 UTC (rev 7599) +++ allegro/branches/4.3/src/unix/usystem.c 2006-11-28 21:04:52 UTC (rev 7600) @@ -450,3 +450,18 @@ #endif + + +/* _unix_get_page_size: + * Get size of a memory page in bytes. If we can't do it, we make a guess. + */ +size_t _unix_get_page_size(void) +{ +#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) + long page_size = sysconf(_SC_PAGESIZE); +#else + long page_size = -1; +#endif + + return (page_size == -1) ? 4096 : page_size; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-11-28 22:57:31
|
Revision: 7606 http://svn.sourceforge.net/alleg/?rev=7606&view=rev Author: tjaden Date: 2006-11-28 14:57:30 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Merge some miscellaneous things from 4.2 to 4.3. Modified Paths: -------------- allegro/branches/4.3/docs/src/allegro._tx allegro/branches/4.3/docs/src/changes._tx allegro/branches/4.3/docs/src/thanks._tx allegro/branches/4.3/examples/ex3buf.c allegro/branches/4.3/examples/excustom.c allegro/branches/4.3/examples/exgui.c allegro/branches/4.3/examples/exkeys.c allegro/branches/4.3/examples/exlights.c allegro/branches/4.3/misc/mkdata.sh allegro/branches/4.3/misc/release.txt allegro/branches/4.3/tests/test.c Modified: allegro/branches/4.3/docs/src/allegro._tx =================================================================== --- allegro/branches/4.3/docs/src/allegro._tx 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/docs/src/allegro._tx 2006-11-28 22:57:30 UTC (rev 7606) @@ -3208,7 +3208,8 @@ @@void @rest(unsigned int time); @xref install_timer, rest_callback @xref vsync, d_yield_proc -@eref exkeys, exmidi, exquat, exsample, exsprite, extimer, exunicod +@eref exkeys, exmidi, exquat, exsample, exsprite, extimer, extrans +@eref exunicod @shortdesc Waits a specified number of milliseconds or yields CPU. This function waits for the specified number of milliseconds. @@ -15204,10 +15205,11 @@ @xref END_OF_FUNCTION, END_OF_MAIN, LOCK_FUNCTION, SCREEN_H, SCREEN_W @xref acquire_screen, allegro_error, allegro_init, allegro_message, blit @xref clear_keybuf, clear_to_color, desktop_palette, font -@xref install_keyboard, key, key_shifts, keyboard_lowlevel_callback -@xref keypressed, makecol, readkey, rectfill, release_screen, rest -@xref scancode_to_name, screen, set_gfx_mode, set_palette -@xref textprintf_centre_ex, textprintf_ex, ureadkey, usprintf, ustrzncpy +@xref install_keyboard, install_timer, key, key_shifts +@xref keyboard_lowlevel_callback, keypressed, makecol, readkey, rectfill +@xref release_screen, rest, scancode_to_name, screen, set_gfx_mode +@xref set_palette, textprintf_centre_ex, textprintf_ex, ureadkey +@xref usprintf, ustrzncpy @shortdesc How to get input from the keyboard in different ways. This program demonstrates how to access the keyboard. The first part shows the basic use of readkey(). The second part @@ -15445,7 +15447,7 @@ @xref create_rgb_table, create_trans_table, destroy_bitmap @xref draw_trans_sprite, drawing_mode, install_keyboard, install_mouse @xref install_timer, keypressed, load_bitmap, mouse_x, mouse_y -@xref poll_mouse, rectfill, replace_filename, rgb_map, screen +@xref poll_mouse, rectfill, replace_filename, rest, rgb_map, screen @xref set_alpha_blender, set_gfx_mode, set_palette, set_trans_blender @xref set_write_alpha_blender, stretch_blit @shortdesc Lighting and translucency effects. Modified: allegro/branches/4.3/docs/src/changes._tx =================================================================== --- allegro/branches/4.3/docs/src/changes._tx 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/docs/src/changes._tx 2006-11-28 22:57:30 UTC (rev 7606) @@ -63,6 +63,64 @@ </ul> @heading +Changes from 4.2.1 RC1 to 4.2.1 (November 2006) +<ul><li> + Peter Wang made the Unix ports query the memory page size with sysconf() + when necessary, instead of using the PAGE_SIZE constant, which seems to be + Linux-specific. +<li> + Matthew Leverton gave the STATICRUNTIME builds of MSVC new names by + appending _crt (c run time) to the libraries. He also fixed the problem of + incorrectly setting the EMBED_MANIFEST variable when using the + STATICRUNTIME. +<li> + Andrei Ellman fixed an inverted test in pack_fopen_chunk on Windows. +<li> + Peter Hull made 32-bit icon generation by fixbundle endian-independent + (colours were incorrect on Intel Macs). +<li> + Peter Wang fixed a long standing bug where some compressed packfiles would not + be read back properly (premature EOF). Reported by jman2050. +<li> + Andrei Ellman spotted a free() of an internal buffer returned by tmpnam(). +<li> + Peter Hull fixed a problem with mouse-related deadlock on MacOS X as + reported by Mike Farrell. +<li> + Peter Hull implemented simulation of video bitmaps on MacOS X, so that + page flipping will work. +<li> + Peter Hull fixed an endian problem in the digital sound driver on MacOS X. +<li> + Elias Pschernig and Chris Robinson fixed problems with UTF-8 filenames + under Unix, as reported by Grzegorz. Non-ASCII non-UTF-8 filenames remain + broken. +<li> + Chris Robinson fixed some problems with non-ASCII filenames under Windows. +<li> + Elias Pschernig made the X11 driver call XInitThreads, to make Mesa-OpenGL + work together with Allegro. It can be disabled at runtime through a config + variable. +<li> + Andrei Ellman fixed a bug in datedit.c that could crash the grabber. +<li> + Elias Pschernig added file_size_ex(), which returns a 64 bit integer + to handle large files. +<li> + Ron Novy made improvements to the test program. +<li> + Peter Hull fixed problems with set_mouse_sprite() on Intel Macs. +<li> + Peter Hull added universal binary support to the MacOS X port. +<li> + Peter Wang and Evert Glebbeek independently fixed a problem with dependency + generation for MacOS X on non-Mac systems. +<li> + Many smaller fixes and updates by Peter Hull, Elias Pschernig, Peter Wang + and Milan Mimica. +</ul> + +@heading Changes from 4.2.0 to 4.2.1 RC1 (May 2006) <ul><li> Michal Molhanec made msvchelp.exe work on Cygwin, where there was a @@ -143,7 +201,7 @@ Peter Wang fixed some problems with binary compatibility checking in the 4.2 branch. <li> - Catatonic Porpoise added OpenBSD detection (in addaition to FreeBSD and + Catatonic Porpoise added OpenBSD detection (in addition to FreeBSD and NetBSD) and fixed an issue with executable rights not set on the memory for the i386 stretcher on UNIX systems. <li> @@ -203,7 +261,7 @@ Peter Wang made the svgalib driver save and restore the palette on VT switches. <li> - Peter Wand fixed a problem with the fbcon driver and VT switching. + Peter Wang fixed a problem with the fbcon driver and VT switching. <li> Milan Mimica delayed Linux console initialisation until it is required. This way the user can write command-line programs using timers without @@ -238,11 +296,9 @@ <li> Annie Testes made the linux evdev mouse driver use the correct device files. <li> -tjaden Vincent Penecherc'h made the linux fbcon driver set a ramp colourmap for directcolor modes, otherwise colours in those modes were all wrong. <li> -tjaden Vincent Penecherc'h fixed a problem with the linux fbcon driver, where it would keep using the old pitch after changing resolutions. <li> @@ -526,7 +582,7 @@ added a datedit_select() callback to datedit. <li> Evert Glebbeek fixed some unsafe assumptions on the size of integer - datatypes. + data types. <li> Arthur Huillet fixed a typo in the docs. <li> @@ -799,7 +855,7 @@ Evert Glebbeek added support for the use of native window manager cursors. <li> Chris Robinson made install_allegro() check if the library version matches - the version of the headerfiles installed. + the version of the header files installed. <li> Peter Wang fixed some problems with rest() on UNIX systems. <li> @@ -881,7 +937,7 @@ <li> Matthew Leverton added support for a fourth mouse button to the Windows port. <li> - Michal Molhanec added a faq section about the giftware license. + Michal Molhanec added a FAQ section about the giftware license. <li> Elias Pschernig added the license disclaimer to the docs. <li> @@ -957,7 +1013,7 @@ Bobby Ferris added SciTE .api file generation to makedoc. <li> Sam Hocevar made is possible to put functions defined in assembler - sourcefiles in a shared library in UNIX. + source files in a shared library in UNIX. <li> Evert Glebbeek removed the weak declaration of allegro_icon and changed xfixicon.sh accordingly. @@ -984,17 +1040,17 @@ Elias Pschernig fixed some gcc warnings. <li> Vincent Penquerc'h added the ability to pass extra CFLAGS and LDFLAGS on the - make commandline. + make command line. <li> Elias Pschernig made ex3buf work outside of DOS. <li> - Chris Robinson made the alleg mixer default instead of the directx one in + Chris Robinson made the alleg mixer default instead of the DirectX one in windows. <li> Angelo Mottola fixed a bug where vsync() was blocking on a mutex if called when the screen was already acquired in windowed mode. <li> - Evert Glebbeek made tripple buffering work in the demo if VRAM is a single + Evert Glebbeek made triple buffering work in the demo if VRAM is a single surface. <li> Jon Rafkind provided an m4 macro for Allegro. @@ -1002,7 +1058,7 @@ Eric Botcazou and Henrik Stokseth made some improvements to the build process. <li> - Grzegroz Adam Hankiewicz added various fixes to the documentation and + Grzegorz Adam Hankiewicz added various fixes to the documentation and to the documentation generation system. <li> V Karthik Kumar added a Tamil language greeting to exunicode. @@ -1031,7 +1087,7 @@ Henrik Stokseth improved buffer security in various parts of the library. <li> - Evert Gebbek made strncpy use sizeof() for fixed length strings. + Evert Glebbeek made strncpy use sizeof() for fixed length strings. <li> Eric Botcazou made KEY_PAUSE work properly in windows. <li> @@ -1050,7 +1106,7 @@ Chris Robinson increased the default volume, which was set very quiet previously. <li> - Grzegroz Adam Hankiewicz clarified the bahavior of install_mouse. + Grzegorz Adam Hankiewicz clarified the behavior of install_mouse. <li> Elias Pschernig improved the pause key behavior. <li> Modified: allegro/branches/4.3/docs/src/thanks._tx =================================================================== --- allegro/branches/4.3/docs/src/thanks._tx 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/docs/src/thanks._tx 2006-11-28 22:57:30 UTC (rev 7606) @@ -41,7 +41,7 @@ Wrote the Ensoniq Soundscape driver and fixed division bugs in the fix class. - Andrei Ellman (<email>ae-...@wa...</a>).<br> + Andrei Ellman (<email>ae-...@wa...</a>).<br> Contributed the polygon_z_normal() function, suggested some additions to the docs, updated the Cygwin section in docs/build/mingw32.txt, got Allegro for MSVC to build with Cygwin, improved the performance of the Modified: allegro/branches/4.3/examples/ex3buf.c =================================================================== --- allegro/branches/4.3/examples/ex3buf.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/examples/ex3buf.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -112,9 +112,9 @@ } if (triplebuffer_not_available) - ustrzcpy (message, sizeof message, "Simulated triple buffering"); + ustrzcpy(message, sizeof message, "Simulated triple buffering"); else - ustrzcpy (message, sizeof message, "Real triple buffering"); + ustrzcpy(message, sizeof message, "Real triple buffering"); textout_ex(b, font, message, 0, 0, 255, -1); Modified: allegro/branches/4.3/examples/excustom.c =================================================================== --- allegro/branches/4.3/examples/excustom.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/examples/excustom.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -238,7 +238,7 @@ do_dialog(the_dialog, -1); - unload_datafile (datafile); + unload_datafile(datafile); return 0; } Modified: allegro/branches/4.3/examples/exgui.c =================================================================== --- allegro/branches/4.3/examples/exgui.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/examples/exgui.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -15,17 +15,20 @@ /* maximum number of bytes a single (unicode) character can have */ -#define MAX_BYTES_PER_CHAR 6 +#define MAX_BYTES_PER_CHAR 4 + /* for the d_edit_proc object */ #define LEN 32 char the_string[(LEN + 1) * MAX_BYTES_PER_CHAR] = "Change Me!"; /* for the d_text_box_proc object */ -char the_text[] = "I'm text inside a text box.\n\nI can have multiple \ -lines.\n\nIf I grow too big to fit into my box, I get a scrollbar to \ -the right, so you can scroll me in the vertical direction. I will never \ -let you scroll in the horizontal direction, but instead I will try to \ -word wrap the text."; +char the_text[] = + "I'm text inside a text box.\n\n" + "I can have multiple lines.\n\n" + "If I grow too big to fit into my box, I get a scrollbar to" + "the right, so you can scroll me in the vertical direction. I will never" + "let you scroll in the horizontal direction, but instead I will try to" + "word wrap the text."; /* for the multiple selection list */ char sel[10]; @@ -48,8 +51,9 @@ *list_size = 11; return NULL; } - else + else { return strings[index]; + } } @@ -68,9 +72,9 @@ /* A custom dialog procedure, derived from d_button_proc. It intercepts * the D_CLOSE return of d_button_proc, and calls the function in dp3. */ -int my_button_proc (int msg, DIALOG *d, int c) +int my_button_proc(int msg, DIALOG *d, int c) { - int ret = d_button_proc (msg, d, c); + int ret = d_button_proc(msg, d, c); if (ret == D_CLOSE && d->dp3) return ((int (*)(void))d->dp3)(); return ret; @@ -94,8 +98,9 @@ int menu_callback(void) { char str[256]; - ustrzcpy (str, sizeof str, active_menu->text); - alert("Selected menu item:", "", ustrtok (str, "\t"), "Ok", NULL, 0, 0); + + ustrzcpy(str, sizeof str, active_menu->text); + alert("Selected menu item:", "", ustrtok(str, "\t"), "Ok", NULL, 0, 0); return D_O_K; } @@ -109,6 +114,7 @@ active_menu->text = "Checked"; else active_menu->text = "Unchecked"; + alert("Menu item has been toggled!", NULL, NULL, "Ok", NULL, 0, 0); return D_O_K; } @@ -118,7 +124,6 @@ /* the submenu */ MENU submenu[] = { - { "Submenu", NULL, NULL, D_DISABLED, NULL }, { "", NULL, NULL, 0, NULL }, { "Checked", check_callback, NULL, D_SELECTED, NULL }, @@ -130,7 +135,6 @@ /* the first menu in the menubar */ MENU menu1[] = { - { "Test &1 \t1", menu_callback, NULL, 0, NULL }, { "Test &2 \t2", menu_callback, NULL, 0, NULL }, { "&Quit \tq/Esc", quit, NULL, 0, NULL }, @@ -142,7 +146,6 @@ /* the second menu in the menubar */ MENU menu2[] = { - { "&Test", menu_callback, NULL, 0, NULL }, { "&Submenu", NULL, submenu, 0, NULL }, { NULL, NULL, NULL, 0, NULL } @@ -153,7 +156,6 @@ /* the help menu */ MENU helpmenu[] = { - { "&About \tF1", about, NULL, 0, NULL }, { NULL, NULL, NULL, 0, NULL } }; @@ -163,7 +165,6 @@ /* the main menu-bar */ MENU the_menu[] = { - { "&First", NULL, menu1, 0, NULL }, { "&Second", NULL, menu2, 0, NULL }, { "&Help", NULL, helpmenu, 0, NULL }, @@ -172,9 +173,10 @@ -int info1(void); -int info2(void); -int info3(void); +extern int info1(void); +extern int info2(void); +extern int info3(void); + #define LIST_OBJECT 26 #define TEXTLIST_OBJECT 27 #define SLIDER_OBJECT 29 @@ -253,41 +255,45 @@ char buf1[256]; char buf2[256] = ""; int i, s = 0, n; + listbox_getter(-1, &n); /* query the list proc */ - for (i = 0; i < n; i++) + for (i = 0; i < n; i++) { if (sel[i]) { - uszprintf (buf1, sizeof buf1, "%i ", i); - ustrzcat (buf2, sizeof buf2, buf1); + uszprintf(buf1, sizeof buf1, "%i ", i); + ustrzcat(buf2, sizeof buf2, buf1); s = 1; } + } if (s) - ustrzcat (buf2, sizeof buf2, "are in the multiple selection!"); + ustrzcat(buf2, sizeof buf2, "are in the multiple selection!"); else - ustrzcat (buf2, sizeof buf2, "There is no multiple selection!"); - uszprintf (buf1, sizeof buf1, "Item number %i is selected!", + ustrzcat(buf2, sizeof buf2, "There is no multiple selection!"); + uszprintf(buf1, sizeof buf1, "Item number %i is selected!", the_dialog[LIST_OBJECT].d1); - alert ("Info about the list:", buf1, buf2, "Ok", NULL, 0, 0); + alert("Info about the list:", buf1, buf2, "Ok", NULL, 0, 0); return D_O_K; } int info2(void) { char buf[256]; + /* query the textlist proc */ - uszprintf (buf, sizeof buf, "Item number %i is selected!", + uszprintf(buf, sizeof buf, "Item number %i is selected!", the_dialog[TEXTLIST_OBJECT].d1); - alert ("Info about the text list:", NULL, buf, "Ok", NULL, 0, 0); + alert("Info about the text list:", NULL, buf, "Ok", NULL, 0, 0); return D_O_K; } int info3(void) { char buf[256]; + /* query the slider proc */ - uszprintf (buf, sizeof buf, "Slider position is %i!", + uszprintf(buf, sizeof buf, "Slider position is %i!", the_dialog[SLIDER_OBJECT].d2); - alert ("Info about the slider:", NULL, buf, "Ok", NULL, 0, 0); + alert("Info about the slider:", NULL, buf, "Ok", NULL, 0, 0); return D_O_K; } @@ -328,27 +334,30 @@ gui_fg_color = makecol(0, 0, 0); gui_mg_color = makecol(128, 128, 128); gui_bg_color = makecol(200, 240, 200); - set_dialog_color (the_dialog, gui_fg_color, gui_bg_color); + set_dialog_color(the_dialog, gui_fg_color, gui_bg_color); /* white color for d_clear_proc and the d_?text_procs */ the_dialog[0].bg = makecol(255, 255, 255); - for (i = 4; the_dialog[i].proc; i++) + for (i = 4; the_dialog[i].proc; i++) { if (the_dialog[i].proc == d_text_proc || the_dialog[i].proc == d_ctext_proc || the_dialog[i].proc == d_rtext_proc) + { the_dialog[i].bg = the_dialog[0].bg; + } + } /* fill in bitmap pointers */ the_dialog[BITMAP_OBJECT].dp = datafile[SILLY_BITMAP].dat; the_dialog[ICON_OBJECT].dp = datafile[SILLY_BITMAP].dat; /* shift the dialog 2 pixels away from the border */ - position_dialog (the_dialog, 2, 2); + position_dialog(the_dialog, 2, 2); /* do the dialog */ do_dialog(the_dialog, -1); - unload_datafile (datafile); + unload_datafile(datafile); return 0; } Modified: allegro/branches/4.3/examples/exkeys.c =================================================================== --- allegro/branches/4.3/examples/exkeys.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/examples/exkeys.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -66,15 +66,14 @@ { int i, x, y, color; char str[64]; + i = scancode & 0x7f; x = SCREEN_W - 100 * 3 + (i % 3) * 100; y = SCREEN_H / 2 + (i / 3 - 21) * 10; - color = scancode & 0x80 ? makecol (255, 255, 0) : makecol (128, 0, 0); - rectfill (screen, x, y, x + 95, y + 8, color); - ustrzncpy (str, sizeof str, scancode_to_name (i), 12); - if (str) - textprintf_ex (screen, font, x + 1, y + 1, makecol (0, 0, 0), -1, - "%s", str); + color = scancode & 0x80 ? makecol(255, 255, 0) : makecol(128, 0, 0); + rectfill(screen, x, y, x + 95, y + 8, color); + ustrzncpy(str, sizeof(str), scancode_to_name(i), 12); + textprintf_ex(screen, font, x + 1, y + 1, makecol(0, 0, 0), -1, "%s", str); } END_OF_FUNCTION(keypress_handler) Modified: allegro/branches/4.3/examples/exlights.c =================================================================== --- allegro/branches/4.3/examples/exlights.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/examples/exlights.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -398,7 +398,7 @@ #elif !defined SCAN_DEPEND - #error Unknown endianess! +#error Unknown endianess! #endif Modified: allegro/branches/4.3/misc/mkdata.sh =================================================================== --- allegro/branches/4.3/misc/mkdata.sh 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/misc/mkdata.sh 2006-11-28 22:57:30 UTC (rev 7606) @@ -5,6 +5,13 @@ test -z "$DAT" && DAT=dat +# Make sure that dat actually is available. +if ! ($DAT ; true) | fgrep -q 'Allegro' +then + echo "$0: dat tool not available, aborted" + exit 1 +fi + echo "Creating keyboard.dat..." (cd resource/keyboard; LD_PRELOAD=$MKDATA_PRELOAD $DAT -a -c1 ../../keyboard.dat *.cfg) Modified: allegro/branches/4.3/misc/release.txt =================================================================== --- allegro/branches/4.3/misc/release.txt 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/misc/release.txt 2006-11-28 22:57:30 UTC (rev 7606) @@ -56,6 +56,7 @@ 12. Make sure the installed version of GNU autoconf is the right one. 13. Make .zip distro. Have the previous archive in parent directory. + You will need to have the dat tool in your path. misc/zipup.sh all421.zip all420.zip @@ -64,6 +65,7 @@ 14. Make Unix distros. From the top level directory: cd .dist + unzip all421.zip allegro/misc allegro/misc/mkunixdists.sh all421.zip 15. Check that the RPM file can be installed and compiled without problems. @@ -91,7 +93,7 @@ 19. Convert local files back to Unix format, bump version number, and commit changed files. - ./fix.sh unix + ./fix.sh unix --dtou misc/fixver.sh 4 2 2 SVN svn commit -m "Bumped version to 4.2.2 (SVN)" Modified: allegro/branches/4.3/tests/test.c =================================================================== --- allegro/branches/4.3/tests/test.c 2006-11-28 22:45:43 UTC (rev 7605) +++ allegro/branches/4.3/tests/test.c 2006-11-28 22:57:30 UTC (rev 7606) @@ -4539,7 +4539,9 @@ #if defined ALLEGRO_I386 || defined ALLEGRO_AMD64 #ifdef ALLEGRO_I386 - sprintf(cpu_specs, "CPU family: %d86 (%s)", cpu_family, cpu_vendor?cpu_vendor:"unknown"); + sprintf(cpu_specs, "CPU family: %d86 (%s)", + cpu_family, + (ustrlen(cpu_vendor) > 0) ? cpu_vendor : "unknown"); #else sprintf(cpu_specs, "CPU family: AMD64 (%s)", cpu_vendor); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-11-28 23:14:48
|
Revision: 7608 http://svn.sourceforge.net/alleg/?rev=7608&view=rev Author: tjaden Date: 2006-11-28 15:14:49 -0800 (Tue, 28 Nov 2006) Log Message: ----------- More misc merges. Modified Paths: -------------- allegro/branches/4.3/misc/zipup.sh allegro/branches/4.3/tools/x11/xkeymap.c Modified: allegro/branches/4.3/misc/zipup.sh =================================================================== --- allegro/branches/4.3/misc/zipup.sh 2006-11-28 23:13:32 UTC (rev 7607) +++ allegro/branches/4.3/misc/zipup.sh 2006-11-28 23:14:49 UTC (rev 7608) @@ -20,7 +20,13 @@ exit 1 fi +if [ -n "$2" ] && [ ! -r ../"$2" ]; then + echo "Previous archive $2 not in parent directory, aborting" + exit 1 +fi + + # strip off the path and extension from our arguments name=$(echo "$1" | sed -e 's/.*[\\\/]//; s/\.zip//') prev=$(echo "$2" | sed -e 's/.*[\\\/]//; s/\.zip//') @@ -171,7 +177,7 @@ # create language.dat and keyboard.dat files -misc/mkdata.sh +misc/mkdata.sh || exit 1 # convert files to djgpp format for distribution @@ -232,7 +238,7 @@ echo "Inflating previous version ($2)..." mkdir previous - unzip -q "$2" -d previous + unzip -q ../../"$2" -d previous || exit 1 echo "Generating diffs..." diff -U 3 -N --recursive previous/ current/ > $name.diff Modified: allegro/branches/4.3/tools/x11/xkeymap.c =================================================================== --- allegro/branches/4.3/tools/x11/xkeymap.c 2006-11-28 23:13:32 UTC (rev 7607) +++ allegro/branches/4.3/tools/x11/xkeymap.c 2006-11-28 23:14:49 UTC (rev 7608) @@ -181,6 +181,8 @@ else rectfill(screen, x, y, x + 7, y + 7, white); } + + rest(1); } while ((!key[KEY_ESC]) && (!mouse_b)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-11-28 23:19:42
|
Revision: 7609 http://svn.sourceforge.net/alleg/?rev=7609&view=rev Author: tjaden Date: 2006-11-28 15:19:42 -0800 (Tue, 28 Nov 2006) Log Message: ----------- 1. Flags for Universal Binary support 2. Install fixbundle by default 3. Remove prebinding flags that are no longer needed [merge from 4.2 to 4.3] Modified Paths: -------------- allegro/branches/4.3/docs/src/build/macosx._tx allegro/branches/4.3/fix.sh allegro/branches/4.3/makefile.osx Modified: allegro/branches/4.3/docs/src/build/macosx._tx =================================================================== --- allegro/branches/4.3/docs/src/build/macosx._tx 2006-11-28 23:14:49 UTC (rev 7608) +++ allegro/branches/4.3/docs/src/build/macosx._tx 2006-11-28 23:19:42 UTC (rev 7609) @@ -123,8 +123,19 @@ but you will not be able to install the framework nor the Project Builder template, which require a dynamically linked Allegro version. + If you have OS X 10.4 and you want to build a Universal Binary version of the library + (i.e. one that will run on both PowerPC and Intel Macs) you can type +<textblock> + ./fix.sh macosx-universal +<endblock> + instead of the <tt>fix.sh</tt> line given above. Note that you'll still need to specify + the appropriate flags when you link your program, otherwise gcc will 'thin' the binary + so it only includes the native code. + For more information see + http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/ + @heading Using Allegro from the command line Modified: allegro/branches/4.3/fix.sh =================================================================== --- allegro/branches/4.3/fix.sh 2006-11-28 23:14:49 UTC (rev 7608) +++ allegro/branches/4.3/fix.sh 2006-11-28 23:19:42 UTC (rev 7609) @@ -10,7 +10,7 @@ echo "Usage: $0 <platform> [--quick|--dtou|--utod|--utom|--mtou]" echo echo "Where platform is one of: bcc32, beos, djgpp, mingw, msvc, qnx, unix" - echo "mac, macosx and watcom." + echo "mac, macosx, macosx-universal and watcom." echo "The --quick parameter turns off text file conversion, --dtou converts from" echo "DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format," echo "--utom converts from Unix to Macintosh format and --mtou converts from" @@ -34,6 +34,19 @@ echo "#define $3" >> include/allegro/platform/alplatf.h } +proc_fix_osx_ub() +{ + echo "Configuring Allegro for Mac OSX Universal Binary ..." + + echo "# generated by fix.sh" > makefile + echo "UB = 1" >> makefile + echo "MAKEFILE_INC = makefile.osx" >> makefile + echo "include makefile.all" >> makefile + + echo "/* generated by fix.sh */" > include/allegro/platform/alplatf.h + echo "#define ALLEGRO_MACOSX" >> include/allegro/platform/alplatf.h +} + proc_filelist() { # common files. @@ -134,6 +147,7 @@ "unix" ) proc_fix "Unix" "none" "ALLEGRO_UNIX";; "mac" ) proc_fix "Mac" "none" "ALLEGRO_MPW";; "macosx" ) proc_fix "MacOS X" "makefile.osx" "ALLEGRO_MACOSX";; + "macosx-universal" ) proc_fix_osx_ub ;; "watcom" ) proc_fix "DOS (Watcom)" "makefile.wat" "ALLEGRO_WATCOM";; "help" ) proc_help;; * ) proc_help;; Modified: allegro/branches/4.3/makefile.osx =================================================================== --- allegro/branches/4.3/makefile.osx 2006-11-28 23:14:49 UTC (rev 7608) +++ allegro/branches/4.3/makefile.osx 2006-11-28 23:19:42 UTC (rev 7609) @@ -52,7 +52,10 @@ LIB_NAME = lib/macosx/lib$(VERSION)-$(shared_version).dylib LIB_MAIN_NAME = lib/macosx/lib$(VERSION)-main.a -DYLINK_FLAGS = -prebind -seg1addr 0x30000000 -compatibility_version $(compatibility_version) -current_version $(shared_version) +DYLINK_FLAGS = -compatibility_version $(compatibility_version) -current_version $(shared_version) +ifdef UB +DYLINK_FLAGS+=-arch ppc -arch i386 +endif INSTALL_NAME = -install_name lib$(VERSION)-$(shared_major_minor).dylib INSTALL_NAME_EMBED = -install_name "`echo "@executable_path/../Frameworks/$(FRAMEWORK_NAME).framework/Versions/$(shared_version)/$(FRAMEWORK_NAME)" | sed 's!//*!/!g'`" @@ -97,7 +100,7 @@ OFLAGS = $(TARGET_ARCH) $(TARGET_OPTS) -CFLAGS = -DALLEGRO_LIB_BUILD +CFLAGS = -DALLEGRO_LIB_BUILD @@ -123,9 +126,9 @@ SFLAGS = $(WFLAGS) ifndef SYMBOLMODE -LFLAGS = -s -prebind +LFLAGS = -s else -LFLAGS = -prebind +LFLAGS = endif endif @@ -136,7 +139,14 @@ CFLAGS += -dynamic endif +# ------- Universal binary ------------- +ifdef UB +CFLAGS+= -arch ppc -arch i386 +LFLAGS+= -arch ppc -arch i386 +endif + + # -------- list platform specific objects and programs -------- VPATH = src/macosx src/unix src/misc src/c tools/macosx src/compat @@ -232,9 +242,9 @@ INSTALL_FILES += $(INSTALLDIR)/$(LIBDIR)/lib$(VERSION)-main.a endif -INSTALL_FILES += $(HEADERS) $(INSTALLDIR)/bin/allegro-config +INSTALL_FILES += $(HEADERS) $(INSTALLDIR)/bin/allegro-config $(INSTALLDIR)/bin/fixbundle -install: generic-install +install: generic-install install-fixbundle @echo The $(DESCRIPTION) $(PLATFORM) library has been installed. @if (printenv PATH |grep -q -v "$(INSTALLDIR)/bin"); then echo "Please check that $(INSTALLDIR)/bin is in your path (see docs/build/macosx.txt)"; fi @echo Run make install-man if you wish to install the man pages. @@ -334,7 +344,10 @@ @echo Installing man files to $(MAN_DIR)/man3 @install docs/man/*.3 $(MAN_DIR)/man3/ +install-fixbundle: tools/macosx/fixbundle + @install $< $(INSTALLDIR)/bin/ + # -------- test capabilities -------- @@ -350,7 +363,7 @@ # -------- link as a static library -------- define MAKE_LIB -ar rs $(LIB_NAME) $(OBJECTS) +libtool -static -s -o $(LIB_NAME) $(OBJECTS) endef else @@ -365,7 +378,7 @@ $(LIB_MAIN_NAME): obj/macosx/$(VERSION)/main.o ifndef STATICLINK - ar rs $(LIB_MAIN_NAME) obj/macosx/$(VERSION)/main.o + libtool -static -s -o $(LIB_MAIN_NAME) obj/macosx/$(VERSION)/main.o endif @@ -399,7 +412,7 @@ endef define MAKE_PLUGIN_LIB - ar rs $(PLUGIN_LIB) $(PLUGIN_OBJS) + libtool -static -s -o $(PLUGIN_LIB) $(PLUGIN_OBJS) endef define LINK_WITH_PLUGINS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-12-14 14:20:55
|
Revision: 7653 http://svn.sourceforge.net/alleg/?rev=7653&view=rev Author: tjaden Date: 2006-12-14 06:20:55 -0800 (Thu, 14 Dec 2006) Log Message: ----------- Broke up include/allegro/internal/aintern2.h into aintern_events.h, aintern_joystick.h, aintern_keyboard.h. Modified Paths: -------------- allegro/branches/4.3/setup/setup.c allegro/branches/4.3/src/events.c allegro/branches/4.3/src/evtsrc.c allegro/branches/4.3/src/joynu.c allegro/branches/4.3/src/keybdnu.c allegro/branches/4.3/src/linux/ljoynu.c allegro/branches/4.3/src/linux/lkeybdnu.c allegro/branches/4.3/src/unix/ujoydrv.c allegro/branches/4.3/src/unix/utimernu.c allegro/branches/4.3/src/win/wjoydrv.c allegro/branches/4.3/src/win/wjoydxnu.c allegro/branches/4.3/src/win/wkeybdnu.c allegro/branches/4.3/src/win/wtimernu.c allegro/branches/4.3/src/x/xkeyboard.c Added Paths: ----------- allegro/branches/4.3/include/allegro/internal/aintern_events.h allegro/branches/4.3/include/allegro/internal/aintern_joystick.h allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h Removed Paths: ------------- allegro/branches/4.3/include/allegro/internal/aintern2.h Deleted: allegro/branches/4.3/include/allegro/internal/aintern2.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern2.h 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/include/allegro/internal/aintern2.h 2006-12-14 14:20:55 UTC (rev 7653) @@ -1,171 +0,0 @@ -/* XXX: temporary hack to break circular dependencies - * this stuff should be in aintern.h but they depend on _AL_MUTEX/_AL_VECTOR - * but those are in aint*.h, which depend on aintern.h - * - * I'm thinking of reorganising the internal headers into two levels: - * - level 1 provides simple, self-contained things - * eg. hiding platform-specific mutexes behind _AL_MUTEX - * eg. simple container classes like _AL_VECTOR - * - level 2 can then rely on level 1 stuff - */ -#ifndef _al_included_aintern2_h -#define _al_included_aintern2_h - -AL_BEGIN_EXTERN_C - -/* event sources */ -struct AL_EVENT_SOURCE -{ - unsigned long event_mask; - _AL_MUTEX mutex; - _AL_VECTOR queues; - AL_EVENT *all_events; - AL_EVENT *free_events; -}; - -AL_FUNC(void, _al_event_source_init, (AL_EVENT_SOURCE*, unsigned long event_mask)); -AL_FUNC(void, _al_event_source_free, (AL_EVENT_SOURCE*)); -AL_FUNC(void, _al_event_source_lock, (AL_EVENT_SOURCE*)); -AL_FUNC(void, _al_event_source_unlock, (AL_EVENT_SOURCE*)); -AL_FUNC(void, _al_event_source_on_registration_to_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); -AL_FUNC(void, _al_event_source_on_unregistration_from_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); -AL_FUNC(bool, _al_event_source_needs_to_generate_event, (AL_EVENT_SOURCE*, unsigned long event_type)); -AL_FUNC(AL_EVENT*, _al_event_source_get_unused_event, (AL_EVENT_SOURCE*)); -AL_FUNC(void, _al_event_source_emit_event, (AL_EVENT_SOURCE *, AL_EVENT*)); - -AL_FUNC(void, _al_release_event, (AL_EVENT*)); - -AL_FUNC(void, _al_event_queue_push_event, (AL_EVENT_QUEUE*, AL_EVENT*)); - - - -/* joystick */ - -typedef struct AL_JOYSTICK_DRIVER /* new joystick driver structure */ -{ - int id; - AL_CONST char *name; - AL_CONST char *desc; - AL_CONST char *ascii_name; - AL_METHOD(bool, init, (void)); - AL_METHOD(void, exit, (void)); - AL_METHOD(int, num_joysticks, (void)); - AL_METHOD(AL_JOYSTICK*, get_joystick, (int joyn)); - AL_METHOD(void, release_joystick, (AL_JOYSTICK*)); - AL_METHOD(void, get_state, (AL_JOYSTICK*, AL_JOYSTATE *ret_state)); -} AL_JOYSTICK_DRIVER; - - -AL_ARRAY(_DRIVER_INFO, _al_joystick_driver_list); - - -/* macros for constructing the driver list */ -#define _AL_BEGIN_JOYSTICK_DRIVER_LIST \ - _DRIVER_INFO _al_joystick_driver_list[] = \ - { - -#define _AL_END_JOYSTICK_DRIVER_LIST \ - { 0, NULL, FALSE } \ - }; - - -/* information about a single joystick axis */ -typedef struct _AL_JOYSTICK_AXIS_INFO -{ - AL_CONST char *name; -} _AL_JOYSTICK_AXIS_INFO; - - -/* information about one or more axis (a slider or directional control) */ -typedef struct _AL_JOYSTICK_STICK_INFO -{ - int flags; - int num_axes; - _AL_JOYSTICK_AXIS_INFO axis[_AL_MAX_JOYSTICK_AXES]; - AL_CONST char *name; -} _AL_JOYSTICK_STICK_INFO; - - -/* information about a joystick button */ -typedef struct _AL_JOYSTICK_BUTTON_INFO -{ - AL_CONST char *name; -} _AL_JOYSTICK_BUTTON_INFO; - - -/* information about an entire joystick */ -typedef struct _AL_JOYSTICK_INFO -{ - int num_sticks; - int num_buttons; - _AL_JOYSTICK_STICK_INFO stick[_AL_MAX_JOYSTICK_STICKS]; - _AL_JOYSTICK_BUTTON_INFO button[_AL_MAX_JOYSTICK_BUTTONS]; -} _AL_JOYSTICK_INFO; - - -struct AL_JOYSTICK -{ - AL_EVENT_SOURCE es; - _AL_JOYSTICK_INFO info; - int num; -}; - - - -/* keyboard */ - -typedef struct AL_KEYBOARD_DRIVER /* new keyboard driver structure */ -{ - int id; - AL_CONST char *name; - AL_CONST char *desc; - AL_CONST char *ascii_name; - AL_METHOD(bool, init, (void)); - AL_METHOD(void, exit, (void)); - AL_METHOD(AL_KEYBOARD*, get_keyboard, (void)); - AL_METHOD(bool, set_leds, (int leds)); - AL_METHOD(AL_CONST char *, keycode_to_name, (int keycode)); - AL_METHOD(void, get_state, (AL_KBDSTATE *ret_state)); -} AL_KEYBOARD_DRIVER; - - -AL_ARRAY(_DRIVER_INFO, _al_keyboard_driver_list); - -AL_ARRAY(AL_CONST char *, _al_keyboard_common_names); - - -struct AL_KEYBOARD -{ - AL_EVENT_SOURCE es; -}; - - -/* Helpers for AL_KBDSTATE structures. */ - -#define _AL_KBDSTATE_KEY_DOWN(STATE, KEYCODE) \ - (((STATE).__key_down__internal__[(KEYCODE) / 32] & (1 << ((KEYCODE) % 32))) \ - ? true : false) - -#define _AL_KBDSTATE_SET_KEY_DOWN(STATE, KEYCODE) \ - do { \ - int kc = (KEYCODE); \ - (STATE).__key_down__internal__[kc / 32] |= (1 << (kc % 32)); \ - } while (0) - -#define _AL_KBDSTATE_CLEAR_KEY_DOWN(STATE, KEYCODE) \ - do { \ - int kc = (KEYCODE); \ - (STATE).__key_down__internal__[kc / 32] &= ~(1 << (kc % 32)); \ - } while (0) - - -AL_END_EXTERN_C - -#endif - -/* - * Local Variables: - * c-basic-offset: 3 - * indent-tabs-mode: nil - * End: - */ Added: allegro/branches/4.3/include/allegro/internal/aintern_events.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_events.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_events.h 2006-12-14 14:20:55 UTC (rev 7653) @@ -0,0 +1,33 @@ +#ifndef _al_included_aintern_events_h +#define _al_included_aintern_events_h + +AL_BEGIN_EXTERN_C + + +struct AL_EVENT_SOURCE +{ + unsigned long event_mask; + _AL_MUTEX mutex; + _AL_VECTOR queues; + AL_EVENT *all_events; + AL_EVENT *free_events; +}; + +AL_FUNC(void, _al_event_source_init, (AL_EVENT_SOURCE*, unsigned long event_mask)); +AL_FUNC(void, _al_event_source_free, (AL_EVENT_SOURCE*)); +AL_FUNC(void, _al_event_source_lock, (AL_EVENT_SOURCE*)); +AL_FUNC(void, _al_event_source_unlock, (AL_EVENT_SOURCE*)); +AL_FUNC(void, _al_event_source_on_registration_to_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); +AL_FUNC(void, _al_event_source_on_unregistration_from_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); +AL_FUNC(bool, _al_event_source_needs_to_generate_event, (AL_EVENT_SOURCE*, unsigned long event_type)); +AL_FUNC(AL_EVENT*, _al_event_source_get_unused_event, (AL_EVENT_SOURCE*)); +AL_FUNC(void, _al_event_source_emit_event, (AL_EVENT_SOURCE *, AL_EVENT*)); + +AL_FUNC(void, _al_release_event, (AL_EVENT*)); + +AL_FUNC(void, _al_event_queue_push_event, (AL_EVENT_QUEUE*, AL_EVENT*)); + + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Added: allegro/branches/4.3/include/allegro/internal/aintern_joystick.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_joystick.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_joystick.h 2006-12-14 14:20:55 UTC (rev 7653) @@ -0,0 +1,83 @@ +#ifndef _al_included_aintern_joystick_h +#define _al_included_aintern_joystick_h + +#include "allegro/internal/aintern_events.h" + +AL_BEGIN_EXTERN_C + + +typedef struct AL_JOYSTICK_DRIVER /* new joystick driver structure */ +{ + int id; + AL_CONST char *name; + AL_CONST char *desc; + AL_CONST char *ascii_name; + AL_METHOD(bool, init, (void)); + AL_METHOD(void, exit, (void)); + AL_METHOD(int, num_joysticks, (void)); + AL_METHOD(AL_JOYSTICK*, get_joystick, (int joyn)); + AL_METHOD(void, release_joystick, (AL_JOYSTICK*)); + AL_METHOD(void, get_state, (AL_JOYSTICK*, AL_JOYSTATE *ret_state)); +} AL_JOYSTICK_DRIVER; + + +AL_ARRAY(_DRIVER_INFO, _al_joystick_driver_list); + + +/* macros for constructing the driver list */ +#define _AL_BEGIN_JOYSTICK_DRIVER_LIST \ + _DRIVER_INFO _al_joystick_driver_list[] = \ + { + +#define _AL_END_JOYSTICK_DRIVER_LIST \ + { 0, NULL, FALSE } \ + }; + + +/* information about a single joystick axis */ +typedef struct _AL_JOYSTICK_AXIS_INFO +{ + AL_CONST char *name; +} _AL_JOYSTICK_AXIS_INFO; + + +/* information about one or more axis (a slider or directional control) */ +typedef struct _AL_JOYSTICK_STICK_INFO +{ + int flags; + int num_axes; + _AL_JOYSTICK_AXIS_INFO axis[_AL_MAX_JOYSTICK_AXES]; + AL_CONST char *name; +} _AL_JOYSTICK_STICK_INFO; + + +/* information about a joystick button */ +typedef struct _AL_JOYSTICK_BUTTON_INFO +{ + AL_CONST char *name; +} _AL_JOYSTICK_BUTTON_INFO; + + +/* information about an entire joystick */ +typedef struct _AL_JOYSTICK_INFO +{ + int num_sticks; + int num_buttons; + _AL_JOYSTICK_STICK_INFO stick[_AL_MAX_JOYSTICK_STICKS]; + _AL_JOYSTICK_BUTTON_INFO button[_AL_MAX_JOYSTICK_BUTTONS]; +} _AL_JOYSTICK_INFO; + + +struct AL_JOYSTICK +{ + AL_EVENT_SOURCE es; + _AL_JOYSTICK_INFO info; + int num; +}; + + +AL_END_EXTERN_C + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Added: allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h 2006-12-14 14:20:55 UTC (rev 7653) @@ -0,0 +1,56 @@ +#ifndef _al_included_aintern_keyboard_h +#define _al_included_aintern_keyboard_h + +AL_BEGIN_EXTERN_C + + +typedef struct AL_KEYBOARD_DRIVER /* new keyboard driver structure */ +{ + int id; + AL_CONST char *name; + AL_CONST char *desc; + AL_CONST char *ascii_name; + AL_METHOD(bool, init, (void)); + AL_METHOD(void, exit, (void)); + AL_METHOD(AL_KEYBOARD*, get_keyboard, (void)); + AL_METHOD(bool, set_leds, (int leds)); + AL_METHOD(AL_CONST char *, keycode_to_name, (int keycode)); + AL_METHOD(void, get_state, (AL_KBDSTATE *ret_state)); +} AL_KEYBOARD_DRIVER; + + +AL_ARRAY(_DRIVER_INFO, _al_keyboard_driver_list); + +AL_ARRAY(AL_CONST char *, _al_keyboard_common_names); + + +struct AL_KEYBOARD +{ + AL_EVENT_SOURCE es; +}; + + +/* Helpers for AL_KBDSTATE structures. */ + +#define _AL_KBDSTATE_KEY_DOWN(STATE, KEYCODE) \ + (((STATE).__key_down__internal__[(KEYCODE) / 32] & (1 << ((KEYCODE) % 32))) \ + ? true : false) + +#define _AL_KBDSTATE_SET_KEY_DOWN(STATE, KEYCODE) \ + do { \ + int kc = (KEYCODE); \ + (STATE).__key_down__internal__[kc / 32] |= (1 << (kc % 32)); \ + } while (0) + +#define _AL_KBDSTATE_CLEAR_KEY_DOWN(STATE, KEYCODE) \ + do { \ + int kc = (KEYCODE); \ + (STATE).__key_down__internal__[kc / 32] &= ~(1 << (kc % 32)); \ + } while (0) + + +AL_END_EXTERN_C + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Modified: allegro/branches/4.3/setup/setup.c =================================================================== --- allegro/branches/4.3/setup/setup.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/setup/setup.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -33,7 +33,7 @@ #endif /* FIXME: for _al_joystick_driver_list */ -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_joystick.h" #include "setup.h" Modified: allegro/branches/4.3/src/events.c =================================================================== --- allegro/branches/4.3/src/events.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/events.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -21,7 +21,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/evtsrc.c =================================================================== --- allegro/branches/4.3/src/evtsrc.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/evtsrc.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -19,7 +19,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/joynu.c =================================================================== --- allegro/branches/4.3/src/joynu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/joynu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -21,7 +21,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_joystick.h" Modified: allegro/branches/4.3/src/keybdnu.c =================================================================== --- allegro/branches/4.3/src/keybdnu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/keybdnu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -21,7 +21,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_keyboard.h" Modified: allegro/branches/4.3/src/linux/ljoynu.c =================================================================== --- allegro/branches/4.3/src/linux/ljoynu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/linux/ljoynu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -31,7 +31,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_joystick.h" #ifdef HAVE_LINUX_JOYSTICK_H Modified: allegro/branches/4.3/src/linux/lkeybdnu.c =================================================================== --- allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -47,7 +47,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_keyboard.h" #define PREFIX_I "al-ckey INFO: " #define PREFIX_W "al-ckey WARNING: " Modified: allegro/branches/4.3/src/unix/ujoydrv.c =================================================================== --- allegro/branches/4.3/src/unix/ujoydrv.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/unix/ujoydrv.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -19,7 +19,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_joystick.h" Modified: allegro/branches/4.3/src/unix/utimernu.c =================================================================== --- allegro/branches/4.3/src/unix/utimernu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/unix/utimernu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -22,7 +22,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/win/wjoydrv.c =================================================================== --- allegro/branches/4.3/src/win/wjoydrv.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/win/wjoydrv.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -20,7 +20,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_joystick.h" #ifndef ALLEGRO_WINDOWS #error something is wrong with the makefile Modified: allegro/branches/4.3/src/win/wjoydxnu.c =================================================================== --- allegro/branches/4.3/src/win/wjoydxnu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/win/wjoydxnu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -59,7 +59,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include "allegro/platform/aintwin.h" -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_joystick.h" #ifndef SCAN_DEPEND #ifdef ALLEGRO_MINGW32 Modified: allegro/branches/4.3/src/win/wkeybdnu.c =================================================================== --- allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -31,7 +31,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_keyboard.h" #include "allegro/platform/aintwin.h" #ifndef SCAN_DEPEND Modified: allegro/branches/4.3/src/win/wtimernu.c =================================================================== --- allegro/branches/4.3/src/win/wtimernu.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/win/wtimernu.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -23,7 +23,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" #ifndef SCAN_DEPEND #include <mmsystem.h> Modified: allegro/branches/4.3/src/x/xkeyboard.c =================================================================== --- allegro/branches/4.3/src/x/xkeyboard.c 2006-12-13 17:02:57 UTC (rev 7652) +++ allegro/branches/4.3/src/x/xkeyboard.c 2006-12-14 14:20:55 UTC (rev 7653) @@ -33,7 +33,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" #include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_events.h" +#include "allegro/internal/aintern_keyboard.h" #include "xwin.h" /*----------------------------------------------------------------------*/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-12-15 02:08:54
|
Revision: 7655 http://svn.sourceforge.net/alleg/?rev=7655&view=rev Author: tjaden Date: 2006-12-14 18:08:54 -0800 (Thu, 14 Dec 2006) Log Message: ----------- Broke new API internals out of allegro/internal/aintern.h and into separate aintern_events.h, aintern_dtor.h, aintern_thread.h, aintern_vector.h files. Also made it not necessary to include ALLEGRO_INTERNAL_HEADER directly in C source files any more (it's still included by aintern_thread.h). Modified Paths: -------------- allegro/branches/4.3/include/allegro/internal/aintern.h allegro/branches/4.3/include/allegro/internal/aintern_events.h allegro/branches/4.3/include/allegro/platform/aintunix.h allegro/branches/4.3/include/allegro/platform/aintwin.h allegro/branches/4.3/include/xalleg.h allegro/branches/4.3/src/allegro.c allegro/branches/4.3/src/compat/cokeybd.c allegro/branches/4.3/src/compat/cotimer.c allegro/branches/4.3/src/display.c allegro/branches/4.3/src/dtor.c allegro/branches/4.3/src/events.c allegro/branches/4.3/src/evtsrc.c allegro/branches/4.3/src/joynu.c allegro/branches/4.3/src/keybdnu.c allegro/branches/4.3/src/linux/ljoynu.c allegro/branches/4.3/src/linux/lkeybdnu.c allegro/branches/4.3/src/macosx/drivers.m allegro/branches/4.3/src/macosx/hidjoy.m allegro/branches/4.3/src/macosx/keybd.m allegro/branches/4.3/src/misc/vector.c allegro/branches/4.3/src/mixer.c allegro/branches/4.3/src/unix/ufdwatch.c allegro/branches/4.3/src/unix/ujoydrv.c allegro/branches/4.3/src/unix/utimernu.c allegro/branches/4.3/src/unix/uxthread.c allegro/branches/4.3/src/win/wjoydrv.c allegro/branches/4.3/src/win/wkeybdnu.c allegro/branches/4.3/src/win/wtimernu.c allegro/branches/4.3/src/win/wxthread.c allegro/branches/4.3/src/x/xkeyboard.c Added Paths: ----------- allegro/branches/4.3/include/allegro/internal/aintern_dtor.h allegro/branches/4.3/include/allegro/internal/aintern_thread.h allegro/branches/4.3/include/allegro/internal/aintern_vector.h Modified: allegro/branches/4.3/include/allegro/internal/aintern.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern.h 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/include/allegro/internal/aintern.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -1237,83 +1237,6 @@ -/*----------------------------------------------------------------------* - * * - * New things * - * * - *----------------------------------------------------------------------*/ - -/* threads */ -typedef struct _AL_THREAD _AL_THREAD; -AL_FUNC(void, _al_thread_create, (_AL_THREAD*, - void (*proc)(_AL_THREAD*, void*), - void *arg)); -/* static inline bool _al_thread_should_stop(_AL_THREAD *); */ -AL_FUNC(void, _al_thread_join, (_AL_THREAD*)); - -typedef struct _AL_MUTEX _AL_MUTEX; -AL_FUNC(void, _al_mutex_init, (_AL_MUTEX*)); -AL_FUNC(void, _al_mutex_init_recursive, (_AL_MUTEX*)); -AL_FUNC(void, _al_mutex_destroy, (_AL_MUTEX*)); -/* static inline void _al_mutex_lock(_AL_MUTEX*); */ -/* static inline void _al_mutex_unlock(_AL_MUTEX*); */ - -typedef struct _AL_COND _AL_COND; -AL_FUNC(void, _al_cond_init, (_AL_COND*)); -AL_FUNC(void, _al_cond_destroy, (_AL_COND*)); -AL_FUNC(void, _al_cond_wait, (_AL_COND*, _AL_MUTEX*)); -AL_FUNC(int, _al_cond_timedwait, (_AL_COND*, _AL_MUTEX*, unsigned long abstime)); -AL_FUNC(void, _al_cond_broadcast, (_AL_COND*)); -AL_FUNC(void, _al_cond_signal, (_AL_COND*)); - -/* destructors */ -AL_FUNC(void, _al_init_destructors, (void)); -AL_FUNC(void, _al_register_destructor, (void *object, void (*func)(void*))); -AL_FUNC(void, _al_unregister_destructor, (void *object)); - -/* events */ -union AL_EVENT; -AL_FUNC(void, _al_copy_event, (union AL_EVENT *dest, AL_CONST union AL_EVENT *src)); - -/* vectors */ -typedef struct _AL_VECTOR -{ - /* private */ - size_t _itemsize; - char* _items; /* total size == (size + unused) * itemsize */ - size_t _size; - size_t _unused; -} _AL_VECTOR; - -#define _AL_VECTOR_INITIALIZER(typ) { sizeof(typ), 0, 0, 0 } - -AL_FUNC(void, _al_vector_init, (_AL_VECTOR*, size_t itemsize)); -AL_INLINE(size_t, _al_vector_size, (const _AL_VECTOR *vec), -{ - return vec->_size; -}) -AL_INLINE(bool, _al_vector_is_empty, (const _AL_VECTOR *vec), -{ - ASSERT(vec); - return vec->_size == 0 ? true : false; -}) -AL_INLINE(bool, _al_vector_is_nonempty, (const _AL_VECTOR *vec), -{ - ASSERT(vec); - return !_al_vector_is_empty(vec); -}) -AL_FUNC(void*, _al_vector_ref, (const _AL_VECTOR*, unsigned int index)); -AL_FUNC(void*, _al_vector_ref_front, (const _AL_VECTOR*)); -AL_FUNC(void*, _al_vector_ref_back, (const _AL_VECTOR*)); -AL_FUNC(void*, _al_vector_alloc_back, (_AL_VECTOR*)); -AL_FUNC(int, _al_vector_find, (const _AL_VECTOR*, const void *ptr_item)); -AL_FUNC(bool, _al_vector_contains, (const _AL_VECTOR*, const void *ptr_item)); -AL_FUNC(void, _al_vector_delete_at, (_AL_VECTOR*, unsigned int index)); -AL_FUNC(bool, _al_vector_find_and_delete, (_AL_VECTOR*, const void *ptr_item)); -AL_FUNC(void, _al_vector_free, (_AL_VECTOR*)); - - - #ifdef __cplusplus } #endif Added: allegro/branches/4.3/include/allegro/internal/aintern_dtor.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_dtor.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_dtor.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -0,0 +1,16 @@ +#ifndef _al_included_aintern_dtor_h +#define _al_included_aintern_dtor_h + +AL_BEGIN_EXTERN_C + + +AL_FUNC(void, _al_init_destructors, (void)); +AL_FUNC(void, _al_register_destructor, (void *object, void (*func)(void*))); +AL_FUNC(void, _al_unregister_destructor, (void *object)); + + +AL_END_EXTERN_C + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Modified: allegro/branches/4.3/include/allegro/internal/aintern_events.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_events.h 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/include/allegro/internal/aintern_events.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -1,9 +1,14 @@ #ifndef _al_included_aintern_events_h #define _al_included_aintern_events_h +#include "allegro/internal/aintern_thread.h" +#include "allegro/internal/aintern_vector.h" + AL_BEGIN_EXTERN_C +union AL_EVENT; + struct AL_EVENT_SOURCE { unsigned long event_mask; @@ -13,6 +18,9 @@ AL_EVENT *free_events; }; + +AL_FUNC(void, _al_copy_event, (union AL_EVENT *dest, AL_CONST union AL_EVENT *src)); + AL_FUNC(void, _al_event_source_init, (AL_EVENT_SOURCE*, unsigned long event_mask)); AL_FUNC(void, _al_event_source_free, (AL_EVENT_SOURCE*)); AL_FUNC(void, _al_event_source_lock, (AL_EVENT_SOURCE*)); @@ -28,6 +36,8 @@ AL_FUNC(void, _al_event_queue_push_event, (AL_EVENT_QUEUE*, AL_EVENT*)); +AL_END_EXTERN_C + #endif /* vi ts=8 sts=3 sw=3 et */ Added: allegro/branches/4.3/include/allegro/internal/aintern_thread.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_thread.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_thread.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -0,0 +1,40 @@ +#ifndef _al_included_aintern_thread_h +#define _al_included_aintern_thread_h + +#include ALLEGRO_INTERNAL_HEADER + +AL_BEGIN_EXTERN_C + + +typedef struct _AL_THREAD _AL_THREAD; +typedef struct _AL_MUTEX _AL_MUTEX; +typedef struct _AL_COND _AL_COND; + + +AL_FUNC(void, _al_thread_create, (_AL_THREAD*, + void (*proc)(_AL_THREAD*, void*), + void *arg)); +/* static inline bool _al_thread_should_stop(_AL_THREAD *); */ +AL_FUNC(void, _al_thread_join, (_AL_THREAD*)); + + +AL_FUNC(void, _al_mutex_init, (_AL_MUTEX*)); +AL_FUNC(void, _al_mutex_init_recursive, (_AL_MUTEX*)); +AL_FUNC(void, _al_mutex_destroy, (_AL_MUTEX*)); +/* static inline void _al_mutex_lock(_AL_MUTEX*); */ +/* static inline void _al_mutex_unlock(_AL_MUTEX*); */ + + +AL_FUNC(void, _al_cond_init, (_AL_COND*)); +AL_FUNC(void, _al_cond_destroy, (_AL_COND*)); +AL_FUNC(void, _al_cond_wait, (_AL_COND*, _AL_MUTEX*)); +AL_FUNC(int, _al_cond_timedwait, (_AL_COND*, _AL_MUTEX*, unsigned long abstime)); +AL_FUNC(void, _al_cond_broadcast, (_AL_COND*)); +AL_FUNC(void, _al_cond_signal, (_AL_COND*)); + + +AL_END_EXTERN_C + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Added: allegro/branches/4.3/include/allegro/internal/aintern_vector.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_vector.h (rev 0) +++ allegro/branches/4.3/include/allegro/internal/aintern_vector.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -0,0 +1,49 @@ +#ifndef _al_included_aintern_vector_h +#define _al_included_aintern_vector_h + +AL_BEGIN_EXTERN_C + + +typedef struct _AL_VECTOR +{ + /* private */ + size_t _itemsize; + char* _items; /* total size == (size + unused) * itemsize */ + size_t _size; + size_t _unused; +} _AL_VECTOR; + +#define _AL_VECTOR_INITIALIZER(typ) { sizeof(typ), 0, 0, 0 } + + +AL_FUNC(void, _al_vector_init, (_AL_VECTOR*, size_t itemsize)); +AL_INLINE(size_t, _al_vector_size, (const _AL_VECTOR *vec), +{ + return vec->_size; +}) +AL_INLINE(bool, _al_vector_is_empty, (const _AL_VECTOR *vec), +{ + ASSERT(vec); + return vec->_size == 0 ? true : false; +}) +AL_INLINE(bool, _al_vector_is_nonempty, (const _AL_VECTOR *vec), +{ + ASSERT(vec); + return !_al_vector_is_empty(vec); +}) +AL_FUNC(void*, _al_vector_ref, (const _AL_VECTOR*, unsigned int index)); +AL_FUNC(void*, _al_vector_ref_front, (const _AL_VECTOR*)); +AL_FUNC(void*, _al_vector_ref_back, (const _AL_VECTOR*)); +AL_FUNC(void*, _al_vector_alloc_back, (_AL_VECTOR*)); +AL_FUNC(int, _al_vector_find, (const _AL_VECTOR*, const void *ptr_item)); +AL_FUNC(bool, _al_vector_contains, (const _AL_VECTOR*, const void *ptr_item)); +AL_FUNC(void, _al_vector_delete_at, (_AL_VECTOR*, unsigned int index)); +AL_FUNC(bool, _al_vector_find_and_delete, (_AL_VECTOR*, const void *ptr_item)); +AL_FUNC(void, _al_vector_free, (_AL_VECTOR*)); + + +AL_END_EXTERN_C + +#endif + +/* vi ts=8 sts=3 sw=3 et */ Modified: allegro/branches/4.3/include/allegro/platform/aintunix.h =================================================================== --- allegro/branches/4.3/include/allegro/platform/aintunix.h 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/include/allegro/platform/aintunix.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -162,7 +162,6 @@ /* TODO: replace bg_man */ #include <pthread.h> -#include "allegro/internal/aintern.h" AL_BEGIN_EXTERN_C @@ -173,11 +172,11 @@ pthread_t thread; pthread_mutex_t mutex; bool should_stop; - void (*proc)(_AL_THREAD *self, void *arg); + void (*proc)(struct _AL_THREAD *self, void *arg); void *arg; }; -AL_INLINE(bool, _al_thread_should_stop, (_AL_THREAD *t), +AL_INLINE(bool, _al_thread_should_stop, (struct _AL_THREAD *t), { bool ret; pthread_mutex_lock(&t->mutex); @@ -196,14 +195,14 @@ /* makes no sense, but shuts gcc up */ #define _AL_MARK_MUTEX_UNINITED(M) do { M.inited = false; } while (0) -AL_FUNC(void, _al_mutex_init, (_AL_MUTEX*)); -AL_FUNC(void, _al_mutex_destroy, (_AL_MUTEX*)); -AL_INLINE(void, _al_mutex_lock, (_AL_MUTEX *m), +AL_FUNC(void, _al_mutex_init, (struct _AL_MUTEX*)); +AL_FUNC(void, _al_mutex_destroy, (struct _AL_MUTEX*)); +AL_INLINE(void, _al_mutex_lock, (struct _AL_MUTEX *m), { if (m->inited) pthread_mutex_lock(&m->mutex); }) -AL_INLINE(void, _al_mutex_unlock, (_AL_MUTEX *m), +AL_INLINE(void, _al_mutex_unlock, (struct _AL_MUTEX *m), { if (m->inited) pthread_mutex_unlock(&m->mutex); @@ -214,27 +213,27 @@ pthread_cond_t cond; }; -AL_INLINE(void, _al_cond_init, (_AL_COND *cond), +AL_INLINE(void, _al_cond_init, (struct _AL_COND *cond), { pthread_cond_init(&cond->cond, NULL); }) -AL_INLINE(void, _al_cond_destroy, (_AL_COND *cond), +AL_INLINE(void, _al_cond_destroy, (struct _AL_COND *cond), { pthread_cond_destroy(&cond->cond); }) -AL_INLINE(void, _al_cond_wait, (_AL_COND *cond, _AL_MUTEX *mutex), +AL_INLINE(void, _al_cond_wait, (struct _AL_COND *cond, struct _AL_MUTEX *mutex), { pthread_cond_wait(&cond->cond, &mutex->mutex); }) -AL_INLINE(void, _al_cond_broadcast, (_AL_COND *cond), +AL_INLINE(void, _al_cond_broadcast, (struct _AL_COND *cond), { pthread_cond_broadcast(&cond->cond); }) -AL_INLINE(void, _al_cond_signal, (_AL_COND *cond), +AL_INLINE(void, _al_cond_signal, (struct _AL_COND *cond), { pthread_cond_signal(&cond->cond); }) Modified: allegro/branches/4.3/include/allegro/platform/aintwin.h =================================================================== --- allegro/branches/4.3/include/allegro/platform/aintwin.h 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/include/allegro/platform/aintwin.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -212,11 +212,11 @@ HANDLE thread; CRITICAL_SECTION cs; bool should_stop; /* XXX: use a dedicated terminate Event object? */ - void (*proc)(_AL_THREAD *self, void *arg); + void (*proc)(struct _AL_THREAD *self, void *arg); void *arg; }; -AL_INLINE(bool, _al_thread_should_stop, (_AL_THREAD *t), +AL_INLINE(bool, _al_thread_should_stop, (struct _AL_THREAD *t), { bool ret; EnterCriticalSection(&t->cs); @@ -233,12 +233,12 @@ #define _AL_MUTEX_UNINITED { NULL } #define _AL_MARK_MUTEX_UNINITED(M) do { M.cs = NULL; } while (0) -AL_INLINE(void, _al_mutex_lock, (_AL_MUTEX *m), +AL_INLINE(void, _al_mutex_lock, (struct _AL_MUTEX *m), { if (m->cs) EnterCriticalSection(m->cs); }) -AL_INLINE(void, _al_mutex_unlock, (_AL_MUTEX *m), +AL_INLINE(void, _al_mutex_unlock, (struct _AL_MUTEX *m), { if (m->cs) LeaveCriticalSection(m->cs); Modified: allegro/branches/4.3/include/xalleg.h =================================================================== --- allegro/branches/4.3/include/xalleg.h 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/include/xalleg.h 2006-12-15 02:08:54 UTC (rev 7655) @@ -24,6 +24,7 @@ #include "allegro/internal/aintern.h" +#include "allegro/internal/aintern_thread.h" #include "allegro/platform/aintunix.h" #include <string.h> Modified: allegro/branches/4.3/src/allegro.c =================================================================== --- allegro/branches/4.3/src/allegro.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/allegro.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -22,6 +22,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" +#include "allegro/internal/aintern_dtor.h" Modified: allegro/branches/4.3/src/compat/cokeybd.c =================================================================== --- allegro/branches/4.3/src/compat/cokeybd.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/compat/cokeybd.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -37,7 +37,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" Modified: allegro/branches/4.3/src/compat/cotimer.c =================================================================== --- allegro/branches/4.3/src/compat/cotimer.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/compat/cotimer.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -25,7 +25,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" Modified: allegro/branches/4.3/src/display.c =================================================================== --- allegro/branches/4.3/src/display.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/display.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -19,6 +19,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" +#include "allegro/internal/aintern_vector.h" #include "allegro/display.h" Modified: allegro/branches/4.3/src/dtor.c =================================================================== --- allegro/branches/4.3/src/dtor.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/dtor.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -24,7 +24,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" +#include "allegro/internal/aintern_vector.h" Modified: allegro/branches/4.3/src/events.c =================================================================== --- allegro/branches/4.3/src/events.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/events.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -20,7 +20,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_dtor.h" #include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/evtsrc.c =================================================================== --- allegro/branches/4.3/src/evtsrc.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/evtsrc.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -18,7 +18,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/joynu.c =================================================================== --- allegro/branches/4.3/src/joynu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/joynu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -20,7 +20,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_joystick.h" Modified: allegro/branches/4.3/src/keybdnu.c =================================================================== --- allegro/branches/4.3/src/keybdnu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/keybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -20,7 +20,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_keyboard.h" Modified: allegro/branches/4.3/src/linux/ljoynu.c =================================================================== --- allegro/branches/4.3/src/linux/ljoynu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/linux/ljoynu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -30,7 +30,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_joystick.h" Modified: allegro/branches/4.3/src/linux/lkeybdnu.c =================================================================== --- allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -46,10 +46,11 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_keyboard.h" + + #define PREFIX_I "al-ckey INFO: " #define PREFIX_W "al-ckey WARNING: " #define PREFIX_E "al-ckey ERROR: " Modified: allegro/branches/4.3/src/macosx/drivers.m =================================================================== --- allegro/branches/4.3/src/macosx/drivers.m 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/macosx/drivers.m 2006-12-15 02:08:54 UTC (rev 7655) @@ -18,8 +18,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_joystick.h" #include "allegro/platform/aintosx.h" #ifndef ALLEGRO_MACOSX Modified: allegro/branches/4.3/src/macosx/hidjoy.m =================================================================== --- allegro/branches/4.3/src/macosx/hidjoy.m 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/macosx/hidjoy.m 2006-12-15 02:08:54 UTC (rev 7655) @@ -17,8 +17,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_joystick.h" #include "allegro/platform/aintosx.h" #ifndef ALLEGRO_MACOSX Modified: allegro/branches/4.3/src/macosx/keybd.m =================================================================== --- allegro/branches/4.3/src/macosx/keybd.m 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/macosx/keybd.m 2006-12-15 02:08:54 UTC (rev 7655) @@ -20,8 +20,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER -#include "allegro/internal/aintern2.h" +#include "allegro/internal/aintern_keyboard.h" #include "allegro/platform/aintosx.h" #ifndef ALLEGRO_MACOSX Modified: allegro/branches/4.3/src/misc/vector.c =================================================================== --- allegro/branches/4.3/src/misc/vector.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/misc/vector.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -30,6 +30,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" +#include "allegro/internal/aintern_vector.h" /* return the given item's starting address in the vector */ Modified: allegro/branches/4.3/src/mixer.c =================================================================== --- allegro/branches/4.3/src/mixer.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/mixer.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -32,7 +32,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" Modified: allegro/branches/4.3/src/unix/ufdwatch.c =================================================================== --- allegro/branches/4.3/src/unix/ufdwatch.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/unix/ufdwatch.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -27,7 +27,8 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" +#include "allegro/internal/aintern_vector.h" Modified: allegro/branches/4.3/src/unix/ujoydrv.c =================================================================== --- allegro/branches/4.3/src/unix/ujoydrv.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/unix/ujoydrv.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -18,7 +18,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_joystick.h" Modified: allegro/branches/4.3/src/unix/utimernu.c =================================================================== --- allegro/branches/4.3/src/unix/utimernu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/unix/utimernu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -21,7 +21,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_dtor.h" #include "allegro/internal/aintern_events.h" Modified: allegro/branches/4.3/src/unix/uxthread.c =================================================================== --- allegro/branches/4.3/src/unix/uxthread.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/unix/uxthread.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -23,7 +23,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" Modified: allegro/branches/4.3/src/win/wjoydrv.c =================================================================== --- allegro/branches/4.3/src/win/wjoydrv.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/win/wjoydrv.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -19,7 +19,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_joystick.h" #ifndef ALLEGRO_WINDOWS Modified: allegro/branches/4.3/src/win/wkeybdnu.c =================================================================== --- allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -30,7 +30,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_keyboard.h" #include "allegro/platform/aintwin.h" Modified: allegro/branches/4.3/src/win/wtimernu.c =================================================================== --- allegro/branches/4.3/src/win/wtimernu.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/win/wtimernu.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -22,7 +22,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_dtor.h" #include "allegro/internal/aintern_events.h" #ifndef SCAN_DEPEND Modified: allegro/branches/4.3/src/win/wxthread.c =================================================================== --- allegro/branches/4.3/src/win/wxthread.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/win/wxthread.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -18,7 +18,7 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER +#include "allegro/internal/aintern_thread.h" #ifndef SCAN_DEPEND #include <process.h> Modified: allegro/branches/4.3/src/x/xkeyboard.c =================================================================== --- allegro/branches/4.3/src/x/xkeyboard.c 2006-12-15 02:05:13 UTC (rev 7654) +++ allegro/branches/4.3/src/x/xkeyboard.c 2006-12-15 02:08:54 UTC (rev 7655) @@ -32,7 +32,6 @@ #include "allegro.h" #include "allegro/internal/aintern.h" -#include ALLEGRO_INTERNAL_HEADER #include "allegro/internal/aintern_events.h" #include "allegro/internal/aintern_keyboard.h" #include "xwin.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tj...@us...> - 2006-12-15 07:51:55
|
Revision: 7656 http://svn.sourceforge.net/alleg/?rev=7656&view=rev Author: tjaden Date: 2006-12-14 23:51:52 -0800 (Thu, 14 Dec 2006) Log Message: ----------- Cosmetic changes to 4.3 events, keyboard and joystick code: - use AL_EVENT_TYPE instead of unsigned int for event type variables - use AL_JOYFLAGS instead of int similarly - use more descriptive names for keyboard and joystick driver fields - use const in place of AL_CONST Modified Paths: -------------- allegro/branches/4.3/include/allegro/events.h allegro/branches/4.3/include/allegro/internal/aintern_events.h allegro/branches/4.3/include/allegro/internal/aintern_joystick.h allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h allegro/branches/4.3/include/allegro/joystick.h allegro/branches/4.3/include/allegro/keyboard.h allegro/branches/4.3/include/allegro/platform/alunix.h allegro/branches/4.3/src/events.c allegro/branches/4.3/src/evtsrc.c allegro/branches/4.3/src/joynu.c allegro/branches/4.3/src/keybdnu.c allegro/branches/4.3/src/linux/ljoynu.c allegro/branches/4.3/src/linux/lkeybdnu.c allegro/branches/4.3/src/win/wjoydxnu.c allegro/branches/4.3/src/win/wkeybdnu.c allegro/branches/4.3/src/x/xkeyboard.c Modified: allegro/branches/4.3/include/allegro/events.h =================================================================== --- allegro/branches/4.3/include/allegro/events.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/events.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -13,6 +13,8 @@ * Note: these have to be usable in masks. */ +typedef unsigned int AL_EVENT_TYPE; + enum { AL_EVENT_JOYSTICK_AXIS = 0x0001, @@ -55,7 +57,7 @@ */ #define _AL_EVENT_HEADER(srctype) \ - unsigned int type; \ + AL_EVENT_TYPE type; \ srctype *source; \ unsigned long timestamp; \ signed int _refcount; /* internal */ \ @@ -125,7 +127,7 @@ union AL_EVENT { /* This must be the same as the first field of _AL_EVENT_HEADER. */ - unsigned int type; + AL_EVENT_TYPE type; /* This is to allow the user to access the other fields which are * common to all event types, without using some specific type * structure. A C hack. @@ -167,8 +169,8 @@ typedef struct AL_EVENT_SOURCE AL_EVENT_SOURCE; -AL_FUNC(void, al_event_source_set_mask, (AL_EVENT_SOURCE*, unsigned long mask)); -AL_FUNC(unsigned long, al_event_source_mask, (AL_EVENT_SOURCE*)); +AL_FUNC(void, al_event_source_set_mask, (AL_EVENT_SOURCE*, AL_EVENT_TYPE mask)); +AL_FUNC(AL_EVENT_TYPE, al_event_source_mask, (AL_EVENT_SOURCE*)); Modified: allegro/branches/4.3/include/allegro/internal/aintern_events.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_events.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/internal/aintern_events.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -11,7 +11,7 @@ struct AL_EVENT_SOURCE { - unsigned long event_mask; + AL_EVENT_TYPE event_mask; _AL_MUTEX mutex; _AL_VECTOR queues; AL_EVENT *all_events; @@ -19,15 +19,15 @@ }; -AL_FUNC(void, _al_copy_event, (union AL_EVENT *dest, AL_CONST union AL_EVENT *src)); +AL_FUNC(void, _al_copy_event, (union AL_EVENT *dest, const union AL_EVENT *src)); -AL_FUNC(void, _al_event_source_init, (AL_EVENT_SOURCE*, unsigned long event_mask)); +AL_FUNC(void, _al_event_source_init, (AL_EVENT_SOURCE*, AL_EVENT_TYPE event_mask)); AL_FUNC(void, _al_event_source_free, (AL_EVENT_SOURCE*)); AL_FUNC(void, _al_event_source_lock, (AL_EVENT_SOURCE*)); AL_FUNC(void, _al_event_source_unlock, (AL_EVENT_SOURCE*)); AL_FUNC(void, _al_event_source_on_registration_to_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); AL_FUNC(void, _al_event_source_on_unregistration_from_queue, (AL_EVENT_SOURCE*, AL_EVENT_QUEUE*)); -AL_FUNC(bool, _al_event_source_needs_to_generate_event, (AL_EVENT_SOURCE*, unsigned long event_type)); +AL_FUNC(bool, _al_event_source_needs_to_generate_event, (AL_EVENT_SOURCE*, AL_EVENT_TYPE event_type)); AL_FUNC(AL_EVENT*, _al_event_source_get_unused_event, (AL_EVENT_SOURCE*)); AL_FUNC(void, _al_event_source_emit_event, (AL_EVENT_SOURCE *, AL_EVENT*)); Modified: allegro/branches/4.3/include/allegro/internal/aintern_joystick.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_joystick.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/internal/aintern_joystick.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -6,18 +6,18 @@ AL_BEGIN_EXTERN_C -typedef struct AL_JOYSTICK_DRIVER /* new joystick driver structure */ +typedef struct AL_JOYSTICK_DRIVER { - int id; - AL_CONST char *name; - AL_CONST char *desc; - AL_CONST char *ascii_name; - AL_METHOD(bool, init, (void)); - AL_METHOD(void, exit, (void)); + int joydrv_id; + const char *joydrv_name; + const char *joydrv_desc; + const char *joydrv_ascii_name; + AL_METHOD(bool, init_joystick, (void)); + AL_METHOD(void, exit_joystick, (void)); AL_METHOD(int, num_joysticks, (void)); AL_METHOD(AL_JOYSTICK*, get_joystick, (int joyn)); AL_METHOD(void, release_joystick, (AL_JOYSTICK*)); - AL_METHOD(void, get_state, (AL_JOYSTICK*, AL_JOYSTATE *ret_state)); + AL_METHOD(void, get_joystick_state, (AL_JOYSTICK*, AL_JOYSTATE *ret_state)); } AL_JOYSTICK_DRIVER; @@ -37,24 +37,24 @@ /* information about a single joystick axis */ typedef struct _AL_JOYSTICK_AXIS_INFO { - AL_CONST char *name; + const char *name; } _AL_JOYSTICK_AXIS_INFO; /* information about one or more axis (a slider or directional control) */ typedef struct _AL_JOYSTICK_STICK_INFO { - int flags; + AL_JOYFLAGS flags; int num_axes; _AL_JOYSTICK_AXIS_INFO axis[_AL_MAX_JOYSTICK_AXES]; - AL_CONST char *name; + const char *name; } _AL_JOYSTICK_STICK_INFO; /* information about a joystick button */ typedef struct _AL_JOYSTICK_BUTTON_INFO { - AL_CONST char *name; + const char *name; } _AL_JOYSTICK_BUTTON_INFO; Modified: allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h =================================================================== --- allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/internal/aintern_keyboard.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -4,24 +4,24 @@ AL_BEGIN_EXTERN_C -typedef struct AL_KEYBOARD_DRIVER /* new keyboard driver structure */ +typedef struct AL_KEYBOARD_DRIVER { - int id; - AL_CONST char *name; - AL_CONST char *desc; - AL_CONST char *ascii_name; - AL_METHOD(bool, init, (void)); - AL_METHOD(void, exit, (void)); + int keydrv_id; + const char *keydrv_name; + const char *keydrv_desc; + const char *keydrv_ascii_name; + AL_METHOD(bool, init_keyboard, (void)); + AL_METHOD(void, exit_keyboard, (void)); AL_METHOD(AL_KEYBOARD*, get_keyboard, (void)); - AL_METHOD(bool, set_leds, (int leds)); - AL_METHOD(AL_CONST char *, keycode_to_name, (int keycode)); - AL_METHOD(void, get_state, (AL_KBDSTATE *ret_state)); + AL_METHOD(bool, set_keyboard_leds, (int leds)); + AL_METHOD(const char *, keycode_to_name, (int keycode)); + AL_METHOD(void, get_keyboard_state, (AL_KBDSTATE *ret_state)); } AL_KEYBOARD_DRIVER; AL_ARRAY(_DRIVER_INFO, _al_keyboard_driver_list); -AL_ARRAY(AL_CONST char *, _al_keyboard_common_names); +AL_ARRAY(const char *, _al_keyboard_common_names); struct AL_KEYBOARD Modified: allegro/branches/4.3/include/allegro/joystick.h =================================================================== --- allegro/branches/4.3/include/allegro/joystick.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/joystick.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -46,6 +46,8 @@ /* Flags for al_joystick_stick_flags */ +typedef int AL_JOYFLAGS; + enum { AL_JOYFLAG_DIGITAL = 0x01, @@ -60,17 +62,17 @@ AL_FUNC(int, al_num_joysticks, (void)); AL_FUNC(AL_JOYSTICK*, al_get_joystick, (int joyn)); AL_FUNC(void, al_release_joystick, (AL_JOYSTICK*)); -AL_FUNC(AL_CONST char*, al_joystick_name, (AL_JOYSTICK*)); +AL_FUNC(const char*, al_joystick_name, (AL_JOYSTICK*)); -AL_FUNC(int, al_joystick_num_sticks, (AL_JOYSTICK*)); -AL_FUNC(int, al_joystick_stick_flags,(AL_JOYSTICK*, int stick)); /* junk? */ -AL_FUNC(AL_CONST char*, al_joystick_stick_name, (AL_JOYSTICK*, int stick)); +AL_FUNC(int, al_joystick_num_sticks, (const AL_JOYSTICK*)); +AL_FUNC(AL_JOYFLAGS, al_joystick_stick_flags,(const AL_JOYSTICK*, int stick)); /* junk? */ +AL_FUNC(const char*, al_joystick_stick_name, (const AL_JOYSTICK*, int stick)); -AL_FUNC(int, al_joystick_num_axes, (AL_JOYSTICK*, int stick)); -AL_FUNC(AL_CONST char*, al_joystick_axis_name, (AL_JOYSTICK*, int stick, int axis)); +AL_FUNC(int, al_joystick_num_axes, (const AL_JOYSTICK*, int stick)); +AL_FUNC(const char*, al_joystick_axis_name, (const AL_JOYSTICK*, int stick, int axis)); -AL_FUNC(int, al_joystick_num_buttons,(AL_JOYSTICK*)); -AL_FUNC(AL_CONST char*, al_joystick_button_name,(AL_JOYSTICK*, int buttonn)); +AL_FUNC(int, al_joystick_num_buttons,(const AL_JOYSTICK*)); +AL_FUNC(const char*, al_joystick_button_name,(const AL_JOYSTICK*, int buttonn)); AL_FUNC(void, al_get_joystick_state, (AL_JOYSTICK*, AL_JOYSTATE *ret_state)); Modified: allegro/branches/4.3/include/allegro/keyboard.h =================================================================== --- allegro/branches/4.3/include/allegro/keyboard.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/keyboard.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -35,7 +35,7 @@ unsigned int __key_down__internal__[4]; /* internal */ /* Was using uint32_t, but some machines don't have stdint.h. */ #if AL_KEY_MAX >= (32 * 4) -# error _key_down array not big enough for AL_KEY_MAX +# error __key_down__internal__ array not big enough for AL_KEY_MAX #endif } AL_KBDSTATE; @@ -50,7 +50,7 @@ AL_FUNC(AL_CONST char *, al_keycode_to_name, (int keycode)); AL_FUNC(void, al_get_keyboard_state, (AL_KBDSTATE *ret_state)); -AL_FUNC(bool, al_key_down, (AL_KBDSTATE *, int keycode)); +AL_FUNC(bool, al_key_down, (const AL_KBDSTATE *, int keycode)); /* TODO: use the config system */ AL_VAR(bool, _al_three_finger_flag); Modified: allegro/branches/4.3/include/allegro/platform/alunix.h =================================================================== --- allegro/branches/4.3/include/allegro/platform/alunix.h 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/include/allegro/platform/alunix.h 2006-12-15 07:51:52 UTC (rev 7656) @@ -160,9 +160,7 @@ #define MOUSEDRV_LINUX_IMS AL_ID('I','M','S',' ') #define MOUSEDRV_LINUX_EVDEV AL_ID('E','V',' ',' ') -#define AL_JOY_TYPE_LINUX_ANALOGUE AL_ID('L','N','X','A') - #ifdef ALLEGRO_LINUX AL_VAR(SYSTEM_DRIVER, system_linux); Modified: allegro/branches/4.3/src/events.c =================================================================== --- allegro/branches/4.3/src/events.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/events.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -498,7 +498,7 @@ /* _al_copy_event: * Copies the contents of the event SRC to DEST. */ -void _al_copy_event(AL_EVENT *dest, AL_CONST AL_EVENT *src) +void _al_copy_event(AL_EVENT *dest, const AL_EVENT *src) { ASSERT(dest); ASSERT(src); Modified: allegro/branches/4.3/src/evtsrc.c =================================================================== --- allegro/branches/4.3/src/evtsrc.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/evtsrc.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -32,7 +32,7 @@ /* al_event_source_mask: * Return the event mask of an event source. */ -unsigned long al_event_source_mask(AL_EVENT_SOURCE *source) +AL_EVENT_TYPE al_event_source_mask(AL_EVENT_SOURCE *source) { ASSERT(source); @@ -44,7 +44,7 @@ /* al_event_source_set_mask: * Change the event mask of an event source. */ -void al_event_source_set_mask(AL_EVENT_SOURCE *source, unsigned long mask) +void al_event_source_set_mask(AL_EVENT_SOURCE *source, AL_EVENT_TYPE mask) { ASSERT(source); @@ -64,7 +64,7 @@ * * Initialise an event source structure. */ -void _al_event_source_init(AL_EVENT_SOURCE *this, unsigned long event_mask) +void _al_event_source_init(AL_EVENT_SOURCE *this, AL_EVENT_TYPE event_mask) { this->event_mask = event_mask; _AL_MARK_MUTEX_UNINITED(this->mutex); @@ -197,7 +197,7 @@ * * The event source must be LOCKED before calling this function. */ -bool _al_event_source_needs_to_generate_event(AL_EVENT_SOURCE *this, unsigned long event_type) +bool _al_event_source_needs_to_generate_event(AL_EVENT_SOURCE *this, AL_EVENT_TYPE event_type) { return !_al_vector_is_empty(&this->queues) && (this->event_mask & event_type); } Modified: allegro/branches/4.3/src/joynu.c =================================================================== --- allegro/branches/4.3/src/joynu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/joynu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -41,7 +41,8 @@ bool al_install_joystick(void) { _DRIVER_INFO *driver_list; - AL_JOYSTICK_DRIVER *driver; + AL_JOYSTICK_DRIVER *joydrv; + const char *name; int c; if (new_joystick_driver) @@ -79,10 +80,12 @@ /* autodetect driver */ for (c=0; driver_list[c].driver; c++) { if (driver_list[c].autodetect) { - driver = driver_list[c].driver; - driver->name = driver->desc = get_config_text(driver->ascii_name); - if (driver->init()) { - new_joystick_driver = driver; + joydrv = driver_list[c].driver; + name = get_config_text(joydrv->joydrv_ascii_name); + joydrv->joydrv_name = name; + joydrv->joydrv_desc = name; + if (joydrv->init_joystick()) { + new_joystick_driver = joydrv; break; } } @@ -117,7 +120,7 @@ _al_vector_free(&opened_joysticks); /* perform driver clean up */ - new_joystick_driver->exit(); + new_joystick_driver->exit_joystick(); new_joystick_driver = NULL; } @@ -219,7 +222,7 @@ /* al_joystick_name: [primary thread] * Return the name of the given joystick. */ -AL_CONST char *al_joystick_name(AL_JOYSTICK *joy) +const char *al_joystick_name(AL_JOYSTICK *joy) { ASSERT(joy); @@ -231,7 +234,7 @@ /* al_joystick_num_sticks: [primary thread] * Return the number of "sticks" on the given joystick. */ -int al_joystick_num_sticks(AL_JOYSTICK *joy) +int al_joystick_num_sticks(const AL_JOYSTICK *joy) { ASSERT(joy); @@ -244,7 +247,7 @@ * Return the flags of the given "stick". If the stick doesn't * exist, NULL is returned. */ -int al_joystick_stick_flags(AL_JOYSTICK *joy, int stick) +int al_joystick_stick_flags(const AL_JOYSTICK *joy, int stick) { ASSERT(joy); ASSERT(stick >= 0); @@ -261,7 +264,7 @@ * Return the name of the given "stick". If the stick doesn't * exist, NULL is returned. */ -AL_CONST char *al_joystick_stick_name(AL_JOYSTICK *joy, int stick) +const char *al_joystick_stick_name(const AL_JOYSTICK *joy, int stick) { ASSERT(joy); ASSERT(stick >= 0); @@ -278,7 +281,7 @@ * Return the number of axes on the given "stick". If the stick * doesn't exist, 0 is returned. */ -int al_joystick_num_axes(AL_JOYSTICK *joy, int stick) +int al_joystick_num_axes(const AL_JOYSTICK *joy, int stick) { ASSERT(joy); @@ -294,7 +297,7 @@ * Return the name of the given axis. If the axis doesn't exist, * NULL is returned. */ -AL_CONST char *al_joystick_axis_name(AL_JOYSTICK *joy, int stick, int axis) +const char *al_joystick_axis_name(const AL_JOYSTICK *joy, int stick, int axis) { ASSERT(joy); ASSERT(stick >= 0); @@ -312,7 +315,7 @@ /* al_joystick_num_buttons: [primary thread] * Return the number of buttons on the joystick. */ -int al_joystick_num_buttons(AL_JOYSTICK *joy) +int al_joystick_num_buttons(const AL_JOYSTICK *joy) { ASSERT(joy); @@ -325,7 +328,7 @@ * Return the name of the given button. If the button doesn't exist, * NULL is returned. */ -AL_CONST char *al_joystick_button_name(AL_JOYSTICK *joy, int button) +const char *al_joystick_button_name(const AL_JOYSTICK *joy, int button) { ASSERT(joy); ASSERT(button >= 0); @@ -347,7 +350,7 @@ ASSERT(joy); ASSERT(ret_state); - new_joystick_driver->get_state(joy, ret_state); + new_joystick_driver->get_joystick_state(joy, ret_state); } Modified: allegro/branches/4.3/src/keybdnu.c =================================================================== --- allegro/branches/4.3/src/keybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/keybdnu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -41,7 +41,7 @@ * provide their own implementation though, especially if they use * positional mapping. */ -AL_CONST char *_al_keyboard_common_names[AL_KEY_MAX] = +const char *_al_keyboard_common_names[AL_KEY_MAX] = { "(none)", "A", "B", "C", "D", "E", "F", "G", @@ -86,6 +86,7 @@ bool al_install_keyboard(void) { _DRIVER_INFO *driver_list; + const char *name; int i; if (new_keyboard_driver) @@ -98,8 +99,10 @@ for (i=0; driver_list[i].driver; i++) { new_keyboard_driver = driver_list[i].driver; - new_keyboard_driver->name = new_keyboard_driver->desc = get_config_text(new_keyboard_driver->ascii_name); - if (new_keyboard_driver->init()) + name = get_config_text(new_keyboard_driver->keydrv_ascii_name); + new_keyboard_driver->keydrv_name = name; + new_keyboard_driver->keydrv_desc = name; + if (new_keyboard_driver->init_keyboard()) break; } @@ -131,7 +134,7 @@ //set_leds(-1); - new_keyboard_driver->exit(); + new_keyboard_driver->exit_keyboard(); new_keyboard_driver = NULL; _remove_exit_func(al_uninstall_keyboard); @@ -165,8 +168,8 @@ { ASSERT(new_keyboard_driver); - if (new_keyboard_driver->set_leds) - return new_keyboard_driver->set_leds(leds); + if (new_keyboard_driver->set_keyboard_leds) + return new_keyboard_driver->set_keyboard_leds(leds); return false; } @@ -176,9 +179,9 @@ /* al_keycode_to_name: * Converts the given keycode to a description of the key. */ -AL_CONST char *al_keycode_to_name(int keycode) +const char *al_keycode_to_name(int keycode) { - AL_CONST char *name = NULL; + const char *name = NULL; ASSERT(new_keyboard_driver); ASSERT((keycode >= 0) && (keycode < AL_KEY_MAX)); @@ -205,7 +208,7 @@ ASSERT(new_keyboard_driver); ASSERT(ret_state); - new_keyboard_driver->get_state(ret_state); + new_keyboard_driver->get_keyboard_state(ret_state); } @@ -214,7 +217,7 @@ * Return true if the key specified was held down in the state * specified. */ -bool al_key_down(AL_KBDSTATE *state, int keycode) +bool al_key_down(const AL_KBDSTATE *state, int keycode) { return _AL_KBDSTATE_KEY_DOWN(*state, keycode); } Modified: allegro/branches/4.3/src/linux/ljoynu.c =================================================================== --- allegro/branches/4.3/src/linux/ljoynu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/linux/ljoynu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -45,7 +45,8 @@ /* map a Linux joystick axis number to an Allegro (stick,axis) pair */ typedef struct { - int stick, axis; + int stick; + int axis; } AXIS_MAPPING; @@ -60,32 +61,34 @@ /* forward declarations */ -static bool ljoy_init(void); -static void ljoy_exit(void); +static bool ljoy_init_joystick(void); +static void ljoy_exit_joystick(void); static int ljoy_num_joysticks(void); static AL_JOYSTICK *ljoy_get_joystick(int num); static void ljoy_release_joystick(AL_JOYSTICK *joy_); -static void ljoy_get_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state); +static void ljoy_get_joystick_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state); static void ljoy_process_new_data(void *data); static void ljoy_generate_axis_event(AL_JOYSTICK_LINUX *joy, int stick, int axis, float pos); -static void ljoy_generate_button_event(AL_JOYSTICK_LINUX *joy, int button, unsigned int event_type); +static void ljoy_generate_button_event(AL_JOYSTICK_LINUX *joy, int button, AL_EVENT_TYPE event_type); /* the driver vtable */ -AL_JOYSTICK_DRIVER _al_joydrv_linux_analogue = +#define JOYDRV_LINUX AL_ID('L','N','X','A') + +static AL_JOYSTICK_DRIVER joydrv_linux = { - AL_JOY_TYPE_LINUX_ANALOGUE, + JOYDRV_LINUX, empty_string, empty_string, - "Linux analogue joystick(s)", - ljoy_init, - ljoy_exit, + "Linux joystick(s)", + ljoy_init_joystick, + ljoy_exit_joystick, ljoy_num_joysticks, ljoy_get_joystick, ljoy_release_joystick, - ljoy_get_state + ljoy_get_joystick_state }; @@ -129,7 +132,7 @@ */ static int try_open_joy_device(int num) { - AL_CONST char *device_name = NULL; + const char *device_name = NULL; char tmp[128], tmp1[128], tmp2[128]; int fd; @@ -190,10 +193,10 @@ -/* ljoy_init: [primary thread] +/* ljoy_init_joystick: [primary thread] * Initialise the joystick driver. */ -static bool ljoy_init(void) +static bool ljoy_init_joystick(void) { /* cache the number of joysticks on the system */ num_joysticks = count_num_joysticks(); @@ -203,10 +206,10 @@ -/* ljoy_exit: [primary thread] +/* ljoy_exit_joystick: [primary thread] * Shut down the joystick driver. */ -static void ljoy_exit(void) +static void ljoy_exit_joystick(void) { num_joysticks = 0; /* not really necessary */ } @@ -359,11 +362,11 @@ -/* ljoy_get_state: [primary thread] +/* ljoy_get_joystick_state: [primary thread] * * Copy the internal joystick state to a user-provided structure. */ -static void ljoy_get_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state) +static void ljoy_get_joystick_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state) { AL_JOYSTICK_LINUX *joy = (AL_JOYSTICK_LINUX *) joy_; @@ -464,7 +467,7 @@ * Helper to generate an event after a button is pressed or released. * The joystick must be locked BEFORE entering this function. */ -static void ljoy_generate_button_event(AL_JOYSTICK_LINUX *joy, int button, unsigned int event_type) +static void ljoy_generate_button_event(AL_JOYSTICK_LINUX *joy, int button, AL_EVENT_TYPE event_type) { AL_EVENT *event; @@ -493,7 +496,7 @@ _DRIVER_INFO _al_linux_joystick_driver_list[] = { #ifdef HAVE_LINUX_JOYSTICK_H - { AL_JOY_TYPE_LINUX_ANALOGUE, &_al_joydrv_linux_analogue, TRUE }, + { JOYDRV_LINUX, &joydrv_linux, TRUE }, #endif { 0, NULL, FALSE } }; Modified: allegro/branches/4.3/src/linux/lkeybdnu.c =================================================================== --- allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/linux/lkeybdnu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -79,11 +79,11 @@ /* forward declarations */ -static bool lkeybd_init(void); -static void lkeybd_exit(void); +static bool lkeybd_init_keyboard(void); +static void lkeybd_exit_keyboard(void); static AL_KEYBOARD *lkeybd_get_keyboard(void); -static bool lkeybd_set_leds(int leds); -static void lkeybd_get_state(AL_KBDSTATE *ret_state); +static bool lkeybd_set_keyboard_leds(int leds); +static void lkeybd_get_keyboard_state(AL_KBDSTATE *ret_state); static void process_new_data(void *unused); static void process_character(unsigned char ch); @@ -101,12 +101,12 @@ empty_string, empty_string, "Linux console keyboard", - lkeybd_init, - lkeybd_exit, + lkeybd_init_keyboard, + lkeybd_exit_keyboard, lkeybd_get_keyboard, - lkeybd_set_leds, + lkeybd_set_keyboard_leds, NULL, /* const char *keycode_to_name(int keycode) */ - lkeybd_get_state + lkeybd_get_keyboard_state }; @@ -292,10 +292,10 @@ -/* lkeybd_init: [primary thread] +/* lkeybd_init_keyboard: [primary thread] * Initialise the keyboard driver. */ -static bool lkeybd_init(void) +static bool lkeybd_init_keyboard(void) { bool can_restore_termio_and_kbmode = false; @@ -375,10 +375,10 @@ -/* lkeybd_exit: [primary thread] +/* lkeybd_exit_keyboard: [primary thread] * Shut down the keyboard driver. */ -static void lkeybd_exit(void) +static void lkeybd_exit_keyboard(void) { _al_unix_stop_watching_fd(the_keyboard.fd); @@ -411,10 +411,10 @@ -/* lkeybd_set_leds: +/* lkeybd_set_keyboard_leds: * Updates the LED state. */ -static bool lkeybd_set_leds(int leds) +static bool lkeybd_set_keyboard_leds(int leds) { int val = 0; @@ -427,10 +427,10 @@ -/* lkeybd_get_state: [primary thread] +/* lkeybd_get_keyboard_state: [primary thread] * Copy the current keyboard state into RET_STATE, with any necessary locking. */ -static void lkeybd_get_state(AL_KBDSTATE *ret_state) +static void lkeybd_get_keyboard_state(AL_KBDSTATE *ret_state) { _al_event_source_lock(&the_keyboard.parent.es); { @@ -540,7 +540,7 @@ */ static void handle_key_press(int mycode, unsigned int ascii) { - unsigned int event_type; + AL_EVENT_TYPE event_type; AL_EVENT *event; event_type = (_AL_KBDSTATE_KEY_DOWN(the_keyboard.state, mycode) Modified: allegro/branches/4.3/src/win/wjoydxnu.c =================================================================== --- allegro/branches/4.3/src/win/wjoydxnu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/win/wjoydxnu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -138,12 +138,12 @@ /* forward declarations */ -static bool joydx_init(void); -static void joydx_exit(void); +static bool joydx_init_joystick(void); +static void joydx_exit_joystick(void); static int joydx_get_num_joysticks(void); static AL_JOYSTICK *joydx_get_joystick(int num); static void joydx_release_joystick(AL_JOYSTICK *joy); -static void joydx_get_state(AL_JOYSTICK *joy, AL_JOYSTATE *ret_state); +static void joydx_get_joystick_state(AL_JOYSTICK *joy, AL_JOYSTATE *ret_state); static void joydx_thread_proc(LPVOID unused); static void update_joystick(AL_JOYSTICK_DIRECTX *joy); @@ -151,7 +151,7 @@ static void handle_pov_event(AL_JOYSTICK_DIRECTX *joy, int stick, DWORD value); static void handle_button_event(AL_JOYSTICK_DIRECTX *joy, int button, bool down); static void generate_axis_event(AL_JOYSTICK_DIRECTX *joy, int stick, int axis, float pos); -static void generate_button_event(AL_JOYSTICK_DIRECTX *joy, int button, unsigned int event_type); +static void generate_button_event(AL_JOYSTICK_DIRECTX *joy, int button, AL_EVENT_TYPE event_type); @@ -162,12 +162,12 @@ empty_string, empty_string, "DirectInput joystick", - joydx_init, - joydx_exit, + joydx_init_joystick, + joydx_exit_joystick, joydx_get_num_joysticks, joydx_get_joystick, joydx_release_joystick, - joydx_get_state + joydx_get_joystick_state }; @@ -175,7 +175,7 @@ /* a handle to the DirectInput interface */ static LPDIRECTINPUT joystick_dinput = NULL; -/* these are initialised by joydx_init */ +/* these are initialised by joydx_init_joystick */ static int joydx_num_joysticks = 0; static AL_JOYSTICK_DIRECTX joydx_joystick[MAX_JOYSTICKS]; @@ -649,7 +649,7 @@ -/* joydx_init: [primary thread] +/* joydx_init_joystick: [primary thread] * * Initialises the DirectInput joystick devices. * @@ -658,7 +658,7 @@ * of the devices. joydx_get_joystick() is left with very little work * to do. */ -static bool joydx_init(void) +static bool joydx_init_joystick(void) { HRESULT hr; @@ -743,10 +743,10 @@ -/* joydx_exit: [primary thread] +/* joydx_exit_joystick: [primary thread] * Shuts down the DirectInput joystick devices. */ -static void joydx_exit(void) +static void joydx_exit_joystick(void) { int i; @@ -844,10 +844,10 @@ -/* joydx_get_state: [primary thread] +/* joydx_get_joystick_state: [primary thread] * Copy the internal joystick state to a user-provided structure. */ -static void joydx_get_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state) +static void joydx_get_joystick_state(AL_JOYSTICK *joy_, AL_JOYSTATE *ret_state) { AL_JOYSTICK_DIRECTX *joy = (AL_JOYSTICK_DIRECTX *)joy_; @@ -1090,7 +1090,7 @@ * Helper to generate an event after a button is pressed or released. * The joystick must be locked BEFORE entering this function. */ -static void generate_button_event(AL_JOYSTICK_DIRECTX *joy, int button, unsigned int event_type) +static void generate_button_event(AL_JOYSTICK_DIRECTX *joy, int button, AL_EVENT_TYPE event_type) { AL_EVENT *event; Modified: allegro/branches/4.3/src/win/wkeybdnu.c =================================================================== --- allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/win/wkeybdnu.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -534,10 +534,10 @@ /*----------------------------------------------------------------------*/ /* forward declarations */ -static bool wkeybd_init(void); -static void wkeybd_exit(void); +static bool wkeybd_init_keyboard(void); +static void wkeybd_exit_keyboard(void); static AL_KEYBOARD *wkeybd_get_keyboard(void); -static void wkeybd_get_state(AL_KBDSTATE *ret_state); +static void wkeybd_get_keyboard_state(AL_KBDSTATE *ret_state); @@ -550,12 +550,12 @@ 0, 0, "DirectInput keyboard", - wkeybd_init, - wkeybd_exit, + wkeybd_init_keyboard, + wkeybd_exit_keyboard, wkeybd_get_keyboard, NULL, /* bool set_leds(int leds) */ NULL, /* const char *keycode_to_name(int keycode) */ - wkeybd_get_state + wkeybd_get_keyboard_state }; @@ -569,10 +569,10 @@ -/* wkeybd_init: [primary thread] +/* wkeybd_init_keyboard: [primary thread] * Initialise the keyboard driver. */ -static bool wkeybd_init(void) +static bool wkeybd_init_keyboard(void) { if (key_dinput_init() != 0) return false; @@ -588,10 +588,10 @@ -/* wkeybd_exit: [primary thread] +/* wkeybd_exit_keyboard: [primary thread] * Shut down the keyboard driver. */ -static void wkeybd_exit(void) +static void wkeybd_exit_keyboard(void) { _al_event_source_free(&the_keyboard.es); @@ -615,10 +615,10 @@ -/* wkeybd_get_state: [primary thread] +/* wkeybd_get_keyboard_state: [primary thread] * Copy the current keyboard state into RET_STATE, with any necessary locking. */ -static void wkeybd_get_state(AL_KBDSTATE *ret_state) +static void wkeybd_get_keyboard_state(AL_KBDSTATE *ret_state) { _al_event_source_lock(&the_keyboard.es); { @@ -638,7 +638,7 @@ int mycode; int unicode; bool is_repeat; - unsigned int event_type; + AL_EVENT_TYPE event_type; AL_EVENT *event; UINT vkey; BYTE keystate[256]; Modified: allegro/branches/4.3/src/x/xkeyboard.c =================================================================== --- allegro/branches/4.3/src/x/xkeyboard.c 2006-12-15 02:08:54 UTC (rev 7655) +++ allegro/branches/4.3/src/x/xkeyboard.c 2006-12-15 07:51:52 UTC (rev 7656) @@ -811,18 +811,15 @@ /* the one and only keyboard object */ static AL_KEYBOARD_XWIN the_keyboard; -/* the pid to kill when three finger saluting */ -static pid_t main_pid; - /* forward declarations */ -static bool xkeybd_init(void); -static void xkeybd_exit(void); +static bool xkeybd_init_keyboard(void); +static void xkeybd_exit_keyboard(void); static AL_KEYBOARD *xkeybd_get_keyboard(void); -static bool xkeybd_set_leds(int leds); +static bool xkeybd_set_keyboard_leds(int leds); static AL_CONST char *xkeybd_keycode_to_name(int keycode); -static void xkeybd_get_state(AL_KBDSTATE *ret_state); +static void xkeybd_get_keyboard_state(AL_KBDSTATE *ret_state); @@ -835,12 +832,12 @@ empty_string, empty_string, "X11 keyboard", - xkeybd_init, - xkeybd_exit, + xkeybd_init_keyboard, + xkeybd_exit_keyboard, xkeybd_get_keyboard, - xkeybd_set_leds, + xkeybd_set_keyboard_leds, xkeybd_keycode_to_name, - xkeybd_get_state + xkeybd_get_keyboard_state }; @@ -854,10 +851,10 @@ -/* xkeybd_init: +/* xkeybd_init_keyboard: * Initialise the driver. */ -static bool xkeybd_init(void) +static bool xkeybd_init_keyboard(void) { if (x_keyboard_init() != 0) return false; @@ -876,10 +873,10 @@ -/* xkeybd_exit: +/* xkeybd_exit_keyboard: * Shut down the keyboard driver. */ -static void xkeybd_exit(void) +static void xkeybd_exit_keyboard(void) { x_keyboard_exit(); @@ -898,10 +895,10 @@ -/* xkeybd_set_leds: +/* xkeybd_set_keyboard_leds: * Updates the LED state. */ -static bool xkeybd_set_leds(int leds) +static bool xkeybd_set_keyboard_leds(int leds) { x_set_leds(leds); return true; @@ -919,10 +916,10 @@ -/* xkeybd_get_state: +/* xkeybd_get_keyboard_state: * Copy the current keyboard state into RET_STATE, with any necessary locking. */ -static void xkeybd_get_state(AL_KBDSTATE *ret_state) +static void xkeybd_get_keyboard_state(AL_KBDSTATE *ret_state) { _al_event_source_lock(&the_keyboard.parent.es); { @@ -943,7 +940,7 @@ { bool is_repeat; AL_EVENT *event; - unsigned int type; + AL_EVENT_TYPE type; is_repeat = (last_press_code == mycode); last_press_code = mycode; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |