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