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