[omniORB] Crosscompiling omni to the Sharp Zaurus (arm-linux)
Tobias Hunger
tobias@fresco.org
19 May 2002 00:53:15 +0200
--=-WCjxcRZH/MTteQ6EPQqy
Content-Type: multipart/mixed; boundary="=-c2bUBlhjzZYDssHRIkyO"
--=-c2bUBlhjzZYDssHRIkyO
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Hi there!
Here's a patch to allow for crosscompiling omniorb to the Sharp Zaurus.
It's a bit hackish, so please read the rest of this mail before running
of and applying it.
You will need a locally installed omniORB for omniidl etc. make will
only build the libraries, nothing else (it adds EmbbededSystem to one of
the config files).
I have one big problem with this patch: It is not fully within the spec.
sizeof(long double) in the Z is 8byte, too short to hold a CORBA long
double. I forced omniORB to build anyway, assuming that gcc's long
double is OK. That's a very ugly hack which breaks the specs! What is
the correct thing to do in such a situation? From reading omni's
buildsystem and sources I assume not to support CORBA's long double at
all. The build fails out of the box though: The typedef is #ifdefed, but
not the code depending on that typedef:-(
--=20
Gruss,
Tobias
------------------------------------------------------------
Tobias Hunger The box said: 'Windows 95 or better'
tobias@fresco.org So I installed Linux.
------------------------------------------------------------
--=-c2bUBlhjzZYDssHRIkyO
Content-Disposition: attachment; filename=omniorb4.diff
Content-Type: text/x-patch; name=omniorb4.diff; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
Index: include/omniORB4/CORBA_sysdep_auto.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/omniorb/omni/include/omniORB4/Attic/CORBA_sysdep_auto.h,=
v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 CORBA_sysdep_auto.h
--- include/omniORB4/CORBA_sysdep_auto.h 18 Feb 2002 11:59:12 -0000 1.1.2.2
+++ include/omniORB4/CORBA_sysdep_auto.h 16 May 2002 12:32:45 -0000
@@ -74,7 +74,7 @@
# define _CORBA_LONGLONG_CONST(x) (x##LL)
#endif
=20
-#if defined(SIZEOF_LONG_DOUBLE) && (SIZEOF_LONG_DOUBLE > 8)
+#if defined(SIZEOF_LONG_DOUBLE) && (SIZEOF_LONG_DOUBLE >=3D 8)
# define HAS_LongDouble
# define _CORBA_LONGDOUBLE_DECL long double
#endif
Index: mk/beforeauto.mk.in
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/omniorb/omni/mk/Attic/beforeauto.mk.in,v
retrieving revision 1.1.2.6
diff -u -r1.1.2.6 beforeauto.mk.in
--- mk/beforeauto.mk.in 29 Apr 2002 11:52:50 -0000 1.1.2.6
+++ mk/beforeauto.mk.in 16 May 2002 12:32:51 -0000
@@ -11,6 +11,8 @@
EXPORT_TREE =3D $(TOP)
PYTHON =3D @PYTHON@
=20
+EmbeddedSystem =3D 1
+
# If the build tree is the same as the source tree, autoconf helpfully
# clears any makefile lines that set VPATH. We put it back here.
ifndef VPATH
@@ -453,7 +455,7 @@
OMNIORB_DYNAMIC_DLL_NAME =3D $(patsubst %,$(LibSearchPattern),\
omniDynamic$(OMNIORB_MAJOR_VERSION))
=20
-OMNIORB_IDL_ONLY =3D $(TOP)/$(BINDIR)/omniidl -bcxx
+OMNIORB_IDL_ONLY =3D omniidl -bcxx
OMNIORB_IDL_ANY_FLAGS =3D -Wba
OMNIORB_IDL =3D $(OMNIORB_IDL_ONLY) $(OMNIORB_IDL_ANY_FLAGS)
OMNIORB_CPPFLAGS =3D -D__OMNIORB$(OMNIORB_MAJOR_VERSION)__ \
@@ -643,7 +645,7 @@
CP =3D cp
MV =3D mv -f
CPP =3D @CPP@
-OMKDEPEND =3D $(TOP)/$(BINDIR)/omkdepend
+OMKDEPEND =3D omkdepend
RMDIRHIER =3D $(RM) -rf
=20
CXXMAKEDEPEND =3D $(OMKDEPEND) -D__cplusplus
@@ -686,7 +688,7 @@
CDEBUGFLAGS =3D -O
CLINK =3D $(CC)
CLINKOPTIONS =3D $(CDEBUGFLAGS) $(COPTIONS)
-CXXDEBUGFLAGS =3D -O2
+CXXDEBUGFLAGS =3D -Os
CXXLINK =3D $(CXX)
CXXLINKOPTIONS =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS)
=20
Index: src/tool/omniidl/cxx/dir.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/omniorb/omni/src/tool/omniidl/cxx/dir.mk,v
retrieving revision 1.19.2.12
diff -u -r1.19.2.12 dir.mk
--- src/tool/omniidl/cxx/dir.mk 29 Apr 2002 01:21:43 -0000 1.19.2.12
+++ src/tool/omniidl/cxx/dir.mk 16 May 2002 12:33:09 -0000
@@ -66,8 +66,8 @@
PYPREFIX :=3D $(shell $(PYTHON) -c 'import sys; print sys.exec_prefix')
PYVERSION :=3D $(shell $(PYTHON) -c 'import sys; print sys.version[:3]')
PYINCDIR :=3D $(PYPREFIX)/include
-PYINCFILE :=3D "<python$(PYVERSION)/Python.h>"
-DIR_CPPFLAGS +=3D -I$(PYINCDIR) -DPYTHON_INCLUDE=3D$(PYINCFILE)
+PYINCFILE :=3D "<$(PYINCDIR)/python$(PYVERSION)/Python.h>"
+DIR_CPPFLAGS +=3D -DPYTHON_INCLUDE=3D$(PYINCFILE)
--=-c2bUBlhjzZYDssHRIkyO--
--=-WCjxcRZH/MTteQ6EPQqy
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQA85ttbVND+cGpk748RAlT9AJ45nwvBtqnDHSJ0BAvjR5RcoIz9AQCfZPkC
mQEMOMN4/v1LsU/jxgBV9Do=
=HSjP
-----END PGP SIGNATURE-----
--=-WCjxcRZH/MTteQ6EPQqy--