Browse Source

Integrated ratalaika pull-request

Added first version of OS X compilation support
Some conflicts manually resolved...
raysan5 10 years ago
parent
commit
061ee04cb5

+ 22 - 3
examples/makefile

@@ -66,6 +66,14 @@ else
     LFLAGS = -L. -L../src
 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)
@@ -78,15 +86,22 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_LINUX)
 	# requires the following packages:
 	# 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
+ifeq ($(PLATFORM),PLATFORM_WEB)
+    LIBS = ../src/libraylib.bc
 else
     # libraries for Windows desktop compiling
     # NOTE: GLFW3 and OpenAL Soft libraries should be installed
     LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32
 endif
 endif
-
-ifeq ($(PLATFORM),PLATFORM_WEB)
-    LIBS = ../src/libraylib.bc
+endif
 endif
 
 # define additional parameters and flags for windows
@@ -273,12 +288,16 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_LINUX)
 	find . -type f -executable -delete
 	rm -f *.o
 else
+ifeq ($(PLATFORM),PLATFORM_DESKTOP_OSX)
+	rm -f *.o
+else
 ifeq ($(PLATFORM),PLATFORM_WEB)
 	del *.o *.html *.js
 else
 	del *.o *.exe
 endif
 endif
+endif
 endif
 	@echo Cleaning done
 

BIN
external/glfw3/lib/libglfw.3.0.dylib


+ 1 - 0
external/glfw3/lib/libglfw.3.dylib

@@ -0,0 +1 @@
+libglfw.3.0.dylib

+ 1 - 0
external/glfw3/lib/libglfw.dylib

@@ -0,0 +1 @@
+libglfw.3.dylib

+ 5 - 1
src/makefile

@@ -66,7 +66,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
@@ -134,12 +134,16 @@ 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
 ifeq ($(PLATFORM),PLATFORM_WEB)
 	del *.o libraylib.bc
 else
 	del *.o libraylib.a
 endif
 endif
+endif
 endif
 	@echo Cleaning done
 

+ 11 - 4
src/rlgl.c

@@ -32,14 +32,21 @@
 #include <stdlib.h>         // Declares malloc() and free() for memory management, rand()
 
 #if defined(GRAPHICS_API_OPENGL_11)
-    #include <GL/gl.h>      // Basic OpenGL include
-	//#include <OpenGL/gl.h>      // Basic OpenGL include (OSX)
+	#ifdef __APPLE__            // OpenGL include for OSX
+		#include <OpenGL/gl.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__            // OpenGL include for OSX
+        #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)