diff --git a/Makefile b/Makefile index dd6f71ee2badbba2354201575edcccdc209b1d76..c5cbeb7343e2be1064e8c597c041408be6d28d2f 100644 --- a/Makefile +++ b/Makefile @@ -128,9 +128,11 @@ endif ifneq ($(SRPUTILLIB),) MODULES += srputils endif +ifneq ($(KRB5INCDIR),) ifneq ($(KRB5LIB),) MODULES += krb5auth endif +endif ifneq ($(LDAPINCDIR),) ifneq ($(LDAPCLILIB),) MODULES += ldap diff --git a/base/inc/RConfig.h b/base/inc/RConfig.h index f409d40d9506a3c0e946d45cdfc11bdaf3fb0102..a1e17ef8855ce87f7bed098e43c66cf9ea09ae54 100644 --- a/base/inc/RConfig.h +++ b/base/inc/RConfig.h @@ -1,4 +1,4 @@ -/* @(#)root/base:$Name: $:$Id: RConfig.h,v 1.54 2003/04/11 11:48:10 rdm Exp $ */ +/* @(#)root/base:$Name: $:$Id: RConfig.h,v 1.55 2003/04/11 18:21:27 rdm Exp $ */ /************************************************************************* * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * @@ -172,6 +172,14 @@ # define NEED_SIGJMP #endif +#if defined(linux) && defined(__x86_64__) +# define R__LINUX +# define R__UNIX +# define R__BYTESWAP +# define R__B64 +# define NEED_SIGJMP +#endif + #if defined(linux) && defined(__alpha__) # define R__LINUX # define R__UNIX diff --git a/cint/iosenum/iosenum.linuxx8664gcc3 b/cint/iosenum/iosenum.linuxx8664gcc3 new file mode 100644 index 0000000000000000000000000000000000000000..ee97bc7feb0d4efae126ef748aa34970f587143f --- /dev/null +++ b/cint/iosenum/iosenum.linuxx8664gcc3 @@ -0,0 +1,69 @@ +/* include/platform/iosenum.h + * This file contains platform dependent ios enum value. + * Run 'cint iosenum.cxx' to create this file. It is done + * only once at installation. */ +#pragma ifndef G__TMPLTIOS +static int ios::goodbit=0; +static int ios::eofbit=2; +static int ios::failbit=4; +static int ios::badbit=1; +static int ios::in=8; +static int ios::out=16; +static int ios::ate=2; +static int ios::app=1; +static int ios::trunc=32; +static int ios::binary=4; +static int ios::beg=0; +static int ios::cur=1; +static int ios::end=2; +static int ios::boolalpha=1; +static int ios::adjustfield=176; +static int ios::basefield=74; +static int ios::floatfield=260; +static int ios::skipws=4096; +static int ios::left=32; +static int ios::right=128; +static int ios::internal=16; +static int ios::dec=2; +static int ios::oct=64; +static int ios::hex=8; +static int ios::showbase=512; +static int ios::showpoint=1024; +static int ios::uppercase=16384; +static int ios::showpos=2048; +static int ios::scientific=256; +static int ios::fixed=4; +static int ios::unitbuf=8192; +#pragma else +static ios_base::fmtflags ios_base::boolalpha=1; +static ios_base::fmtflags ios_base::dec=2; +static ios_base::fmtflags ios_base::fixed=4; +static ios_base::fmtflags ios_base::hex=8; +static ios_base::fmtflags ios_base::internal=16; +static ios_base::fmtflags ios_base::left=32; +static ios_base::fmtflags ios_base::oct=64; +static ios_base::fmtflags ios_base::right=128; +static ios_base::fmtflags ios_base::scientific=256; +static ios_base::fmtflags ios_base::showbase=512; +static ios_base::fmtflags ios_base::showpoint=1024; +static ios_base::fmtflags ios_base::showpos=2048; +static ios_base::fmtflags ios_base::skipws=4096; +static ios_base::fmtflags ios_base::unitbuf=8192; +static ios_base::fmtflags ios_base::uppercase=16384; +static ios_base::fmtflags ios_base::adjustfield=176; +static ios_base::fmtflags ios_base::basefield=74; +static ios_base::fmtflags ios_base::floatfield=260; +static ios_base::fmtflags ios_base::badbit=1; +static ios_base::fmtflags ios_base::eofbit=2; +static ios_base::fmtflags ios_base::failbit=4; +static ios_base::fmtflags ios_base::goodbit=0; +static ios_base::fmtflags ios_base::app=1; +static ios_base::fmtflags ios_base::ate=2; +static ios_base::fmtflags ios_base::binary=4; +static ios_base::fmtflags ios_base::in=8; +static ios_base::fmtflags ios_base::out=16; +static ios_base::fmtflags ios_base::trunc=32; +static ios_base::fmtflags ios_base::beg=0; +static ios_base::fmtflags ios_base::cur=1; +static ios_base::fmtflags ios_base::end=2; +#pragma endif diff --git a/config/ARCHS b/config/ARCHS index d88c2a163724b7f8f3701e25a6aef3928008ae68..9073e63457482f70a6752c4e7843b5f995c1c8a4 100644 --- a/config/ARCHS +++ b/config/ARCHS @@ -28,6 +28,7 @@ linuxppcegcs for PPC Linux egcs and glibc linuxrh42 for Linux gcc 2.7.x.x and libc5 linuxrh51 for Linux gcc 2.7.x.x and glibc linuxsuse6 for Linux (SuSE v6.0) egcs and glibc +linuxx8664gcc for AMD Opteron (64 bit mode) Linux gcc 3.x and glibc lynxos for LynxOS with gcc macosx for MacOS X with cc mklinux for MkLinux gcc and glibc diff --git a/config/Makefile.linuxx8664gcc b/config/Makefile.linuxx8664gcc new file mode 100644 index 0000000000000000000000000000000000000000..709a086a28c3f84f421a3a6a140cccdc5abee17c --- /dev/null +++ b/config/Makefile.linuxx8664gcc @@ -0,0 +1,48 @@ +# -*- mode: makefile -*- +# +# Makefile of ROOT for AMD Opteron (64 bit mode) Linux with gcc + +PLATFORM = linux + +DEBUGFLAGS = -g +OPTFLAGS = -O2 +ifeq (debug,$(findstring debug,$(ROOTBUILD))) +OPT = $(DEBUGFLAGS) +NOOPT = +else +OPT = $(OPTFLAGS) +NOOPT = +endif + +# Compiler: +CXX = g++ +CC = gcc +CXXFLAGS = -pipe -Wall -fPIC $(EXTRA_CXXFLAGS) +CFLAGS = -pipe -Wall -fPIC $(EXTRA_CFLAGS) +CINTCXXFLAGS = -pipe -Wall -fPIC $(EXTRA_CXXFLAGS) \ + -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ + -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__64BIT +CINTCFLAGS = -pipe -Wall -fPIC $(EXTRA_CFLAGS) \ + -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ + -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__64BIT +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) -lX11 +CILIBS = -lm -ldl -rdynamic +CRYPTLIBS = -lcrypt + +# Fortran: +F77 = g77 +F77FLAGS = +F77LIBS = -lg2c -lnsl + +# Extras + diff --git a/config/root-config.in b/config/root-config.in index f6cfe976153b4c2a83a6a1eb7967510183e84d1e..5af24240a1a9525a30eb3b3f9df5daea8f2279a3 100755 --- a/config/root-config.in +++ b/config/root-config.in @@ -220,6 +220,12 @@ linuxia64ecc) auxlibs="-lm -ldl" auxglibs=${auxlibs} ;; +linuxx8664gcc) + # AMD Opteron (64 bit mode) Linux with gcc 3.x + auxcflags= + auxlibs="-lm -ldl -rdynamic" + auxglibs=${auxlibs} + ;; linuxalphaegcs) # Alpha Linux with egcs auxcflags= diff --git a/configure b/configure index eb672e6ca6b68c1842beea8f21049a0b0796ca81..a0faf14793022f618694682928e223772f552844 100755 --- a/configure +++ b/configure @@ -137,19 +137,26 @@ check_library() { # Loop over the list of possible directories, and see if we can # find any of the library files as determind above. - for i in $libdirs; do - for j in ${libs} ; do - # if we found the file (it's readable by user), we set the - # logical variables an be on our way, otherwise we continue - if test -r $i/$j ; then - found_dir=$i - found_lib=$j - break 2 - fi + for i in $libdirs ; do + # look first in the lib64 directories + if test "x$checklib64" = "xyes" ; then + i64=`echo $i | sed 's|lib|lib64|'` + i="$i64 $i" + fi + for l in $i ; do + for j in ${libs} ; do + # if we found the file (it's readable by user), we set the + # logical variables and are on our way, otherwise we continue + if test -r $l/$j ; then + found_dir=$l + found_lib=$j + break 3 + fi + done done done - # skip cygwin libraries when in pure Win32 mode + # skip cygwin libraries when in pure Win32 mode if test "x$platform" = "xwin32"; then case $found_dir in /lib|/usr/*) found_dir="no" ;; @@ -461,6 +468,9 @@ else else platform=$arch fi + if test "x$arch" = "xlinuxx8664gcc" ; then + checklib64="yes" + fi ;; esac fi diff --git a/rootd/Module.mk b/rootd/Module.mk index 08f7e9bb0314cd41fc1cfe6beb0cb5a9d5731bcf..95ccb4820f308bcae77b9737eefee1140b30a6b4 100644 --- a/rootd/Module.mk +++ b/rootd/Module.mk @@ -36,10 +36,12 @@ SRPLIBS := $(SRPLIBDIR) $(SRPLIB) endif ##### use krb5 for authentication ##### +ifneq ($(KRB5INCDIR),) ifneq ($(KRB5LIB),) KRB5FLAGS := -DR__KRB5 -I$(KRB5INCDIR) KRB5LIBS := $(KRB5LIBDIR) $(KRB5LIB) endif +endif AUTHFLAGS := $(SHADOWFLAGS) $(AFSFLAGS) $(SRPFLAGS) $(KRB5FLAGS) \ $(EXTRA_AUTHFLAGS) diff --git a/test/Makefile b/test/Makefile index cbd5ce24a2ff419de7bacab5bbf4aeaf203ee108..d31a8291dbe4ee3e14621260e7e24db9b34e7cfc 100644 --- a/test/Makefile +++ b/test/Makefile @@ -366,6 +366,15 @@ LDFLAGS = -O -i_dynamic SOFLAGS = -shared endif +ifeq ($(ARCH),linuxx8664gcc) +# AMD Opteron (64 bit mode) Linux with gcc 3.x +CXX = g++ +CXXFLAGS = -O -Wall -fPIC +LD = g++ +LDFLAGS = -O +SOFLAGS = -shared +endif + ifeq ($(ARCH),linuxalphaegcs) # Alpha Linux with egcs CXX = g++