blob: 43096d2bce1c6faf1338739b53268b805b76a181 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001Upstream-Status: Inappropriate
2
3This patch lets you build Ice with OpenEmbedded. I doubt you could do
4a regular build after applying this patch.
5
6From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001
7From: Tom Rondeau <tom@trondeau.com>
8Date: Wed, 16 Apr 2014 14:34:51 -0400
9Subject: [PATCH] Modify Makefiles for cross compile
10
11---
12 config/Make.common.rules | 20 +++++++------
13 cpp/Makefile | 9 +++---
14 cpp/config/Make.rules | 32 ++++++++++++--------
15 cpp/config/Make.rules.Linux | 18 ++---------
16 cpp/src/IceStorm/FreezeDB/Makefile | 2 +-
17 py/config/Make.rules | 58 +++++++++++++++++++-----------------
18 6 files changed, 70 insertions(+), 69 deletions(-)
19
20diff --git a/config/Make.common.rules b/config/Make.common.rules
21index d7b1d59..a3fb17e 100644
22--- a/config/Make.common.rules
23+++ b/config/Make.common.rules
24@@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux)
25 #
26 # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64.
27 #
28- ifeq ($(shell test -d /usr/lib64 && echo 0),0)
29- lp64suffix = 64
30- endif
31+ #ifeq ($(shell test -d /usr/lib64 && echo 0),0)
32+ # lp64suffix = 64
33+ #endif
34 ifeq ($(LP64),)
35 LP64 = yes
36 endif
37@@ -244,12 +244,13 @@ else
38 slicedir = $(ice_dir)/slice
39 endif
40
41-ifeq ($(prefix), /usr)
42- install_slicedir = /usr/share/Ice-$(VERSION)/slice
43-else
44- install_slicedir = $(prefix)/slice
45-endif
46+#ifeq ($(prefix), /usr)
47+# install_slicedir = /usr/share/Ice-$(VERSION)/slice
48+#else
49+# install_slicedir = $(prefix)/slice
50+#endif
51
52+install_slicedir = $(prefix)/slice
53 #
54 # Set environment variables for the Slice translator.
55 #
56@@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr)
57 endif
58
59 ifeq ($(UNAME),Linux)
60- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
61+ #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH)
62+ export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH)
63 endif
64
65 ifeq ($(UNAME),SunOS)
66diff --git a/cpp/Makefile b/cpp/Makefile
67index a68f113..1f44f57 100644
68--- a/cpp/Makefile
69+++ b/cpp/Makefile
70@@ -11,11 +11,12 @@ top_srcdir = .
71
72 include $(top_srcdir)/config/Make.rules
73
74-SUBDIRS = config src include test
75+#SUBDIRS = config src include test
76+SUBDIRS = config src include
77
78-ifeq ($(shell uname | grep MINGW),)
79-SUBDIRS := $(SUBDIRS) demo
80-endif
81+#ifeq ($(shell uname | grep MINGW),)
82+#SUBDIRS := $(SUBDIRS) demo
83+#endif
84
85 INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \
86 $(install_configdir) $(install_mandir)
87diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
88index 37461ae..197c5e8 100644
89--- a/cpp/config/Make.rules
90+++ b/cpp/config/Make.rules
91@@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include
92 # includedir is not handled the same as bindir and libdir
93 # because it is used in the .depend files
94 #
95-ifdef ice_src_dist
96- includedir = $(top_srcdir)/include
97-else
98- includedir = $(ice_dir)/include
99-endif
100+#ifdef ice_src_dist
101+# includedir = $(top_srcdir)/include
102+#else
103+# includedir = $(ice_dir)/include
104+#endif
105+includedir = $(top_srcdir)/include
106
107 #
108 # Platform specific definitions
109@@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir)
110 SLICE2CPPFLAGS = $(ICECPPFLAGS)
111
112 ifeq ($(ice_dir), /usr)
113- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS)
114+ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS)
115 else
116 CPPFLAGS += -I$(includedir)
117- ifdef ice_src_dist
118- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
119- else
120- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
121- endif
122+# We must always build using the libraries in the source tree, the host's are obviously
123+# not what we want for the target
124+ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir))
125+# ifdef ice_src_dist
126+# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
127+# else
128+# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix)
129+# endif
130 endif
131
132 ifeq ($(FLEX_NOLINE),yes)
133@@ -313,8 +317,10 @@ endif
134
135 ifdef ice_src_dist
136 SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION))
137- SLICE2CPP = $(bindir)/slice2cpp
138- SLICE2FREEZE = $(bindir)/slice2freeze
139+# SLICE2CPP = $(bindir)/slice2cpp
140+# SLICE2FREEZE = $(bindir)/slice2freeze
141+ SLICE2CPP = $(ICE_HOME)/bin/slice2cpp
142+ SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze
143 else
144 SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION))
145 SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp
146diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux
147index 5d5717c..8363c6e 100644
148--- a/cpp/config/Make.rules.Linux
149+++ b/cpp/config/Make.rules.Linux
150@@ -31,7 +31,7 @@ ifeq ($(CXX),c++)
151 CXX = g++
152 endif
153
154-ifeq ($(CXX),g++)
155+#ifeq ($(CXX),g++)
156
157 ifneq ($(SUSE_i586),)
158 CXXARCHFLAGS += -march=i586
159@@ -71,14 +71,6 @@ ifeq ($(CXX),g++)
160 CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
161 endif
162
163- ifeq ($(MACHINE),x86_64)
164- ifeq ($(LP64),yes)
165- CXXARCHFLAGS += -m64
166- else
167- CXXARCHFLAGS += -m32
168- endif
169- endif
170-
171 CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread
172
173 ifneq ($(GENPIC),no)
174@@ -102,15 +94,11 @@ ifeq ($(CXX),g++)
175
176 rpathlink = -Wl,-rpath-link,$(1)
177
178- ifneq ($(embedded_runpath_prefix),)
179- LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir)
180- else
181- LDPLATFORMFLAGS = -Wl,--enable-new-dtags
182- endif
183+ LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib
184
185 LDPLATFORMFLAGS += -rdynamic
186
187-endif
188+#endif
189
190 ifeq ($(CXX),icpc)
191 $(warning ===================================================================)
192diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile
193index 7c844b7..cf15cb1 100644
194--- a/cpp/src/IceStorm/FreezeDB/Makefile
195+++ b/cpp/src/IceStorm/FreezeDB/Makefile
196@@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
197
198 $(MIGRATE): $(MOBJS)
199 rm -f $@
200- $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS)
201+ $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx
202
203 # The slice2freeze rules are structured like this to avoid issues with
204 # parallel make.
205diff --git a/py/config/Make.rules b/py/config/Make.rules
206index 43ce01b..1349342 100644
207--- a/py/config/Make.rules
208+++ b/py/config/Make.rules
209@@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0)
210 include $(top_srcdir)/config/Make.rules.$(UNAME)
211 else
212 include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME)
213-endif
214+endif
215
216 libdir = $(top_srcdir)/python
217-ifneq ($(prefix), /usr)
218-install_pythondir = $(prefix)/python
219-install_libdir = $(prefix)/python
220-else
221- ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
222- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
223- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
224- else
225- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
226- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
227- endif
228-endif
229+#ifneq ($(prefix), /usr)
230+#install_pythondir = $(prefix)/python
231+#install_libdir = $(prefix)/python
232+#else
233+# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0)
234+# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
235+# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages
236+# else
237+# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
238+# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
239+# endif
240+#endif
241+install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
242+install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages
243
244 ifeq ($(UNAME),SunOS)
245 ifeq ($(LP64),yes)
246@@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS)
247 endif
248 endif
249
250-ifdef ice_src_dist
251- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
252- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
253- else
254- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
255- endif
256- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
257- ICE_FLAGS = -I$(ice_cpp_dir)/include
258-endif
259-ifdef ice_bin_dist
260- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
261- ICE_FLAGS = -I$(ice_dir)/include
262-endif
263+#ifdef ice_src_dist
264+# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
265+# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
266+# else
267+# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir)
268+# endif
269+# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib
270+# ICE_FLAGS = -I$(ice_cpp_dir)/include
271+#endif
272+#ifdef ice_bin_dist
273+# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir)
274+# ICE_FLAGS = -I$(ice_dir)/include
275+#endif
276+ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib
277+ICE_FLAGS = -I$(ice_cpp_dir)/include
278 ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil
279
280 ifneq ($(embedded_runpath_prefix),)
281@@ -137,7 +141,7 @@ endif
282 CPPFLAGS =
283 ICECPPFLAGS = -I$(slicedir)
284 SLICE2PYFLAGS = $(ICECPPFLAGS)
285-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
286+LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir)
287
288 ifdef ice_src_dist
289 ifeq ($(ice_cpp_dir), $(ice_dir)/cpp)
290--
2911.7.9.5
292