[omniORB] omniORB on IBM s390

Sander Steffann sander@steffann.nl
Sun, 30 Sep 2001 03:55:43 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0017_01C14963.C71A63F0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi,

I requested a Linux on s390 test account at
http://www-1.ibm.com/servers/eserver/zseries/os/linux/lcds/ last friday, and
I got it immediately.

The first software I tested was of course omniORB. I tried 304 and the
latest 4 snapshot, and after adjusting some small things, it worked! I ran
all the C++ examples without problem. I haven't tried Python yet, but I
think I'll have time for that later this week.

I attached the patches and the config file I used. This was tested on a 32
bit machine. Unfortunately I have no access to a new zSeries 64 bit machine.

Sander.


------=_NextPart_000_0017_01C14963.C71A63F0
Content-Type: application/octet-stream;
	name="s390_linux_glibc2.1.mk"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="s390_linux_glibc2.1.mk"

#
# s390_linux_glibc2.1.mk - make variables and rules specific
# to Linux 2.x and glibc-2.1
#

Linux =3D 1
s390Processor =3D 1

ABSTOP =3D $(shell cd $(TOP); pwd)

#
# Python set-up
#
# You must set a path to a Python 1.5.2 interpreter. If you do not
# wish to make a complete installation, you may download a minimal
# Python from ftp://ftp.uk.research.att.com/pub/omniORB/python/
# In that case, uncomment the first line below.

#PYTHON =3D $(ABSTOP)/$(BINDIR)/omnipython
#PYTHON =3D /usr/local/bin/python
PYTHON =3D /usr/bin/python

#
# Include general unix things
#

include $(THIS_IMPORT_TREE)/mk/unix.mk


#
# Standard programs
#

AR =3D ar cq

CPP =3D /usr/bin/cpp

#########################################################################=
####
# To use g++ uncomment the following lines:                              =
   #=20
#########################################################################=
####
CXX =3D /usr/bin/g++
CXXMAKEDEPEND +=3D -D__cplusplus -D__GNUG__ -D__GNUC__
CXXDEBUGFLAGS =3D -O2=20

CXXLINK		=3D $(CXX)
CXXLINKOPTIONS  =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS) \
		$(patsubst %,-Wl$(comma)-rpath$(comma)%,$(IMPORT_LIBRARY_DIRS))

CXXOPTIONS      =3D -Wall -Wno-unused
EgcsMajorVersion =3D 1
EgcsMinorVersion =3D 1

#########################################################################=
####
# To use KAI C++ uncomment the following lines:                          =
   #
#########################################################################=
####
#KCC =3D 1
#AR =3D KCC --thread_safe -o=20
#CXX =3D /usr/local/KAI/KCC.pu-4.0b-1/KCC_BASE/bin/KCC
#CXXMAKEDEPEND +=3D -D__cplusplus -D__GNUG__ -D__GNUC__
#CXXDEBUGFLAGS =3D +K0 --one_per --thread_safe --exceptions
#
#CXXLINK		=3D $(CXX)
#CXXLINKOPTIONS  =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS) --thread_safe=20
#CXXOPTIONS      =3D

#########################################################################=
####
CC           =3D /usr/bin/gcc
CMAKEDEPEND  +=3D -D__GNUC__
CDEBUGFLAGS  =3D -O

CLINK        =3D $(CC)
CLINKOPTIONS =3D $(CDEBUGFLAGS) $(COPTIONS) \
	       $(patsubst %,-Wl$(comma)-rpath$(comma)%,$(IMPORT_LIBRARY_DIRS))

INSTALL =3D install -c

IMPORT_CPPFLAGS +=3D -D__s390__ -D__linux__ -D__OSVERSION__=3D2


#
# CORBA stuff
#

CorbaImplementation =3D OMNIORB

#
# OMNI thread stuff
#

ThreadSystem =3D Posix
OMNITHREAD_POSIX_CPPFLAGS =3D -DNoNanoSleep
OMNITHREAD_CPPFLAGS =3D -D_REENTRANT
OMNITHREAD_LIB =3D $(patsubst %,$(LibSearchPattern),omnithread)

