tags 434855 +patch
thanks

The appended patch adds basic support for Linux/MIPS, and also fixes
the version detection of libgsl (Version 1.10 wasn't detected correctly).
With this patch, root-system starts to build until it fails:

[...]
bin/rmkdepend -R -fcint/src/gcc3strm.d -Y -w 1000 -- -pipe -Wall -W 
-Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -DG__R
EGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO 
-DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CI
NTBODY -Icint/src -pthread -Icint/lib/gcc3strm -D__cplusplus -- 
cint/src/gcc3strm.cxx
g++ -O  -pipe -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG 
-DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -D
G__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO 
-DG__CINTBODY -Icint/src -pthread -Icint/lib/gcc3str
m -o cint/src/gcc3strm.o -c cint/src/gcc3strm.cxx
cint/src/gcc3strm.cxx: In function 'int G__G__stream_7_7_0(G__value*, const 
char*, G__param*, int)':
cint/src/gcc3strm.cxx:311: error: 'class std::fpos<__mbstate_t>' has no member 
named 'operator=='
cint/src/gcc3strm.cxx: In function 'int G__G__stream_7_8_0(G__value*, const 
char*, G__param*, int)':
cint/src/gcc3strm.cxx:317: error: 'class std::fpos<__mbstate_t>' has no member 
named 'operator!='
make[1]: *** [cint/src/gcc3strm.o] Error 1
make[1]: Leaving directory `/srv/ths/debian/root-system/root-system-5.15.07'
make: *** [build-arch-stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2

This appears to be a more generic problem with newer g++ compilers.


Thiemo


--- /dev/null   2007-11-04 19:43:03.000000000 +0000
+++ config/Makefile.linuxmips   2007-11-04 20:48:37.000000000 +0000
@@ -0,0 +1,66 @@
+# -*- mode: makefile -*-
+#
+# Makefile of ROOT for Linux/MIPS with glibc and gcc
+
+PLATFORM      = linux
+
+DEBUGFLAGS    = -g
+OPTFLAGS      = -O 
+ifeq (debug,$(findstring debug,$(ROOTBUILD)))
+OPT           = $(DEBUGFLAGS)
+NOOPT         =
+else
+OPT           = $(OPTFLAGS)
+NOOPT         =
+endif
+
+# Compiler:
+CXX           = g++
+CC            = gcc
+CXXFLAGS      = -pipe -Wall -W -Woverloaded-virtual \
+                -fPIC $(EXTRA_CXXFLAGS)
+CFLAGS        = -pipe -Wall -W -fPIC $(EXTRA_CFLAGS)
+CINTCXXFLAGS  = -pipe -Wall -W -Woverloaded-virtual \
+                -fPIC $(EXTRA_CXXFLAGS) \
+                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
+                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+                -DG__STD_EXCEPTION
+CINTCFLAGS    = -Wall -fsigned-char -fPIC $(EXTRA_CFLAGS) \
+                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
+                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+                -DG__STD_EXCEPTION
+COMPILER      = gnu
+
+# Linker:
+LD            = g++
+LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS)
+SOFLAGS       = -shared -Wl,-soname,
+SOEXT         = so
+
+# System libraries:
+SYSLIBS       = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic
+XLIBS         = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11
+CILIBS        = -lm -ldl -rdynamic
+CRYPTLIBS     = -lcrypt
+
+# Fortran:
+F77           =
+ifeq ($(shell which gfortran 2>&1 | sed -ne 
"s/.*\/gfortran/gfortran/p"),gfortran)
+ifeq ($(shell gfortran -print-libgcc-file-name),$(shell $(CC) 
-print-libgcc-file-name))
+F77           = gfortran
+F77FLAGS      = -fPIC -std=legacy
+F77LIBS       = -lgfortran -lgfortranbegin -lnsl
+F77LD         = gfortran
+endif
+endif
+ifneq ($(F77),gfortran)
+F77           = g77
+F77FLAGS      = -fPIC
+ifneq ($(shell $(F77) -print-file-name=libg2c.so),libg2c.so)
+F77LIBS      := $(shell $(F77) -print-file-name=libg2c.so) -lnsl
+else
+F77LIBS      := $(shell $(F77) -print-file-name=libg2c.a) -lnsl
+endif
+endif
+
+# Extras
--- config/ARCHS~       2007-03-04 16:04:50.000000000 +0000
+++ config/ARCHS        2007-11-04 20:55:45.000000000 +0000
@@ -16,6 +16,7 @@ linuxkcc             for i386 Linux KAI'
 linuxpgcc            for i386 Linux pgcc and glibc
 linuxalphagcc        for Alpha Linux gcc and glibc
 linuxarm             for ARM Linux gcc and glibc
+linuxmips            for MIPS Linux gcc and glibc
 linuxdeb2ppc         for PPC Linux based on Debian v2.0
 linuxia64ecc         for Itanium Linux Intel ecc and glibc
 linuxia64gcc         for Itanium Linux gcc 2.9x and glibc
--- configure.old       2007-11-04 20:43:16.000000000 +0000
+++ configure   2007-11-04 23:26:43.000000000 +0000
@@ -699,6 +699,7 @@ guess_architecture () {
         linux:alpha:*)         arch=linuxalphagcc   ;;
         linux:arm*:*)          arch=linuxarm        ;;
         linux:sparc*:*)        arch=linux           ;;
+        linux:mips*:*)         arch=linuxmips       ;;
         linux:ppc64*:*)        arch=linuxppc64gcc   ;;
         linux:ppc*:*)          arch=linuxppcgcc     ;;
         linux:i*86:*)          arch=linux           ;;
@@ -3608,7 +3609,7 @@ if test ! "x$enable_mathmore" = "xno"; t
     # check for gsl version >= 1.8
     if test ! "x$found_dir" = "x"; then
        message "Checking for GSL version >= 1.8"
-       gsl_version=`grep "define GSL" $found_dir/gsl/gsl_version.h | sed 
's/^.*"\([0-9]\.[0-9]\)"/\1/' |  awk 'BEGIN { FS="." } { printf "%d", $1 * 1000 
+ $2 }'`
+       gsl_version=`grep "define GSL" $found_dir/gsl/gsl_version.h | sed 
's/^.*"\([0-9]\.[0-9]\+\)"/\1/' |  awk 'BEGIN { FS="." } { printf "%d", $1 * 
1000 + $2 }'`
        if test $gsl_version -lt 1008; then
            gslskip="skip"
            result "no"



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to