| Upstream-Status: Inappropriate |
| |
| This patch lets you build Ice with OpenEmbedded. I doubt you could do |
| a regular build after applying this patch. |
| |
| From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001 |
| From: Tom Rondeau <tom@trondeau.com> |
| Date: Wed, 16 Apr 2014 14:34:51 -0400 |
| Subject: [PATCH] Modify Makefiles for cross compile |
| |
| --- |
| config/Make.common.rules | 20 +++++++------ |
| cpp/Makefile | 9 +++--- |
| cpp/config/Make.rules | 32 ++++++++++++-------- |
| cpp/config/Make.rules.Linux | 18 ++--------- |
| cpp/src/IceStorm/FreezeDB/Makefile | 2 +- |
| py/config/Make.rules | 58 +++++++++++++++++++----------------- |
| 6 files changed, 70 insertions(+), 69 deletions(-) |
| |
| diff --git a/config/Make.common.rules b/config/Make.common.rules |
| index d7b1d59..a3fb17e 100644 |
| --- a/config/Make.common.rules |
| +++ b/config/Make.common.rules |
| @@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux) |
| # |
| # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64. |
| # |
| - ifeq ($(shell test -d /usr/lib64 && echo 0),0) |
| - lp64suffix = 64 |
| - endif |
| + #ifeq ($(shell test -d /usr/lib64 && echo 0),0) |
| + # lp64suffix = 64 |
| + #endif |
| ifeq ($(LP64),) |
| LP64 = yes |
| endif |
| @@ -244,12 +244,13 @@ else |
| slicedir = $(ice_dir)/slice |
| endif |
| |
| -ifeq ($(prefix), /usr) |
| - install_slicedir = /usr/share/Ice-$(VERSION)/slice |
| -else |
| - install_slicedir = $(prefix)/slice |
| -endif |
| +#ifeq ($(prefix), /usr) |
| +# install_slicedir = /usr/share/Ice-$(VERSION)/slice |
| +#else |
| +# install_slicedir = $(prefix)/slice |
| +#endif |
| |
| +install_slicedir = $(prefix)/slice |
| # |
| # Set environment variables for the Slice translator. |
| # |
| @@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr) |
| endif |
| |
| ifeq ($(UNAME),Linux) |
| - export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) |
| + #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) |
| + export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH) |
| endif |
| |
| ifeq ($(UNAME),SunOS) |
| diff --git a/cpp/Makefile b/cpp/Makefile |
| index a68f113..1f44f57 100644 |
| --- a/cpp/Makefile |
| +++ b/cpp/Makefile |
| @@ -11,11 +11,12 @@ top_srcdir = . |
| |
| include $(top_srcdir)/config/Make.rules |
| |
| -SUBDIRS = config src include test |
| +#SUBDIRS = config src include test |
| +SUBDIRS = config src include |
| |
| -ifeq ($(shell uname | grep MINGW),) |
| -SUBDIRS := $(SUBDIRS) demo |
| -endif |
| +#ifeq ($(shell uname | grep MINGW),) |
| +#SUBDIRS := $(SUBDIRS) demo |
| +#endif |
| |
| INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \ |
| $(install_configdir) $(install_mandir) |
| diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules |
| index 37461ae..197c5e8 100644 |
| --- a/cpp/config/Make.rules |
| +++ b/cpp/config/Make.rules |
| @@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include |
| # includedir is not handled the same as bindir and libdir |
| # because it is used in the .depend files |
| # |
| -ifdef ice_src_dist |
| - includedir = $(top_srcdir)/include |
| -else |
| - includedir = $(ice_dir)/include |
| -endif |
| +#ifdef ice_src_dist |
| +# includedir = $(top_srcdir)/include |
| +#else |
| +# includedir = $(ice_dir)/include |
| +#endif |
| +includedir = $(top_srcdir)/include |
| |
| # |
| # Platform specific definitions |
| @@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir) |
| SLICE2CPPFLAGS = $(ICECPPFLAGS) |
| |
| ifeq ($(ice_dir), /usr) |
| - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) |
| + LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) |
| else |
| CPPFLAGS += -I$(includedir) |
| - ifdef ice_src_dist |
| - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) |
| - else |
| - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) |
| - endif |
| +# We must always build using the libraries in the source tree, the host's are obviously |
| +# not what we want for the target |
| + LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir)) |
| +# ifdef ice_src_dist |
| +# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) |
| +# else |
| +# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) |
| +# endif |
| endif |
| |
| ifeq ($(FLEX_NOLINE),yes) |
| @@ -313,8 +317,10 @@ endif |
| |
| ifdef ice_src_dist |
| SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION)) |
| - SLICE2CPP = $(bindir)/slice2cpp |
| - SLICE2FREEZE = $(bindir)/slice2freeze |
| +# SLICE2CPP = $(bindir)/slice2cpp |
| +# SLICE2FREEZE = $(bindir)/slice2freeze |
| + SLICE2CPP = $(ICE_HOME)/bin/slice2cpp |
| + SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze |
| else |
| SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) |
| SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp |
| diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux |
| index 5d5717c..8363c6e 100644 |
| --- a/cpp/config/Make.rules.Linux |
| +++ b/cpp/config/Make.rules.Linux |
| @@ -31,7 +31,7 @@ ifeq ($(CXX),c++) |
| CXX = g++ |
| endif |
| |
| -ifeq ($(CXX),g++) |
| +#ifeq ($(CXX),g++) |
| |
| ifneq ($(SUSE_i586),) |
| CXXARCHFLAGS += -march=i586 |
| @@ -71,14 +71,6 @@ ifeq ($(CXX),g++) |
| CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED |
| endif |
| |
| - ifeq ($(MACHINE),x86_64) |
| - ifeq ($(LP64),yes) |
| - CXXARCHFLAGS += -m64 |
| - else |
| - CXXARCHFLAGS += -m32 |
| - endif |
| - endif |
| - |
| CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread |
| |
| ifneq ($(GENPIC),no) |
| @@ -102,15 +94,11 @@ ifeq ($(CXX),g++) |
| |
| rpathlink = -Wl,-rpath-link,$(1) |
| |
| - ifneq ($(embedded_runpath_prefix),) |
| - LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir) |
| - else |
| - LDPLATFORMFLAGS = -Wl,--enable-new-dtags |
| - endif |
| + LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib |
| |
| LDPLATFORMFLAGS += -rdynamic |
| |
| -endif |
| +#endif |
| |
| ifeq ($(CXX),icpc) |
| $(warning ===================================================================) |
| diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile |
| index 7c844b7..cf15cb1 100644 |
| --- a/cpp/src/IceStorm/FreezeDB/Makefile |
| +++ b/cpp/src/IceStorm/FreezeDB/Makefile |
| @@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME) |
| |
| $(MIGRATE): $(MOBJS) |
| rm -f $@ |
| - $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) |
| + $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx |
| |
| # The slice2freeze rules are structured like this to avoid issues with |
| # parallel make. |
| diff --git a/py/config/Make.rules b/py/config/Make.rules |
| index 43ce01b..1349342 100644 |
| --- a/py/config/Make.rules |
| +++ b/py/config/Make.rules |
| @@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0) |
| include $(top_srcdir)/config/Make.rules.$(UNAME) |
| else |
| include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) |
| -endif |
| +endif |
| |
| libdir = $(top_srcdir)/python |
| -ifneq ($(prefix), /usr) |
| -install_pythondir = $(prefix)/python |
| -install_libdir = $(prefix)/python |
| -else |
| - ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) |
| - install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages |
| - install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages |
| - else |
| - install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| - install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| - endif |
| -endif |
| +#ifneq ($(prefix), /usr) |
| +#install_pythondir = $(prefix)/python |
| +#install_libdir = $(prefix)/python |
| +#else |
| +# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) |
| +# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages |
| +# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages |
| +# else |
| +# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| +# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| +# endif |
| +#endif |
| +install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| +install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages |
| |
| ifeq ($(UNAME),SunOS) |
| ifeq ($(LP64),yes) |
| @@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS) |
| endif |
| endif |
| |
| -ifdef ice_src_dist |
| - ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) |
| - ICE_LIB_DIR = -L$(ice_cpp_dir)/lib |
| - else |
| - ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) |
| - endif |
| - ICE_LIB_DIR = -L$(ice_cpp_dir)/lib |
| - ICE_FLAGS = -I$(ice_cpp_dir)/include |
| -endif |
| -ifdef ice_bin_dist |
| - ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) |
| - ICE_FLAGS = -I$(ice_dir)/include |
| -endif |
| +#ifdef ice_src_dist |
| +# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) |
| +# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib |
| +# else |
| +# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) |
| +# endif |
| +# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib |
| +# ICE_FLAGS = -I$(ice_cpp_dir)/include |
| +#endif |
| +#ifdef ice_bin_dist |
| +# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) |
| +# ICE_FLAGS = -I$(ice_dir)/include |
| +#endif |
| +ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib |
| +ICE_FLAGS = -I$(ice_cpp_dir)/include |
| ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil |
| |
| ifneq ($(embedded_runpath_prefix),) |
| @@ -137,7 +141,7 @@ endif |
| CPPFLAGS = |
| ICECPPFLAGS = -I$(slicedir) |
| SLICE2PYFLAGS = $(ICECPPFLAGS) |
| -LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) |
| +LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) |
| |
| ifdef ice_src_dist |
| ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) |
| -- |
| 1.7.9.5 |
| |