From b8167f55b1e69819ee4c74174502b9f31fbb5538 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Wed, 15 Jan 2014 01:28:30 -0800 Subject: [PATCH] Create Windows and POSIX platform directories --- CMakeLists.txt | 7 ++++++- src/platform/posix/memory.c | 18 ++++++++++++++++++ src/{util => platform/windows}/memory.c | 19 ------------------- 3 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 src/platform/posix/memory.c rename src/{util => platform/windows}/memory.c (65%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a0cbe77a..09b8894c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,11 @@ include_directories(${CMAKE_SOURCE_DIR}/src/util) find_package(SDL 1.2 REQUIRED) file(GLOB PLATFORM_SRC ${CMAKE_SOURCE_DIR}/src/platform/sdl/sdl-*.c) +if(WIN32) + file(GLOB OS_SRC ${CMAKE_SOURCE_DIR}/src/platform/windows/*.c) +else() + file(GLOB OS_SRC ${CMAKE_SOURCE_DIR}/src/platform/posix/*.c) +endif() include_directories(${CMAKE_SOURCE_DIR}/src/platform/sdl) if(USE_DEBUGGER) @@ -47,5 +52,5 @@ if(BUILD_PERF) set(EXTRA_LIB ${EXTRA_LIB} rt) endif() -add_executable(${BINARY_NAME} WIN32 ${ARM_SRC} ${GBA_SRC} ${DEBUGGER_SRC} ${RENDERER_SRC} ${UTIL_SRC} ${PLATFORM_SRC} ${MAIN_SRC}) +add_executable(${BINARY_NAME} WIN32 ${ARM_SRC} ${GBA_SRC} ${DEBUGGER_SRC} ${RENDERER_SRC} ${UTIL_SRC} ${PLATFORM_SRC} ${OS_SRC} ${MAIN_SRC}) target_link_libraries(${BINARY_NAME} m pthread ${DEBUGGER_LIB} ${SDL_LIBRARY} ${OPENGL_LIBRARY} ${EXTRA_LIB}) diff --git a/src/platform/posix/memory.c b/src/platform/posix/memory.c new file mode 100644 index 000000000..0ead2c71e --- /dev/null +++ b/src/platform/posix/memory.c @@ -0,0 +1,18 @@ +#include "memory.h" + +#include + +void* anonymousMemoryMap(size_t size) { + return mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); +} +void* fileMemoryMap(int fd, size_t size, int flags) { + int mmapFlags = MAP_PRIVATE; + if (flags & MEMORY_WRITE) { + mmapFlags = MAP_SHARED; + } + return mmap(0, size, PROT_READ | PROT_WRITE, mmapFlags, fd, 0); +} + +void mappedMemoryFree(void* memory, size_t size) { + munmap(memory, size); +} diff --git a/src/util/memory.c b/src/platform/windows/memory.c similarity index 65% rename from src/util/memory.c rename to src/platform/windows/memory.c index e5cf5aa47..dbc495470 100644 --- a/src/util/memory.c +++ b/src/platform/windows/memory.c @@ -1,6 +1,5 @@ #include "memory.h" -#ifdef _WIN32 #include #include @@ -29,21 +28,3 @@ void* fileMemoryMap(int fd, size_t size, int flags) { void mappedMemoryFree(void* memory, size_t size) { // TODO fill in } -#else -#include - -void* anonymousMemoryMap(size_t size) { - return mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); -} -void* fileMemoryMap(int fd, size_t size, int flags) { - int mmapFlags = MAP_PRIVATE; - if (flags & MEMORY_WRITE) { - mmapFlags = MAP_SHARED; - } - return mmap(0, size, PROT_READ | PROT_WRITE, mmapFlags, fd, 0); -} - -void mappedMemoryFree(void* memory, size_t size) { - munmap(memory, size); -} -#endif