GNU-built omniORB libs

Jan Lessner jan@c-lab.de
Thu, 18 Sep 1997 12:59:17 +0200


Hello omniORB'ler
Since the discussions about using GNU compilers for omniORB are becoming
serious now, I'd like to quickly summerize the required modifications to
make omniORB "compile just perfectly" as I promised in my first mail on
this topic. We are using g++ 2.7.2 or 2.7.2.2 on Solaris 2.5 with posix
threads. Older compilers will probably fail (especially 2.7.0 definitely
does) and we have no experience with older Solaris releases. Most of the
modifications have been pointed out already by Thomas Wegener in his
last mail, except that we also built shared libs.

If it is of interest we could provide our GNU-built Solaris libraries to
the public (if the omniORB'ees like to include these in their WWW
archive. Any interest Sai-Lai?).


In mk/config.mk:

change
CXX = CC
to
CXX = g++

add
CXXOPTIONS = -fhandle-exceptions -fsigned-char 
Optionally add "-Wall -Wno-unused" as Thomas proposed.

change
RANLIB = ranlib
to
RANLIB = touch

In src/lib/omnithread/shared/sun4_sosV_5.5.mk:

change
DIR_CPPFLAGS = $(OMNITHREAD_CPPFLAGS) $(OMNITHREAD_POSIX_CPPFLAGS) -Kpic
to
DIR_CPPFLAGS = $(OMNITHREAD_CPPFLAGS) $(OMNITHREAD_POSIX_CPPFLAGS) -fpic

change
libomnithread.so.1.0: $(OBJS)
	(set -x; \
        $(RM) $@; \
        CC -G -o $@ -h libomnithread.so.1  $(OBJS) $(LIBS); \
       )
to
libomnithread.so.1.0: $(OBJS)
	(set -x; \
        $(RM) $@; \
        $(CXX) -shared -o $@ -h libomnithread.so.1  $(OBJS) $(LIBS); \
       )

In src/lib/omniORB2/shared/sun4_sosV_5.5.mk:

change
EXTRADIR_CPPFLAGS = -Kpic
to
EXTRADIR_CPPFLAGS = -fpic

change
libomniORB2.so.2.0: $(ORB2_OBJS)
	(set -x; \
        $(RM) $@; \
        CC -G -o $@ -h libomniORB2.so.2  $(ORB2_OBJS) -L$(LIBDIR)
$(OMNITHREAD_LIB); \
       )
to
libomniORB2.so.2.0: $(ORB2_OBJS)
	(set -x; \
        $(RM) $@; \
        $(CXX) -shared -o $@ $(ORB2_OBJS) -L$(LIBDIR) $(OMNITHREAD_LIB);
\
       )

In fact we changed our Makefiles so that all compiler dependencies are
under control of config.mk. This makes configuration a little bit more
comfortable. However, the changes above should do the job, including
shared libraries! Maybe the omniORB guys habe some time to restructure
their Makefiles a little for the next release.

Cheers,

	Jan