[omniORB] 64-bit Solaris build - another possible solution

Mark Zimmerman markzimm@frii.com
Wed Jan 22 16:18:02 2003


Greetings:

I've been playing around with building a 64-bit version and have some
results that may be of interest. Based on some dbx-ing of omnicpp, it
appeared that the problem was an invalid pointer returned by the
locally compiled version of alloca. Based on Mark Underwood's posting
of 08 Jan, I tried the following:

1) edit src/tool/omniidl/cxx/cccp/cccp.c to add:
     #include <stdlib.h>
     #include <string.h>
     #include <strings.h>
     #include <unistd.h>
     #include <alloca.h>
     #include <sys/types.h>
     #include <sys/stat.h>
     #include <ctype.h>
     #include <stdio.h>
     #include <signal.h>

2) edit src/tool/omniidl/cxx/cccp/dir.mk to remove all reference to the local
   alloca and add -DUSE_C_ALLOCA to DIR_CPPFLAGS.

3) Do the autoconf configure as follows:
   ./configure CC='cc -g -xtarget=ultra -xarch=v9' \
               CXX='CC -g -xtarget=ultra -xarch=v9' \
               PYTHON=/usr/local/python-2.1.3/bin/python

4) make export as normal

My build is still in progress, but it is long past the previous stopping
point so I suspect it may be fine. I am wondering the following:

1) Do we really need our own version of alloca?
2) If we do, could a configure option like --use-builtin-alloca be a
   possibility?

-- Mark