Browse Source

Added first version of OS X compilation support

ratalaika 10 years ago
parent
commit
6bea9d0232
1 changed files with 0 additions and 167 deletions
  1. 0 167
      OSX.diff

+ 0 - 167
OSX.diff

@@ -1,167 +0,0 @@
-diff --git a/examples/makefile b/examples/makefile
-index 076c959..f445321 100644
---- a/examples/makefile
-+++ b/examples/makefile
-@@ -24,8 +24,8 @@
- #**************************************************************************************************
- 
- # define raylib platform (by default, compile for RPI)
--# Other possible platforms: PLATFORM_DESKTOP PLATFORM_DESKTOP_LINUX
--PLATFORM ?= PLATFORM_RPI
-+# Other possible platforms: PLATFORM_DESKTOP PLATFORM_DESKTOP_LINUX PLATFORM_DESKTOP_OSX
-+PLATFORM ?= PLATFORM_DESKTOP_OSX
- 
- # define compiler: gcc for C program, define as g++ for C++
- CC = gcc
-@@ -55,6 +55,14 @@ else
- 	LFLAGS = -L. -L../src -L/opt/vc/lib
- endif
- 
-+# define library paths containing required libs
-+ifeq ($(PLATFORM),PLATFORM_DESKTOP_OSX)
-+	LFLAGS = -L. -L../src -L../external/glfw3/lib/ -I../external/openal_soft/lib/
-+else
-+	LFLAGS = -L. -L../src
-+endif
-+
-+
- # define any libraries to link into executable
- # if you want to link libraries (libname.so or libname.a), use the -lname
- ifeq ($(PLATFORM),PLATFORM_RPI)
-@@ -68,11 +76,18 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_LINUX)
- 	# libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev
-     LIBS = -lraylib -lglfw -lGLEW -lGL -lopenal
- else
-+ifeq ($(PLATFORM),PLATFORM_DESKTOP_OSX)
-+    # libraries for OS X 10.9 desktop compiling
-+	# requires the following packages:
-+	# libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev
-+    LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa
-+else
-     # libraries for Windows desktop compiling
-     # NOTE: GLFW3 and OpenAL Soft libraries should be installed
-     LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32
- endif
- endif
-+endif
- 
- # define additional parameters and flags for windows
- ifeq ($(PLATFORM),PLATFORM_DESKTOP)
-@@ -254,9 +269,13 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_LINUX)
- 	find . -type f -executable -delete
- 	rm -f *.o
- else
-+ifeq ($(PLATFORM),PLATFORM_DESKTOP_OSX)
-+	rm -f *.o
-+else
- 	del *.o *.exe
- endif
- endif
-+endif
- 	@echo Cleaning done
- 
- # instead of defining every module one by one, we can define a pattern
-diff --git a/examples/textures_logo_raylib.c b/examples/textures_logo_raylib.c
-index f4aeb73..b56f5f0 100644
---- a/examples/textures_logo_raylib.c
-+++ b/examples/textures_logo_raylib.c
-@@ -21,7 +21,7 @@ int main()
-     InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture loading and drawing");
- 
-     // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
--    Texture2D texture = LoadTexture("resources/raylib_logo.png");        // Texture loading
-+    Texture2D texture = LoadTexture("./resources/raylib_logo.png");        // Texture loading
-     //---------------------------------------------------------------------------------------
- 
-     // Main game loop
-diff --git a/src/makefile b/src/makefile
-index 0c078e8..780aa16 100644
---- a/src/makefile
-+++ b/src/makefile
-@@ -24,8 +24,8 @@
- #**************************************************************************************************
- 
- # define raylib platform (by default, compile for RPI)
--# Other possible platforms: PLATFORM_DESKTOP PLATFORM_DESKTOP_LINUX
--PLATFORM ?= PLATFORM_RPI
-+# Other possible platforms: PLATFORM_DESKTOP PLATFORM_DESKTOP_LINUX PLATFORM_DESKTOP_OSX
-+PLATFORM ?= PLATFORM_DESKTOP_OSX
- 
- # define raylib graphics api depending on selected platform
- ifeq ($(PLATFORM),PLATFORM_RPI)
-@@ -57,7 +57,7 @@ endif
- ifeq ($(PLATFORM),PLATFORM_RPI)
-     INCLUDES = -I. -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads
- else
--    INCLUDES = -I.
-+    INCLUDES = -I. -I../external/glfw3/include/ -I../external/openal_soft/include/
- endif
- 
- # define all object files required
-@@ -124,9 +124,13 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_LINUX)
- 	find . -type f -executable -delete
- 	rm -f *.o libraylib.a
- else
-+ifeq ($(PLATFORM),PLATFORM_DESKTOP_OSX)
-+	rm -f *.o libraylib.a
-+else
- 	del *.o libraylib.a
- endif
- endif
-+endif
- 	@echo Cleaning done
- 
- # instead of defining every module one by one, we can define a pattern
-diff --git a/src/rlgl.c b/src/rlgl.c
-index 8f1a66a..865281a 100644
---- a/src/rlgl.c
-+++ b/src/rlgl.c
-@@ -32,13 +32,23 @@
- #include <stdlib.h>         // Declares malloc() and free() for memory management, rand()
- 
- #if defined(GRAPHICS_API_OPENGL_11)
--    #include <GL/gl.h>      // Basic OpenGL include
-+	#ifdef __APPLE__
-+		#include <OpenGL/gl.h>
-+		#include <OpenGL/glu.h>
-+		#include <GLUT/glut.h>
-+	#else
-+    	#include <GL/gl.h>      // Basic OpenGL include
-+	#endif    	
- #endif
- 
- #if defined(GRAPHICS_API_OPENGL_33)
-     #define GLEW_STATIC
--    #include <GL/glew.h>    // Extensions loading lib
--    //#include "glad.h"     // TODO: Other extensions loading lib? --> REVIEW
-+	#ifdef __APPLE__
-+        #include <OpenGL/gl3.h>
-+   	#else
-+	    #include <GL/glew.h>    // Extensions loading lib
-+    	//#include "glad.h"     // TODO: Other extensions loading lib? --> REVIEW
-+    #endif
- #endif
- 
- #if defined(GRAPHICS_API_OPENGL_ES2)
-diff --git a/src/utils.c b/src/utils.c
-index b511211..26a4406 100644
---- a/src/utils.c
-+++ b/src/utils.c
-@@ -40,7 +40,7 @@
- #include <stdarg.h>             // Used for functions with variable number of parameters (TraceLog())
- //#include <string.h>           // String management functions: strlen(), strrchr(), strcmp()
- 
--#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI)
-+#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_DESKTOP_OSX)
-     #define STB_IMAGE_WRITE_IMPLEMENTATION
-     #include "stb_image_write.h"    // Create PNG file
- #endif
-@@ -107,7 +107,7 @@ unsigned char *DecompressData(const unsigned char *data, unsigned long compSize,
-     return pUncomp;
- }
- 
--#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI)
-+#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_DESKTOP_OSX)
- // Creates a bitmap (BMP) file from an array of pixel data
- // NOTE: This function is not explicitly available to raylib users
- void WriteBitmap(const char *fileName, unsigned char *imgData, int width, int height)