ifndef UseMITthreads
OMNITHREAD_POSIX_CPPFLAGS +=3D -DPthreadDraftVersion=3D10
OMNITHREAD_LIB +=3D -lpthread
else
OMNITHREAD_POSIX_CPPFLAGS +=3D -DPthreadDraftVersion=3D8=20
OMNITHREAD_CPPFLAGS +=3D -D_MIT_POSIX_THREADS
OMNITHREAD_LIB +=3D -lpthreads
endif

lib_depend :=3D $(patsubst %,$(LibPattern),omnithread)
OMNITHREAD_LIB_DEPEND :=3D $(GENERATE_LIB_DEPEND)


# Default location of the omniORB configuration file [falls back to this =
if
# the environment variable OMNIORB_CONFIG is not set] :

OMNIORB_CONFIG_DEFAULT_LOCATION =3D /etc/omniORB4.cfg

# Default directory for the omniNames log files.
OMNINAMES_LOG_DEFAULT_LOCATION =3D /var/omninames

#
# Shared Library support.    =20
#
BuildSharedLibrary =3D 1       # Enable
SHAREDLIB_CPPFLAGS =3D -fPIC   # compiler flag

ifeq ($(notdir $(CC)),KCC)
SharedLibraryPlatformLinkFlagsTemplate =3D --thread_safe --soname =
$$soname
endif

# Add the location of the Open SSL library

# To build the SSL transport, OPEN_SSL_ROOT must be defined and points =
to
# the top level directory of the openssl library. The default is to =
disable
# the build.
#
OPEN_SSL_ROOT =3D /usr
#

OPEN_SSL_CPPFLAGS =3D -I$(OPEN_SSL_ROOT)/include
OPEN_SSL_LIB =3D -L$(OPEN_SSL_ROOT)/lib -lssl -lcrypto
OMNIORB_SSL_LIB +=3D $(OPEN_SSL_LIB)
OMNIORB_SSL_CPPFLAGS +=3D $(OPEN_SSL_CPPFLAGS)

#
# everything else is default from unix.mk


------=_NextPart_000_0017_01C14963.C71A63F0
Content-Type: application/octet-stream;
	name="patch2"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="patch2"

diff -ur omni/src/tool/omniidl/cxx/cccp/config-linux.h =
omniORB_4/src/tool/omniidl/cxx/cccp/config-linux.h
--- omni/src/tool/omniidl/cxx/cccp/config-linux.h	Fri Jun  8 13:12:24 =
2001
+++ omniORB_4/src/tool/omniidl/cxx/cccp/config-linux.h	Sat Sep 29 =
09:42:11 2001
@@ -1,4 +1,4 @@
-#if defined(__x86__) || defined(__powerpc__)
+#if defined(__x86__) || defined(__powerpc__) || defined(__s390__)
=20
 #define SIZEOF_UNSIGNED_CHAR 1
 #define SIZEOF_INT 4

------=_NextPart_000_0017_01C14963.C71A63F0
Content-Type: application/octet-stream;
	name="patch1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="patch1"

diff -ur omni/include/omniORB4/CORBA_sysdep.h =
omniORB_4/include/omniORB4/CORBA_sysdep.h
--- omni/include/omniORB4/CORBA_sysdep.h	Wed Aug 15 06:14:41 2001
+++ omniORB_4/include/omniORB4/CORBA_sysdep.h	Sat Sep 29 09:43:59 2001
@@ -520,6 +520,9 @@
 #  define _NO_STRDUP 1
 #  define _USE_GETHOSTNAME 1
 # endif
+#elif defined(__s390__)
+# define _OMNIORB_HOST_BYTE_ORDER_ 0
+# define _HAS_SIGNAL 1
 #elif defined(__aix__) && defined(__powerpc__)
 # define _OMNIORB_HOST_BYTE_ORDER_ 0
 # define _HAS_SIGNAL 1

------=_NextPart_000_0017_01C14963.C71A63F0--