|
|
0f3735e |
From ccf3bd265e4631376919dd3b5cbaf95f17f6cb8e Mon Sep 17 00:00:00 2001
|
|
|
0f3735e |
From: Lubomir Rintel <lkundrak@v3.sk>
|
|
|
0f3735e |
Date: Sat, 14 Nov 2015 18:14:43 +0100
|
|
|
0f3735e |
Subject: [PATCH 5/7] Allow builds without bundling the libraries
|
|
|
0f3735e |
|
|
|
0f3735e |
---
|
|
|
0f3735e |
makefile | 64 ++++++++++++++++++++++++++++++++++++++++-----------
|
|
|
0f3735e |
src/core/main.cpp | 2 +-
|
|
|
0f3735e |
src/include/toolkit.h | 22 ++++--------------
|
|
|
0f3735e |
3 files changed, 56 insertions(+), 32 deletions(-)
|
|
|
0f3735e |
|
|
|
0f3735e |
diff --git a/makefile b/makefile
|
|
|
0f3735e |
index 4d31b04..9386d70 100644
|
|
|
0f3735e |
--- a/makefile
|
|
|
0f3735e |
+++ b/makefile
|
|
|
0f3735e |
@@ -95,43 +95,79 @@ src/chip/tflipflop.cpp \
|
|
|
0f3735e |
src/basecode/toolkit.cpp \
|
|
|
0f3735e |
src/core/wire.cpp \
|
|
|
0f3735e |
src/chip/xorchip.cpp \
|
|
|
0f3735e |
-src/core/AtanuaConfig.cpp \
|
|
|
0f3735e |
+src/core/AtanuaConfig.cpp
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+atanua-c-src = \
|
|
|
0f3735e |
+src/8051/core.c \
|
|
|
0f3735e |
+src/8051/disasm.c \
|
|
|
0f3735e |
+src/8051/opcodes.c
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+atanua-obj = $(atanua-cpp-src:.cpp=.o) $(atanua-c-src:.c=.o)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+tinyxml-cpp-src = \
|
|
|
0f3735e |
src/tinyxml_2_5_3/tinyxml/tinystr.cpp \
|
|
|
0f3735e |
src/tinyxml_2_5_3/tinyxml/tinyxml.cpp \
|
|
|
0f3735e |
src/tinyxml_2_5_3/tinyxml/tinyxmlerror.cpp \
|
|
|
0f3735e |
src/tinyxml_2_5_3/tinyxml/tinyxmlparser.cpp \
|
|
|
0f3735e |
|
|
|
0f3735e |
-atanua-c-src = \
|
|
|
0f3735e |
-src/8051/core.c \
|
|
|
0f3735e |
-src/8051/disasm.c \
|
|
|
0f3735e |
-src/8051/opcodes.c \
|
|
|
0f3735e |
+tinyxml-obj = $(tinyxml-cpp-src:.cpp=.o)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+stb-c-src = \
|
|
|
0f3735e |
src/stb/stb_image.c \
|
|
|
0f3735e |
-src/stb/stb_image_write.c \
|
|
|
0f3735e |
+src/stb/stb_image_write.c
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+stb-obj = $(stb-c-src:.c=.o)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+glee-c-src = \
|
|
|
0f3735e |
src/glee/GLee.c
|
|
|
0f3735e |
|
|
|
0f3735e |
-atanua-obj = $(atanua-cpp-src:.cpp=.o) $(atanua-c-src:.c=.o)
|
|
|
0f3735e |
+glee-obj = $(glee-c-src:.c=.o)
|
|
|
0f3735e |
|
|
|
0f3735e |
CXX = clang
|
|
|
0f3735e |
CC = clang
|
|
|
0f3735e |
CFLAGS = -O3
|
|
|
0f3735e |
|
|
|
0f3735e |
-gtk_CFLAGS = $(shell pkg-config --cflags gtk+-3.0)
|
|
|
0f3735e |
glib_CFLAGS = $(shell pkg-config --cflags glib-2.0)
|
|
|
0f3735e |
-sdl_CFLAGS = $(shell pkg-config --cflags sdl)
|
|
|
0f3735e |
-gtk_LDFLAGS = $(shell pkg-config --libs gtk+-3.0)
|
|
|
0f3735e |
glib_LDFLAGS = $(shell pkg-config --libs glib-2.0)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+gtk_CFLAGS = $(shell pkg-config --cflags gtk+-3.0)
|
|
|
0f3735e |
+gtk_LDFLAGS = $(shell pkg-config --libs gtk+-3.0)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+sdl_CFLAGS = $(shell pkg-config --cflags sdl)
|
|
|
0f3735e |
sdl_LDFLAGS = $(shell pkg-config --libs sdl)
|
|
|
0f3735e |
|
|
|
0f3735e |
-override CFLAGS += $(gtk_CFLAGS)
|
|
|
0f3735e |
+ifdef UNBUNDLE
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+# Link against the system libraries
|
|
|
0f3735e |
+tinyxml_LDFLAGS += -ltinyxml
|
|
|
0f3735e |
+stb_LDFLAGS += -lstbi
|
|
|
0f3735e |
+glee_LDFLAGS += -lGLee
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+else
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+# Build bundled copies
|
|
|
0f3735e |
+tinyxml_CFLAGS = -Isrc/tinyxml_2_5_3/tinyxml
|
|
|
0f3735e |
+stb_CFLAGS = -Isrc/stb
|
|
|
0f3735e |
+glee_CFLAGS = -Isrc/glee
|
|
|
0f3735e |
+atanua-obj += $(tinyxml-obj) $(stb-obj) $(glee-obj)
|
|
|
0f3735e |
+
|
|
|
0f3735e |
+endif
|
|
|
0f3735e |
+
|
|
|
0f3735e |
override CFLAGS += $(glib_CFLAGS)
|
|
|
0f3735e |
+override CFLAGS += $(gtk_CFLAGS)
|
|
|
0f3735e |
override CFLAGS += $(sdl_CFLAGS)
|
|
|
0f3735e |
-override CFLAGS += -Isrc -Isrc/include -Isrc/tinyxml_2_5_3/tinyxml
|
|
|
0f3735e |
-
|
|
|
0f3735e |
+override CFLAGS += $(stb_CFLAGS)
|
|
|
0f3735e |
+override CFLAGS += $(tinyxml_CFLAGS)
|
|
|
0f3735e |
+override CFLAGS += $(glee_CFLAGS)
|
|
|
0f3735e |
+override CFLAGS += -Isrc -Isrc/include -I/usr/include/GL -I/usr/include/OpenGL
|
|
|
0f3735e |
override CXXFLAGS += $(CFLAGS)
|
|
|
0f3735e |
|
|
|
0f3735e |
-override LDFLAGS += $(gtk_LDFLAGS)
|
|
|
0f3735e |
override LDFLAGS += $(glib_LDFLAGS)
|
|
|
0f3735e |
+override LDFLAGS += $(gtk_LDFLAGS)
|
|
|
0f3735e |
override LDFLAGS += $(sdl_LDFLAGS)
|
|
|
0f3735e |
+override LDFLAGS += $(stb_LDFLAGS)
|
|
|
0f3735e |
+override LDFLAGS += $(tinyxml_LDFLAGS)
|
|
|
0f3735e |
+override LDFLAGS += $(glee_LDFLAGS)
|
|
|
0f3735e |
override LDFLAGS += -lGL -lGLU -lm -ldl -lstdc++
|
|
|
0f3735e |
|
|
|
0f3735e |
atanua: $(atanua-obj)
|
|
|
0f3735e |
diff --git a/src/core/main.cpp b/src/core/main.cpp
|
|
|
0f3735e |
index 635a669..a92d2bc 100644
|
|
|
0f3735e |
--- a/src/core/main.cpp
|
|
|
0f3735e |
+++ b/src/core/main.cpp
|
|
|
0f3735e |
@@ -27,7 +27,7 @@ distribution.
|
|
|
0f3735e |
#include "basechipfactory.h"
|
|
|
0f3735e |
#include "pluginchipfactory.h"
|
|
|
0f3735e |
|
|
|
0f3735e |
-#include "stb/stb_image_write.h"
|
|
|
0f3735e |
+#include <stb_image_write.h>
|
|
|
0f3735e |
|
|
|
0f3735e |
#define C_MENUBG 0xff3f4f4f
|
|
|
0f3735e |
#define C_WIDGETBG 0xff3f5f6f
|
|
|
0f3735e |
diff --git a/src/include/toolkit.h b/src/include/toolkit.h
|
|
|
0f3735e |
index 061962a..f24ae43 100644
|
|
|
0f3735e |
--- a/src/include/toolkit.h
|
|
|
0f3735e |
+++ b/src/include/toolkit.h
|
|
|
0f3735e |
@@ -54,35 +54,23 @@ distribution.
|
|
|
0f3735e |
#define LINUX_VERSION
|
|
|
0f3735e |
#endif
|
|
|
0f3735e |
|
|
|
0f3735e |
+#include <SDL/SDL.h>
|
|
|
0f3735e |
+#include <stb_image.h>
|
|
|
0f3735e |
+#include <GLee.h>
|
|
|
0f3735e |
+#include <gl.h>
|
|
|
0f3735e |
+#include <glu.h>
|
|
|
0f3735e |
|
|
|
0f3735e |
#ifdef WINDOWS_VERSION
|
|
|
0f3735e |
#include <windows.h> // needed to get GL stuff to work
|
|
|
0f3735e |
-#include <SDL.h>
|
|
|
0f3735e |
-#include "stb/stb_image.h"
|
|
|
0f3735e |
-#include "glee/glee.h"
|
|
|
0f3735e |
-#include <GL/gl.h>
|
|
|
0f3735e |
-#include <GL/glu.h>
|
|
|
0f3735e |
#define stricmp _stricmp
|
|
|
0f3735e |
#define strdup _strdup
|
|
|
0f3735e |
#endif
|
|
|
0f3735e |
|
|
|
0f3735e |
-
|
|
|
0f3735e |
#ifdef OSX_VERSION
|
|
|
0f3735e |
-#include <SDL/SDL.h>
|
|
|
0f3735e |
-#include "stb/stb_image.h"
|
|
|
0f3735e |
-#include "glee/GLee.h"
|
|
|
0f3735e |
-#include <OpenGL/gl.h>
|
|
|
0f3735e |
-#include <OpenGL/glu.h>
|
|
|
0f3735e |
#define stricmp(a,b) strcasecmp((a),(b))
|
|
|
0f3735e |
#endif
|
|
|
0f3735e |
|
|
|
0f3735e |
-
|
|
|
0f3735e |
#ifdef LINUX_VERSION
|
|
|
0f3735e |
-#include <SDL/SDL.h>
|
|
|
0f3735e |
-#include "stb/stb_image.h"
|
|
|
0f3735e |
-#include "glee/GLee.h"
|
|
|
0f3735e |
-#include <GL/gl.h>
|
|
|
0f3735e |
-#include <GL/glu.h>
|
|
|
0f3735e |
#define stricmp(a,b) strcasecmp((a),(b))
|
|
|
0f3735e |
#endif
|
|
|
0f3735e |
|
|
|
0f3735e |
--
|
|
|
0f3735e |
2.5.0
|
|
|
0f3735e |
|