Ok, So I feel a little silly now ;). That worked. I now have all the
dependencies for the binary compiled (libSerializeClass, libDCECommon, and
libPlutoUtils), and all are showing ARM. The Orbiter binary makefile is a bit
different though. It requires that you build it with the command "make bin".
How do you do that with OE? Also, I am not sure what all the "WX" stuff is?
Should I remove it?
Thanks for all the help! I think we are pretty close!
Rob
For reference here is the bb file:
LICENSE = "GPL"
DESCRIPTION = "Orbiter try1"
SECTION = "console/util"
MAINTAINER = "me"
SRC_URI =
"svn://svn.plutohome.com/pluto/trunk/src;module=DCE;proto=http;rev=1110
3 \
svn://svn.plutohome.com/pluto/trunk/src;module=PlutoUtils;proto=http;r
ev=11103 \
svn://svn.plutohome.com/pluto/trunk/src;module=SerializeClass;proto=ht
tp;rev=11103 \
svn://svn.plutohome.com/pluto/trunk/src;module=pluto_main;proto=http;r
ev=11103 \
svn://svn.plutohome.com/pluto/trunk/src;module=RA;proto=http;rev=11103
\
svn://svn.plutohome.com/pluto/trunk/src;module=Orbiter;proto=http;rev=
11103 \
file://orbiter_make.patch;patch=1"
S = "${WORKDIR}/Orbiter"
CXXFLAGS_append = "-Wall -ggdb3"
CPPFLAGS_append = "-I./ -I../ -I../DCE/ -I../VIPShared/
-I${STAGING_INCDIR}/mysql
-I${STAGING_INCDIR}/X11 -I${STAGING_INCDIR}/SDL -I${STAGING_INCDIR}/glib-2.0
-I$
{STAGING_INCDIR}/glib-2.0/glib -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_DEVE
L_DEFINES -DUSE_LZO_DATAGRID -D_GNU_SOURCE"
DEPENDS = "mysql serializeclass dce plutoutils"
RDEPENDS = "mysql serializeclass dce plutoutils"
inherit autotools
do_stage() {
oe_libinstall -so Orbiter ${STAGING_LIBDIR}
oe_libinstall -so Orbiter ${STAGING_BINDIR}
}
do_install() {
install -d ${D}${libdir}
install -d ${D}${bindir}
install -m 644 ${WORKDIR}/Orbiter/Orbiter.so ${D}${libdir}
install -m 644 ${WORKDIR}/Orbiter/Orbiter ${D}${bindir}
}
And Here is the Makefile:
# if ( USE_WX_LIB > 0 )
# compile & link with wx
# else
# not using wx at all
# deactivating wx:
# export USE_WX_LIB=0 ; make
# or USE_WX_LIB=0 in Makefile
USE_WX_LIB = 0
USE_WX_LIB ?= 1
ifneq ($(USE_WX_LIB), 0)
USE_WX_LIB := 1
endif
ifneq ($(USE_WX_LIB), 0)
# using wx
# wx-config script name or full path
# WX_CONFIG := wx-config
WX_CONFIG := /usr/lib/wx/config/gtk2-ansi-release-2.6
# WX_CONFIG := /usr/lib/wx/config/gtk2-ansi-debug-2.6
#
WX_VERSION := $(shell echo `$(WX_CONFIG) --version`)
WX_CFLAGS := $(shell $(WX_CONFIG) --cflags) -DUSE_WX_LIB=1
WX_CXXFLAGS := $(shell $(WX_CONFIG) --cxxflags) -DUSE_WX_LIB=1
WX_CPPFLAGS := $(shell $(WX_CONFIG) --cppflags) -DUSE_WX_LIB=1
WX_LIBS := $(shell $(WX_CONFIG) --libs)
WX_GL_LIBS := $(shell $(WX_CONFIG) --gl-libs)
WX_LDFLAGS := $(shell $(WX_CONFIG) --ldflags 2>/dev/null)
WX_LD := $(shell $(WX_CONFIG) --ld)
WX_PARSE_LD := $(shell $(WX_CONFIG) --ld 2>/dev/null | sed -e 's|^[^-][^
]*||;s| -shared | |g;s| -o *$$| |;')
WX_SOURCES := $(shell ls wxAppMain/*.cpp)
else
# not using wx
WX_CONFIG :=
WX_VERSION :=
WX_CFLAGS := -DUSE_WX_LIB=0
WX_CXXFLAGS := -DUSE_WX_LIB=0
WX_CPPFLAGS := -DUSE_WX_LIB=0
WX_LIBS :=
WX_GL_LIBS :=
WX_LDFLAGS :=
WX_PARSE_LD :=
WX_SOURCES :=
endif
# use or not wx
#<-dceag-mh-b->
GENDEV=../Gen_Devices
ROOT = ..
BASELDLIBS = -lSerializeClass -lDCECommon -lPlutoUtils -lmysqlclient -lpthread
MYNAME = Orbiter
VERSION = 2.0.0
MYDEVTEMPLATEID = 8mplateID
Gen_Dev_Files = $(GENDEV)/OrbiterBase.cpp
sources = Main.cpp Orbiter.cpp $(Gen_Dev_Files)
#<-dceag-mh-e->
XTRALDLIBS += -lDCECommon -lSDL -lSDL_ttf -lSDL_image -lSGE -lSDL_gfx -lXtst
-lXext -lGL -lXrender -lGLU
# wmctrl wrapper
XTRALDLIBS += -lX11 -lXmu -lglib-2.0
Gen_Dev_Files +=
sources += \
$(WX_SOURCES) \
Task.cpp \
TaskManager.cpp \
../utilities/linux/window_manager/WMController/WMController.cpp \
../utilities/linux/window_manager/wmctrl/wmctrl.cpp \
../utilities/linux/wrapper/wrapper_x11.cpp \
Linux/win_list_manager.cpp \
Linux/OSDCompass.cpp \
Linux/OrbiterRenderer_Linux.cpp \
DesignObj_Data.cpp \
DesignObj_Orbiter.cpp \
DesignObj_DataGrid.cpp \
Simulator.cpp \
OrbiterFileBrowser.cpp \
Linux/OrbiterLinux.cpp \
Linux/XRecordExtensionHandler.cpp \
RendererMNG.cpp \
GraphicBuilder.cpp \
TextStyle.cpp \
CacheImageManager.cpp \
RendererOCG.cpp \
ScreenHandler.cpp \
CallBackData.cpp \
ScreenHistory.cpp \
MouseBehavior.cpp \
LightMouseHandler.cpp \
SpeedMouseHandler.cpp \
VolumeMouseHandler.cpp \
MediaMouseHandler.cpp \
LockedMouseHandler.cpp \
KeyboardMouseHandler.cpp \
HorizMenuMouseHandler.cpp \
MediaBrowserMouseHandler.cpp \
DatagridMouseHandlerHelper.cpp \
MouseGovernor.cpp \
MouseIterator.cpp \
PlutoGraphic.cpp \
OrbiterRenderer.cpp \
OrbiterRendererFactory.cpp \
DataGridRenderer.cpp \
ObjectRenderer.cpp \
ObjectRendererFactory.cpp \
SDL/OrbiterRenderer_SDL.cpp \
SDL/SDLRendererOCGHelper.cpp \
SDL/SDLGraphic.cpp \
SDL/StartOrbiterSDL.cpp \
Linux/OSDScreenHandler.cpp \
Linux/MouseBehavior_Linux.cpp \
WizardLogic.cpp \
../CreateDevice/UserUtils.cpp \
$(ROOT)/Splitter/TextSplitter.cpp \
$(ROOT)/Splitter/TextWrapper.cpp \
$(ROOT)/OrbiterGen/Renderer.cpp \
Linux/X3DButton.cpp Linux/X3DWindow.cpp Linux/XProgressWnd.cpp
Linux/XPromptUser.cpp\
$(ROOT)/utilities/linux/transparency/transparency.cpp \
#<-dceag-mf-b->
LDLIBS = $(XTRALDLIBS) $(BASELDLIBS)
whattodo:
@echo "type 'make bin', 'make so' or 'make all'"
all: bin so
bin: Orbiter
so: Orbiter.so
Orbiter.so: $(sources:.cpp=.o)
$(CXX) -shared -o $(MYNAME).so $(call cpath,$+) $(LDFLAGS) $(LDLIBS)
cp $@ ../bin
chmod +x post_make.sh
./post_make.sh $@
Orbiter: $(sources:.cpp=.o)
$(CXX) -o $(MYNAME) $(call cpath,$+) $(LDFLAGS) $(LDLIBS)
cp $@ ../bin
./post_make.sh $@
clean: clean-recursive
rm -f $(call cpath,$(sources:.cpp=.o) $(sources:.cpp=.d)) Orbiter.bin
Orbiter.so >/dev/null
package:
chmod +x make_package.sh
./make_package.sh $(MYNAME) $(VERSION) $(MYDEVTEMPLATEID)
include $(ROOT)/PlutoUtils/make.rules
ifeq (,$(findstring clean, $(MAKECMDGOALS)))
-include $(sources:.cpp=.d)
endif
#<-dceag-mf-e->
info:
: WX_VERSION=$(WX_VERSION)
: ""
: WX_CFLAGS=$(WX_CFLAGS)
: WX_CXXFLAGS=$(WX_CXXFLAGS)
: WX_CPPFLAGS=$(WX_CPPFLAGS)
: ""
: WX_LIBS=$(WX_LIBS)
: WX_GL_LIBS=$(WX_GL_LIBS)
: ""
: WX_LDFLAGS=$(WX_LDFLAGS)
: WX_LD=$(WX_LD)
: WX_PARSE_LD=$(WX_PARSE_LD)
: ""
: WX_SOURCES=$(WX_SOURCES)
: ""
: new CFLAGS=$(CFLAGS)
: new CXXFLAGS=$(CXXFLAGS)
: new CPPFLAGS=$(CPPFLAGS)
: new XTRALDLIBS=$(XTRALDLIBS)
: ""
: old BASELDLIBS=$(BASELDLIBS)
: gen LDFLAGS=$(LDFLAGS)
: gen LDLIBS=$(LDLIBS)
And finally here is the patch file:
Index: Orbiter/Makefile
===================================================================
--- Orbiter.orig/Makefile
+++ Orbiter/Makefile
@@ -55,11 +55,7 @@ endif
GENDEV=../Gen_Devices
ROOT = ..
-CXX = g++
-CXXFLAGS = -Wall -fPIC -ggdb3
-CPPFLAGS = -I$(ROOT) -I$(ROOT)/DCE -I/usr/include/mysql -D_DEVEL_DEFINES
-LDFLAGS = -L$(ROOT)/lib
-BASELDLIBS = -lSerializeClass -lDCECommon -lPlutoUtils -lmysqlclient_r
-lpthread
+BASELDLIBS = -lSerializeClass -lDCECommon -lPlutoUtils -lmysqlclient -lpthread
MYNAME = Orbiter
VERSION = 2.0.0
@@ -69,19 +65,11 @@ Gen_Dev_Files = $(GENDEV)/OrbiterBase.cp
sources = Main.cpp Orbiter.cpp $(Gen_Dev_Files)
#<-dceag-mh-e->
-CXXFLAGS += -g -O0
-CPPFLAGS += -I/usr/include/SDL -DORBITER -DCACHE_IMAGES
-DENABLE_MOUSE_BEHAVIOR -I$(ROOT)/Splitter -I$(ROOT)/OrbiterGen
-LDFLAGS += -L/usr/X11R6/lib
XTRALDLIBS += -lDCECommon -lSDL -lSDL_ttf -lSDL_image -lSGE -lSDL_gfx -lXtst
-lXext -lGL -lXrender -lGLU
# wmctrl wrapper
-CPPFLAGS += -I/usr/X11R6/include -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include
XTRALDLIBS += -lX11 -lXmu -lglib-2.0
-CFLAGS += $(WX_CFLAGS)
-CXXFLAGS += $(WX_CXXFLAGS)
-CPPFLAGS += $(WX_CPPFLAGS)
-XTRALDLIBS += $(WX_LIBS)
Gen_Dev_Files +=
sources += \
-------------- Original message ----------------------
From: Dirk Opfer <[EMAIL PROTECTED]>
> [EMAIL PROTECTED] schrieb:
> > Dirk,
> > Thanks for all of your help! I'm starting to figure this out little by
> > little.
> >
> > Ok, I have gone back to SerializeClass because it is the easiest (fewest
> dependencies). I used quilt to create the patch file as you instructed and it
> compiles and creates a libSerializeClass.so in the staging dir however, file
> libSerializeClass.so still gives me:
> >
> > libSerializeClass.so: ELF 32-bit LSB shared object, Intel 80386, version 1
> (SYSV), not stripped
> >
> > So I am clearly not doing something correctly :-(
> >
> > Here is the patch (serializeclass_make.patch):
> >
> > And here is the updated serializeclass_1.1.1.bb file:
> >
> > LICENSE = "GPL"
> > DESCRIPTION = "SerializeClass try 2"
> > SECTION = "console/util"
> > MAINTAINER = "me"
> > SRC_URI =
> "svn://svn.plutohome.com/pluto/trunk/src;module=SerializeClass;proto=http;rev=11
> 103 \
> >
> svn://svn.plutohome.com/pluto/trunk/src;module=PlutoUtils;proto=http;rev=11103
> \
> > file://serializeclass_make.patch"
> >
> >
> >
> you need to teach bitbake to apply the patch:
>
> file://serializeclass_make.patch" ->
> file://serializeclass_make.patch;patch=1"
>
>
> > One thing I did notice but am not sure it is significant is that the patch
> file gets copied to:
> > ~/oe/build/tmp/work/serializeclass-1.1.1-r0/
> >
> > and the Makefile is in
> > ~/oe/build/tmp/work/serializeclass-1.1.1-r0/SerializeClass/
> >
> > Also, if I look at the Makefile in
> ~/oe/build/tmp/work/serializeclass-1.1.1-r0/SerializeClass/, it doesn't
> appear
> to be changed.
> >
> > Again, thank you for all of your help on this!
> >
> >
> >
>
> Dirk
>
_______________________________________________
Oe mailing list
[email protected]
https://www.handhelds.org/mailman/listinfo/oe