ROOT on SGI with gcc

Pasha Murat (murat@cdfsga.fnal.gov)
Sun, 7 Feb 1999 21:58:02 -0600 (CST)


Martin Weber writes:
> I am trying to compile ROOT on an SGI/IRIX6.4 with the gcc/g++ compiler.
> But so far I have not succeeded. It would be a great help for me if you
> could provide me with your Makefile and other related files that you have
> changed for use with IRIX.

Hi Martin,
in order to build ROOT on SGI IRIX 6.2 with EGCS (o32 mode) I had to
add a makefile for SGI/EGCS and also to modify Makelib and Make-macros.
As Make-macros is pretty long I include only hints:
- I didn't use libNew.so - the problem with its SGI/EGCS flavour seems to persist
- if you're using EGCS, you may want to link CINT_fakestrm.o and not
CINT_libstrm.o into CINT library.
- i had to add $CILIBS when linking libCint.so:

$(CINTLIB): $(CINTO)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libCint.$(SOEXT) $@ "$(CINTO) $(CILIBS)"

However I wouldn't be surprized if on IRIX6.4 you dont' need it.

-pasha

------------------------ Makefile.mips-sgi-irix6.2-egcs
# Makefile of ROOT for SGI-IRIX with egcs

PLATFORM = sgi

CXX = gcc
CC = cc
CXXFLAGS = -fsigned-chars -Wall -fPIC -fno-exceptions \
-I$(OPENGL)/include
CFLAGS =
CINTCXXFLAGS = -fsigned-chars -Wall -fPIC -fno-exceptions -DG__REGEXP1 \
-DG__UNIX -DG__SIGNEDCHAR -DG__SHAREDLIB -DG__OSFDLL -DG__DECCXX \
-DG__ROOT -DG__REDIRECTIO
CINTCFLAGS = -signed -DG__REGEXP1 -DG__SIGNEDCHAR -DG__UNIX -DG__SHAREDLIB \
-DG__OSFDLL -DG__DECCXX -DG__ROOT -DG__REDIRECTIO
OPT = -g
NOOPT =
LD = gcc
LDFLAGS = $(OPT) -Wl,-u,__builtin_new -Wl,-u,__builtin_delete \
-Wl,-u,__nw__FUiPv
SOFLAGS = -shared
SOEXT = so
SYSLIBS = -lstdc++ -lm
SYSXLIBS = -L/usr/X11R6/lib -lX11 -lm
XLIBS = $(ROOTSYS)/lib/libXpm.a -L/usr/X11R6/lib -lX11
CILIBS = -lstdc++ -lgen -lm -lbsd

##### MACROS and TARGETS #####

include Make-macros

##### DEPENDENCIES #####

include Make-depend
---------------------------------------------- Makelib
#! /bin/sh

# Script to generate a shared library.
# Called by $ROOTSYS/src/Make-macros, the makefile backend.

PLATFORM=$1
LD=$2
LDFLAGS=$3
SOFLAGS=$4
SONAME=$5
LIB=$6
OBJS=$7

rm -f $LIB

echo platform = $PLATFORM

if [ $PLATFORM = aix ]; then
echo this is aix
elif [ $PLATFORM = alpha ]; then
echo this is alpha
elif [ $PLATFORM = hpux ]; then
echo $LD $SOFLAGS $LDFLAGS -o $LIB $OBJS
$LD $SOFLAGS $LDFLAGS -o $LIB $OBJS
elif [ $LD = KCC ]; then
echo $LD $LDFLAGS -o $LIB $OBJS
$LD $LDFLAGS -o $LIB $OBJS
elif [ $PLATFORM = sgi ]; then
echo $LD $SOFLAGS $LDFLAGS -o $LIB $OBJS
$LD $SOFLAGS $LDFLAGS -o $LIB $OBJS
else
echo $LD $SOFLAGS$SONAME $LDFLAGS -o $LIB $OBJS
$LD $SOFLAGS$SONAME $LDFLAGS -o $LIB $OBJS
fi

chmod 555 $LIB

echo "$LIB done"

exit 0
--------------------------------------------------------------------------------