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 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