diff --git a/Makefile b/Makefile index 0d709d4a565c905e24333fd2635fa59e350db607..fed8d3a2819a12704c07b6e1368610c724b09454 100644 --- a/Makefile +++ b/Makefile @@ -73,116 +73,84 @@ SYSTEMDO = $(UNIXDO) endif endif endif -ifneq ($(OPENGLINCDIR),) -ifneq ($(OPENGLULIB),) -ifneq ($(OPENGLLIB),) +ifeq ($(BUILDGL),yes) MODULES += gl endif -endif -endif -ifneq ($(MYSQLINCDIR),) -ifneq ($(MYSQLCLILIB),) +ifeq ($(BUILDMYSQL),yes) MODULES += mysql endif -endif -ifneq ($(ORACLEINCDIR),) -ifneq ($(ORACLECLILIB),) +ifeq ($(BUILDORACLE),yes) MODULES += oracle endif -endif -ifneq ($(PGSQLINCDIR),) -ifneq ($(PGSQLCLILIB),) +ifeq ($(BUILDPGSQL),yes) MODULES += pgsql endif -endif -ifneq ($(SAPDBINCDIR),) -ifneq ($(SAPDBCLILIB),) +ifeq ($(BUILDSAPDB),yes) MODULES += sapdb endif -endif -ifneq ($(SHIFTINCDIR),) -ifneq ($(SHIFTLIB),) +ifeq ($(BUILDSHIFT),yes) MODULES += rfio endif -endif -ifneq ($(DCAPINCDIR),) -ifneq ($(DCAPLIB),) +ifeq ($(BUILDDCAP),yes) MODULES += dcache endif -endif -ifneq ($(CHIRPINCDIR),) -ifneq ($(CHIRPCLILIB),) +ifeq ($(BUILDCHIRP),yes) MODULES += chirp endif -endif -ifneq ($(ALIENINCDIR),) -ifneq ($(ALIENCLILIB),) +ifeq ($(BUILDALIEN),yes) MODULES += alien endif -endif ifeq ($(BUILDASIMAGE),yes) MODULES += asimage endif ifeq ($(ENABLETHREAD),yes) MODULES += thread endif -ifneq ($(FPYTHIALIB),) +ifeq ($(BUILDFPYTHIA),yes) MODULES += pythia endif -ifneq ($(FPYTHIA6LIB),) +ifeq ($(BUILDFPYTHIA6),yes) MODULES += pythia6 endif -ifneq ($(FVENUSLIB),) +ifeq ($(BUILDFVENUS),yes) MODULES += venus endif -ifneq ($(PYTHONINCDIR),) -ifneq ($(PYTHONLIB),) +ifeq ($(BUILDPYTHON),yes) MODULES += pyroot endif -endif -ifneq ($(RUBYINCDIR),) -ifneq ($(RUBYLIB),) +ifeq ($(BUILDRUBY),yes) MODULES += ruby endif -endif -ifneq ($(XMLINCDIR),) -ifneq ($(XMLCLILIB),) +ifeq ($(BUILDXML),yes) MODULES += xmlparser endif -endif -ifneq ($(QTINCDIR),) -ifneq ($(QTLIB),) +ifeq ($(BUILDQT),yes) MODULES += qt qtroot endif -endif -ifneq ($(TABLE),) +ifeq ($(BUILDTABLE),yes) MODULES += table endif -ifneq ($(SRPUTILLIB),) +ifeq ($(BUILDSRPUTIL),yes) MODULES += srputils endif -ifneq ($(KRB5LIB),) +ifeq ($(BUILDKRB5),yes) MODULES += krb5auth endif -ifneq ($(LDAPINCDIR),) -ifneq ($(LDAPCLILIB),) +ifeq ($(BUILDLDAP),yes) MODULES += ldap endif -endif -ifneq ($(GLOBUSLIB),) +ifeq ($(BUILDGLOBUS),yes) MODULES += globusauth endif -ifneq ($(CERNLIBS),) +ifeq ($(BUILDHBOOK),yes) MODULES += hbook endif ifeq ($(BUILDXRD),yes) MODULES += xrootd netx endif -ifneq ($(CLARENSINC),) -ifneq ($(CLARENSLIBS),) +ifeq ($(BUILDCLARENS),yes) MODULES += clarens endif -endif ifeq ($(BUILDPEAC),yes) MODULES += peac endif @@ -405,7 +373,7 @@ config config/Makefile.: config/Makefile.config include/config.h etc/system.rootauthrc \ etc/system.rootdaemonrc etc/root.mimes $(ROOTRC) bin/root-config: Makefile -ifeq ($(findstring $(MAKECMDGOALS),distclean maintainer-clean),) +ifeq ($(findstring $(MAKECMDGOALS),distclean maintainer-clean debian redhat),) Makefile: configure config/rootrc.in config/config.in config/Makefile.in \ config/root-config.in config/rootauthrc.in config/rootdaemonrc.in \ config/mimes.unix.in config/mimes.win32.in @@ -468,9 +436,9 @@ rebase: $(ALLLIBS) $(ALLEXECS) @echo done. debian: - @if [ ! -x `which debuild` ] || [ ! -x `which dh_testdir` ]; then \ - echo "You must have debuild and debhelper installed to"; \ - echo "make the Debian GNU/Linux package"; exit 1; fi + @if [ ! -x `which dpkg-buildpackage` ] || [ ! -x `which dh_testdir` ]; then \ + echo "You must have debhelper installed to make the "; \ + echo "Debian GNU/Linux packages"; exit 1; fi @echo "OK, you're on a Debian GNU/Linux system - cool" @vers=`sed 's|\(.*\)/\(.*\)|\1.\2|' < build/version_number` ; \ dirvers=`basename $$PWD | sed 's|root-\(.*\)|\1|'` ; \ @@ -478,9 +446,10 @@ debian: echo "Must have ROOT source tree in root-$$vers" ; \ echo "Please rename this directory to `basename $$PWD` to"; \ echo "root-$$vers and try again"; exit 1 ; fi - build/package/lib/makedebclean.sh + rm -rf debian build/package/lib/makedebdir.sh - debuild -rfakeroot -us -uc -i"G__|^debian|\.d$$" + fakeroot debian/rules debian/control + dpkg-buildpackage -rfakeroot -us -uc -i"G__|^debian|\.d$$" @echo "Debian GNU/Linux packages done. They are put in '../'" redhat: @@ -488,7 +457,6 @@ redhat: echo "You must have rpm installed to make the Redhat package"; \ exit 1; fi @echo "OK, you have RPM on your system - good" - build/package/lib/makerpmclean.sh build/package/lib/makerpmspec.sh @echo "To build the packages, make a gzipped tar ball of the sources" @vers=`sed 's|\(.*\)/\(.*\)|\1.\2|' < build/version_number` ; \ @@ -612,8 +580,8 @@ endif -@mv -f rootd/misc/rootd.rc.dd rootd/misc/rootd.rc.d -@cd test && $(MAKE) distclean + maintainer-clean:: distclean - -build/package/lib/makedebclean.sh -build/package/lib/makerpmclean.sh @rm -rf bin lib include htmldoc system.rootrc config/Makefile.config \ $(ROOTRC) etc/system.rootauthrc etc/system.rootdaemonrc \ @@ -624,9 +592,9 @@ version: $(CINTTMP) @$(MAKEVERSION) cintdlls: $(CINTTMP) - @$(MAKECINTDLLS) $(PLATFORM) "$(CINTTMP)" "$(MAKELIB)" "$(CXX)" \ - "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" "$(CINTCFLAGS)" \ - "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)" + @$(MAKECINTDLLS) $(PLATFORM) "$(CINTTMP)" "$(ROOTCINTTMP)" \ + "$(MAKELIB)" "$(CXX)" "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" \ + "$(CINTCFLAGS)" "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)" static: rootlibs @$(MAKESTATIC) $(PLATFORM) "$(CXX)" "$(CC)" "$(LD)" "$(LDFLAGS)" \ diff --git a/alien/Module.mk b/alien/Module.mk index e9469a54666a5e80ede001234f9c6a2c73698407..037918926391a584c541d90869e76f9fc1a29419 100644 --- a/alien/Module.mk +++ b/alien/Module.mk @@ -46,7 +46,7 @@ $(ALIENDS): $(ALIENH) $(ALIENL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(ALIENH) $(ALIENL) $(ALIENDO): $(ALIENDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(ALIENINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(ALIENINCDIR:%=-I%) -I. -o $@ -c $< all-alien: $(ALIENLIB) @@ -68,4 +68,4 @@ distclean:: distclean-alien ##### extra rules ###### $(ALIENO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(ALIENINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(ALIENINCDIR:%=-I%) -o $@ -c $< diff --git a/asimage/Module.mk b/asimage/Module.mk index 9da1e597467ac008545c6a2e3652460866ac2678..4c5766f600f0cd34c1abb722be0d4b2e47874191 100644 --- a/asimage/Module.mk +++ b/asimage/Module.mk @@ -11,11 +11,18 @@ ASIMAGEDIR := $(MODDIR) ASIMAGEDIRS := $(ASIMAGEDIR)/src ASIMAGEDIRI := $(ASIMAGEDIR)/inc +ifeq ($(BUILTINASIMAGE), yes) ASTEPVERS := libAfterImage ASTEPDIRS := $(MODDIRS)/$(ASTEPVERS) -ASTEPDIRI := $(MODDIRS)/$(ASTEPVERS) +ASTEPDIRI := -I$(MODDIRS)/$(ASTEPVERS) +else +ASTEPDIRI := $(ASINCDIR:%=-I%) +ASTEPDIRS := +ASTEPVERS := +endif ##### libAfterImage ##### +ifeq ($(BUILTINASIMAGE), yes) ifeq ($(PLATFORM),win32) ASTEPLIBA := $(ASTEPDIRS)/libAfterImage.lib ASTEPLIB := $(LPATH)/libAfterImage.lib @@ -23,6 +30,12 @@ else ASTEPLIBA := $(ASTEPDIRS)/libAfterImage.a ASTEPLIB := $(LPATH)/libAfterImage.a endif +ASTEPDEP := $(ASTEPLIB) +else +ASTEPLIBA := $(ASLIBDIR) $(ASLIB) +ASTEPLIB := $(ASLIBDIR) $(ASLIB) +ASTEPDEP := +endif ##### libASImage ##### ASIMAGEL := $(MODDIRI)/LinkDef.h @@ -49,6 +62,7 @@ INCLUDEFILES += $(ASIMAGEDEP) include/%.h: $(ASIMAGEDIRI)/%.h cp $< $@ +ifeq ($(BUILTINASIMAGE), yes) $(ASTEPLIB): $(ASTEPLIBA) cp $< $@ @(if [ $(PLATFORM) = "macosx" ]; then \ @@ -126,19 +140,20 @@ else $$GIFINCDIR; \ $(MAKE)) endif +endif -$(ASIMAGELIB): $(ASIMAGEO) $(ASIMAGEDO) $(ASTEPLIB) $(FREETYPELIB) \ +$(ASIMAGELIB): $(ASIMAGEO) $(ASIMAGEDO) $(ASTEPDEP) $(FREETYPELIB) \ $(MAINLIBS) $(ASIMAGELIBDEP) ifeq ($(PLATFORM),win32) @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \ "$(SOFLAGS)" libASImage.$(SOEXT) $@ \ "$(ASIMAGEO) $(ASIMAGEDO)" \ - "$(ASIMAGELIBEXTRA) $(ASTEPLIB) $(ASEXTRALIBDIR) $(ASEXTRALIB) $(FREETYPELIB)" + "$(ASIMAGELIBEXTRA) $(ASTEPLIB) $(ASEXTRALIBDIR) $(ASEXTRALIB) $(FREETYPELDFLAGS) $(FREETYPELIB)" else @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \ "$(SOFLAGS)" libASImage.$(SOEXT) $@ \ "$(ASIMAGEO) $(ASIMAGEDO)" \ - "$(ASIMAGELIBEXTRA) $(ASTEPLIB) $(ASEXTRALIBDIR) $(ASEXTRALIB) $(XLIBS) $(FREETYPELIB)" + "$(ASIMAGELIBEXTRA) $(ASTEPLIB) $(ASEXTRALIBDIR) $(ASEXTRALIB) $(XLIBS) $(FREETYPELDFLAGS) $(FREETYPELIB)" endif $(ASIMAGEDS): $(ASIMAGEH) $(ASIMAGEL) $(ROOTCINTTMP) @@ -146,7 +161,7 @@ $(ASIMAGEDS): $(ASIMAGEH) $(ASIMAGEL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(ASIMAGEH) $(ASIMAGEL) $(ASIMAGEDO): $(ASIMAGEDS) $(ASTEPLIB) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(ASTEPDIRI) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(ASTEPDIRI) -I. -o $@ -c $< all-asimage: $(ASIMAGELIB) @@ -158,6 +173,7 @@ map:: map-asimage clean-asimage: @rm -f $(ASIMAGEO) $(ASIMAGEDO) +ifeq ($(BUILTINASIMAGE), yes) ifeq ($(PLATFORM),win32) -@(if [ -d $(ASTEPDIRS) ]; then \ cd $(ASTEPDIRS); \ @@ -171,15 +187,19 @@ else $(MAKE) clean; \ fi) endif +endif clean:: clean-asimage distclean-asimage: clean-asimage @rm -f $(ASIMAGEDEP) $(ASIMAGEDS) $(ASIMAGEDH) $(ASIMAGELIB) - @rm -rf $(ASTEPLIB) $(ASTEPDIRS) +ifeq ($(BUILTINASIMAGE), yes) + @rm -rf $(ASTEPLIB) +endif + @rm -rf $(ASTEPDIRS) distclean:: distclean-asimage ##### extra rules ###### $(ASIMAGEO): %.o: %.cxx $(ASTEPLIB) - $(CXX) $(OPT) $(CXXFLAGS) -I$(ASTEPDIRI) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(ASTEPDIRI) -o $@ -c $< diff --git a/build/misc/root.m4 b/build/misc/root.m4 index 458131df00de89c1d083ece07303c7c9cc1aba0a..452b3a44c0ba344c2a38eaa9d3fe14721edf63ae 100644 --- a/build/misc/root.m4 +++ b/build/misc/root.m4 @@ -1,7 +1,8 @@ +dnl -*- mode: autoconf -*- dnl -dnl $Id: root.m4,v 1.1 2002/01/20 14:23:51 rdm Exp $ +dnl $Id: root.m4,v 1.2 2002/07/31 20:45:09 rdm Exp $ dnl $Author: rdm $ -dnl $Date: 2002/01/20 14:23:51 $ +dnl $Date: 2002/07/31 20:45:09 $ dnl dnl Autoconf macro to check for existence or ROOT on the system dnl Synopsis: @@ -31,7 +32,7 @@ dnl The macro will fail if root-config and rootcint isn't found. dnl dnl Christian Holm Christensen <cholm@nbi.dk> dnl -AC_DEFUN(ROOT_PATH, +AC_DEFUN([ROOT_PATH], [ AC_ARG_WITH(rootsys, [ --with-rootsys top of the ROOT installation directory], diff --git a/build/unix/makecintdlls.sh b/build/unix/makecintdlls.sh index 5c76b8150fd9634011e131962e675666023bf3a4..6e3211829fedd28f626bfbfdf1b97ad80ac7f1f3 100755 --- a/build/unix/makecintdlls.sh +++ b/build/unix/makecintdlls.sh @@ -5,24 +5,21 @@ # # Author: Fons Rademakers, 27/7/2000 -PLATFORM=$1 +PLATFORM=$1 ; shift if [ $PLATFORM != "clean" ]; then - CINT=$2 - MAKELIB=$3 - CXX=$4 - CC=$5 - LD=$6 - OPT=$7 - CINTCXXFLAGS=$8 - CINTCFLAGS=$9 - shift - LDFLAGS=$9 - shift - SOFLAGS=$9 - shift - SOEXT=$9 - shift - COMPILER=$9 + CINT=$1 ; shift + ROOTCINT=$1 ; shift + MAKELIB=$1 ; shift + CXX=$1 ; shift + CC=$1 ; shift + LD=$1 ; shift + OPT=$1 ; shift + CINTCXXFLAGS=$1 ; shift + CINTCFLAGS=$1 ; shift + LDFLAGS=$1 ; shift + SOFLAGS=$1 ; shift + SOEXT=$1 ; shift + COMPILER=$1 ; shift fi if [ $PLATFORM = "macosx" ]; then SOEXT=so @@ -47,27 +44,27 @@ CINTDIRI=cint/include CINTDIRS=cint/stl clean() { - rm -f $CINTDIRI/stdfunc.dll - rm -f $CINTDIRI/stdcxxfunc.dll - rm -f $CINTDIRI/posix.dll + rm -f $CINTDIRI/stdfunc.dll $CINTDIRI/stdfunc.so.* + rm -f $CINTDIRI/stdcxxfunc.dll $CINTDIRI/stdcxxfunc.so.* + rm -f $CINTDIRI/posix.dll $CINTDIRI/posix.so.* rm -f $CINTDIRI/systypes.h rm -f $CINTDIRI/sys/types.h - rm -f $CINTDIRI/sys/ipc.dll - rm -f $CINTDIRS/string.dll - rm -f $CINTDIRS/vector.dll - rm -f $CINTDIRS/list.dll - rm -f $CINTDIRS/deque.dll - rm -f $CINTDIRS/map.dll - rm -f $CINTDIRS/map2.dll - rm -f $CINTDIRS/set.dll - rm -f $CINTDIRS/multimap.dll - rm -f $CINTDIRS/multimap2.dll - rm -f $CINTDIRS/multiset.dll - rm -f $CINTDIRS/stack.dll - rm -f $CINTDIRS/queue.dll - rm -f $CINTDIRS/valarray.dll - rm -f $CINTDIRS/exception.dll - rm -f $CINTDIRS/complex.dll + rm -f $CINTDIRI/sys/ipc.dll $CINTDIRI/sys/ipc.so.* + rm -f $CINTDIRS/string.dll $CINTDIRS/string.so.* + rm -f $CINTDIRS/vector.dll $CINTDIRS/vector.so.* + rm -f $CINTDIRS/list.dll $CINTDIRS/list.so.* + rm -f $CINTDIRS/deque.dll $CINTDIRS/deque.so.* + rm -f $CINTDIRS/map.dll $CINTDIRS/map.so.* + rm -f $CINTDIRS/map2.dll $CINTDIRS/map2.so.* + rm -f $CINTDIRS/set.dll $CINTDIRS/set.so.* + rm -f $CINTDIRS/multimap.dll $CINTDIRS/multimap.so.* + rm -f $CINTDIRS/multimap2.dll $CINTDIRS/multimap2.so.* + rm -f $CINTDIRS/multiset.dll $CINTDIRS/multiset.so.* + rm -f $CINTDIRS/stack.dll $CINTDIRS/stack.so.* + rm -f $CINTDIRS/queue.dll $CINTDIRS/queue.so.* + rm -f $CINTDIRS/valarray.dll $CINTDIRS/valarray.so.* + rm -f $CINTDIRS/exception.dll $CINTDIRS/exception.so.* + rm -f $CINTDIRS/complex.dll $CINTDIRS/complex.so.* } execute() { @@ -199,7 +196,7 @@ execute "$CINT -w1 -zvector -n$STLDIR/G__cpp_vector.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/vec.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_vector.o -c $STLDIR/G__cpp_vector.cxx" -execute "rootcint -f $STLDIR/rootcint_vector.cxx -c vector \ +execute "$ROOTCINT -f $STLDIR/rootcint_vector.cxx -c vector \ $LINKDEFDIR/vectorLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_vector.o \ -c $STLDIR/rootcint_vector.cxx" @@ -215,7 +212,7 @@ execute "$CINT -w1 -zlist -n$STLDIR/G__cpp_list.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/lst.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_list.o \ -c $STLDIR/G__cpp_list.cxx" -execute "rootcint -f $STLDIR/rootcint_list.cxx -c list \ +execute "$ROOTCINT -f $STLDIR/rootcint_list.cxx -c list \ $LINKDEFDIR/listLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_list.o \ -c $STLDIR/rootcint_list.cxx" @@ -231,7 +228,7 @@ execute "$CINT -w1 -zdeque -n$STLDIR/G__cpp_deque.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/dqu.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_deque.o \ -c $STLDIR/G__cpp_deque.cxx" -execute "rootcint -f $STLDIR/rootcint_deque.cxx -c deque \ +execute "$ROOTCINT -f $STLDIR/rootcint_deque.cxx -c deque \ $LINKDEFDIR/dequeLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_deque.o \ -c $STLDIR/rootcint_deque.cxx" @@ -247,7 +244,7 @@ execute "$CINT -w1 -zmap -n$STLDIR/G__cpp_map.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/mp.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_map.o \ -c $STLDIR/G__cpp_map.cxx" -execute "rootcint -f $STLDIR/rootcint_map.cxx -c map $LINKDEFDIR/mapLinkdef.h" +execute "$ROOTCINT -f $STLDIR/rootcint_map.cxx -c map $LINKDEFDIR/mapLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_map.o \ -c $STLDIR/rootcint_map.cxx" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -DWHAT=\"map\" \ @@ -262,7 +259,7 @@ execute "$CINT -w1 -zmap2 -n$STLDIR/G__cpp_map2.cxx -D__MAKECINT__ \ -DG__MAKECINT -DG__MAP2 -I$STLDIR -c-1 -A -Z0 $STLDIR/mp.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_map2.o \ -c $STLDIR/G__cpp_map2.cxx" -execute "rootcint -f $STLDIR/rootcint_map2.cxx -c -DG__MAP2 map \ +execute "$ROOTCINT -f $STLDIR/rootcint_map2.cxx -c -DG__MAP2 map \ $LINKDEFDIR/mapLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_map2.o \ -c $STLDIR/rootcint_map2.cxx" @@ -278,7 +275,7 @@ execute "$CINT -w1 -zset -n$STLDIR/G__cpp_set.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/st.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_set.o \ -c $STLDIR/G__cpp_set.cxx" -execute "rootcint -f $STLDIR/rootcint_set.cxx -c set $LINKDEFDIR/setLinkdef.h" +execute "$ROOTCINT -f $STLDIR/rootcint_set.cxx -c set $LINKDEFDIR/setLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_set.o \ -c $STLDIR/rootcint_set.cxx" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -DWHAT=\"set\" \ @@ -293,7 +290,7 @@ execute "$CINT -w1 -zmultimap -n$STLDIR/G__cpp_multimap.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/multmp.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_multimap.o \ -c $STLDIR/G__cpp_multimap.cxx" -execute "rootcint -f $STLDIR/rootcint_multimap.cxx -c map \ +execute "$ROOTCINT -f $STLDIR/rootcint_multimap.cxx -c map \ $LINKDEFDIR/multimapLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_multimap.o \ -c $STLDIR/rootcint_multimap.cxx" @@ -310,7 +307,7 @@ execute "$CINT -w1 -zmultimap2 -n$STLDIR/G__cpp_multimap2.cxx -D__MAKECINT__ \ -DG__MAKECINT -DG__MAP2 -I$STLDIR -c-1 -A -Z0 $STLDIR/multmp.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_multimap2.o \ -c $STLDIR/G__cpp_multimap2.cxx" -execute "rootcint -f $STLDIR/rootcint_multimap2.cxx -c -DG__MAP2 map \ +execute "$ROOTCINT -f $STLDIR/rootcint_multimap2.cxx -c -DG__MAP2 map \ $LINKDEFDIR/multimapLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_multimap2.o \ -c $STLDIR/rootcint_multimap2.cxx" @@ -327,7 +324,7 @@ execute "$CINT -w1 -zmultiset -n$STLDIR/G__cpp_multiset.cxx -D__MAKECINT__ \ -DG__MAKECINT -I$STLDIR -c-1 -A -Z0 $STLDIR/multst.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/G__cpp_multiset.o \ -c $STLDIR/G__cpp_multiset.cxx" -execute "rootcint -f $STLDIR/rootcint_multiset.cxx -c set \ +execute "$ROOTCINT -f $STLDIR/rootcint_multiset.cxx -c set \ $LINKDEFDIR/multisetLinkdef.h" execute "$CXX $OPT $CINTCXXFLAGS $INCDIRS -o $STLDIR/rootcint_multiset.o \ -c $STLDIR/rootcint_multiset.cxx" diff --git a/chirp/Module.mk b/chirp/Module.mk index 2c902f65090ce977ec415d88b42ea159ceccabf9..c9267a04146a0d9b111f3852289908b944bdde39 100644 --- a/chirp/Module.mk +++ b/chirp/Module.mk @@ -45,7 +45,7 @@ $(CHIRPDS): $(CHIRPH) $(CHIRPL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(CHIRPH) $(CHIRPL) $(CHIRPDO): $(CHIRPDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(CHIRPINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(CHIRPINCDIR:%=-I%) -I. -o $@ -c $< all-chirp: $(CHIRPLIB) @@ -67,4 +67,4 @@ distclean:: distclean-chirp ##### extra rules ###### $(CHIRPO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(CHIRPINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(CHIRPINCDIR:%=-I%) -o $@ -c $< diff --git a/config/Makefile.in b/config/Makefile.in index 0190bea37bb91bcc0003cb3f34a03eb07aaa7739..e3adfdc5faa12baf4031cbfc58fe1b42e79b7302 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -43,99 +43,127 @@ ENABLETHREAD := @enable_thread@ OSTHREADLIBDIR := @threadlibdir@ OSTHREADLIB := @threadlib@ +BUILTINFREETYPE:= @builtinfreetype@ + +BUILDGL := @buildgl@ OPENGLLIBDIR := @opengllibdir@ OPENGLULIB := @openglulib@ OPENGLLIB := @opengllib@ -OPENGLINCDIR := @openglincdir@ +OPENGLINCDIR := $(filter-out /usr/include, @openglincdir@) +BUILDHBOOK := @buildhbook@ CERNLIBDIR := @cernlibdir@ CERNLIBS := @cernlibs@ +BUILDLDAP := @buildldap@ LDAPLIBDIR := @ldaplibdir@ LDAPCLILIB := @ldaplib@ -LDAPINCDIR := @ldapincdir@ +LDAPINCDIR := $(filter-out /usr/include, @ldapincdir@) +BUILDMYSQL := @buildmysql@ MYSQLLIBDIR := @mysqllibdir@ MYSQLCLILIB := @mysqllib@ -MYSQLINCDIR := @mysqlincdir@ +MYSQLINCDIR := $(filter-out /usr/include, @mysqlincdir@) +BUILDORACLE := @buildoracle@ ORACLELIBDIR := @oraclelibdir@ ORACLECLILIB := @oraclelib@ -ORACLEINCDIR := @oracleincdir@ +ORACLEINCDIR := $(filter-out /usr/include, @oracleincdir@) +BUILDPGSQL := @buildpgsql@ PGSQLLIBDIR := @pgsqllibdir@ PGSQLCLILIB := @pgsqllib@ -PGSQLINCDIR := @pgsqlincdir@ +PGSQLINCDIR := $(filter-out /usr/include, @pgsqlincdir@) +BUILDSAPDB := @buildsapdb@ SAPDBLIBDIR := @sapdblibdir@ SAPDBCLILIB := @sapdblib@ -SAPDBINCDIR := @sapdbincdir@ +SAPDBINCDIR := $(filter-out /usr/include, @sapdbincdir@) +BUILDQT := @buildqt@ QTLIBDIR := @qtlibdir@ QTLIB := @qtlib@ -QTINCDIR := @qtincdir@ +QTINCDIR := $(filter-out /usr/include, @qtincdir@) +QTMOCEXE := @qtmocexe@ -SHIFTINCDIR := @shiftincdir@ +BUILDSHIFT := @buildshift@ +SHIFTINCDIR := $(filter-out /usr/include, @shiftincdir@) SHIFTLIBDIR := @shiftlibdir@ SHIFTLIB := @shiftlib@ +BUILDDCAP := @builddcap@ DCAPLIBDIR := @dcaplibdir@ DCAPLIB := @dcaplib@ -DCAPINCDIR := @dcapincdir@ +DCAPINCDIR := $(filter-out /usr/include, @dcapincdir@) +BUILDCHIRP := @buildchirp@ CHIRPLIBDIR := @chirplibdir@ CHIRPCLILIB := @chirplib@ -CHIRPINCDIR := @chirpincdir@ +CHIRPINCDIR := $(filter-out /usr/include, @chirpincdir@) +BUILDALIEN := @buildalien@ ALIENLIBDIR := @alienlibdir@ ALIENCLILIB := @alienlib@ -ALIENINCDIR := @alienincdir@ +ALIENINCDIR := $(filter-out /usr/include, @alienincdir@) BUILDASIMAGE := @buildasimage@ +BUILTINASIMAGE := @builtinafterimage@ ASEXTRALIB := @asextralib@ ASEXTRALIBDIR := @asextralibdir@ -ASJPEGINCDIR := @asjpegincdir@ -ASPNGINCDIR := @aspngincdir@ -ASTIFFINCDIR := @astiffincdir@ -ASGIFINCDIR := @asgifincdir@ - +ASJPEGINCDIR := $(filter-out /usr/include, @asjpegincdir@) +ASPNGINCDIR := $(filter-out /usr/include, @aspngincdir@) +ASTIFFINCDIR := $(filter-out /usr/include, @astiffincdir@) +ASGIFINCDIR := $(filter-out /usr/include, @asgifincdir@) +ASINCDIR := $(filter-out /usr/include, @asimageincdir@) +ASLIB := @asimagelib@ +ASLIBDIR := @asimagelibdir@ + +BUILDFPYTHIA := @buildpythia@ FPYTHIALIBDIR := @pythialibdir@ FPYTHIALIB := @pythialib@ +BUILDFPYTHIA6 := @buildpythia6@ FPYTHIA6LIBDIR := @pythia6libdir@ FPYTHIA6LIB := @pythia6lib@ +BUILDFVENUS := @buildvenus@ FVENUSLIBDIR := @venuslibdir@ FVENUSLIB := @venuslib@ +BUILDPYTHON := @buildpython@ PYTHONLIBDIR := @pythonlibdir@ PYTHONLIB := @pythonlib@ -PYTHONINCDIR := @pythonincdir@ +PYTHONINCDIR := $(filter-out /usr/include, @pythonincdir@) PYTHONLIBFLAGS := @pythonlibflags@ +BUILDRUBY := @buildruby@ RUBYLIBDIR := @rubylibdir@ RUBYLIB := @rubylib@ -RUBYINCDIR := @rubyincdir@ +RUBYINCDIR := $(filter-out /usr/include, @rubyincdir@) +BUILDXML := @buildxml@ XMLLIBDIR := @xmllibdir@ XMLCLILIB := @xmllib@ -XMLINCDIR := @xmlincdir@ +XMLINCDIR := $(filter-out /usr/include, @xmlincdir@) BUILDXRD := @buildxrd@ SRPLIBDIR := @srplibdir@ SRPLIB := @srplib@ -SRPINCDIR := @srpincdir@ +SRPINCDIR := $(filter-out /usr/include, @srpincdir@) + +BUILDSRPUTIL := @buildsrputil@ SRPUTILLIBDIR := @srputillibdir@ SRPUTILLIB := @srputillib@ -SRPUTILINCDIR := @srputilincdir@ +SRPUTILINCDIR := $(filter-out /usr/include, @srputilincdir@) AFSLIB := @afslib@ AFSLIBDIR := @afslibdir@ +BUILDKRB5 := @buildkrb5@ KRB5LIB := @krb5lib@ KRB5LIBDIR := @krb5libdir@ -KRB5INCDIR := @krb5incdir@ +KRB5INCDIR := $(filter-out /usr/include, @krb5incdir@) COMERRLIB := @comerrlib@ COMERRLIBDIR := @comerrlibdir@ @@ -145,21 +173,23 @@ RESOLVLIB := @resolvlib@ CRYPTOLIB := @cryptolib@ CRYPTOLIBDIR := @cryptolibdir@ +BUILDGLOBUS := @buildglobus@ GLOBUSLIB := @globuslib@ GLOBUSLIBDIR := @globuslibdir@ -GLOBUSINCDIR := @globusincdir@ +GLOBUSINCDIR := $(filter-out /usr/include, @globusincdir@) SSLLIB := @ssllib@ SSLLIBDIR := @ssllibdir@ -SSLINCDIR := @sslincdir@ +SSLINCDIR := $(filter-out /usr/include, @sslincdir@) SHADOWFLAGS := @shadowpw@ SHADOWLIB := SHADOWLIBDIR := -TABLE := @enable_table@ +BUILDTABLE := @buildtable@ -CLARENSINC := @clarensinc@ +BUILDCLARENS := @buildclarens@ +CLARENSINC := $(filter-out -I/usr/include, @clarensincdir@) CLARENSLIBS := @clarenslibs@ BUILDPEAC := @buildpeac@ diff --git a/configure b/configure index 7c6fb212b1a83b884d9dd513955686bf2e580a53..2d7625b7224264fa3bedcb70287457794f001bc0 100755 --- a/configure +++ b/configure @@ -21,42 +21,44 @@ show_pkglist=no noact="no" nohowto="no" -options=" \ - enable_afs \ - enable_alien \ - enable_asimage \ - enable_cern \ - enable_chirp \ - enable_clarens \ - enable_dcache \ - enable_exceptions \ - enable_explicitlink \ - enable_globus \ - enable_krb5 \ - enable_ldap \ - enable_mysql \ - enable_opengl \ - enable_oracle \ - enable_peac \ - enable_pgsql \ - enable_pythia \ - enable_pythia6 \ - enable_python \ - enable_qt \ - enable_ruby \ - enable_rfio \ - enable_rpath \ - enable_sapdb \ - enable_shadowpw \ - enable_shared \ - enable_soversion \ - enable_srp \ - enable_ssl \ - enable_table \ - enable_thread \ - enable_venus \ - enable_xml \ - enable_xrootd \ +options=" \ + enable_afs \ + enable_alien \ + enable_asimage \ + enable_builtin_afterimage \ + enable_builtin_freetype \ + enable_cern \ + enable_chirp \ + enable_clarens \ + enable_dcache \ + enable_exceptions \ + enable_explicitlink \ + enable_globus \ + enable_krb5 \ + enable_ldap \ + enable_mysql \ + enable_opengl \ + enable_oracle \ + enable_peac \ + enable_pgsql \ + enable_pythia \ + enable_pythia6 \ + enable_python \ + enable_qt \ + enable_ruby \ + enable_rfio \ + enable_rpath \ + enable_sapdb \ + enable_shadowpw \ + enable_shared \ + enable_soversion \ + enable_srp \ + enable_ssl \ + enable_table \ + enable_thread \ + enable_venus \ + enable_xml \ + enable_xrootd \ " # @@ -368,9 +370,9 @@ check_header() { fi # Avoid inclusion of /usr/include, which is always included anyway - if test "x$found_dir" = "x/usr/include" ; then - found_dir="include" - fi + #if test "x$found_dir" = "x/usr/include" ; then + # found_dir="include" + #fi # Correct path for win32 if test "x$platform" = "xwin32"; then @@ -438,7 +440,7 @@ check_symbol() { return 1 fi - symbol_in_lib=`nm $symbolfile | grep $symbol > /dev/null 2>&1` + symbol_in_lib=`nm $symbolfile 2> /dev/stdout | grep $symbol > /dev/null 2>&1` if test $? -eq 0 ; then found_symbol=1 else @@ -576,90 +578,92 @@ ROOT will be compiled with static directory names, and you should not set the ROOTSYS environment variable. enable/disable options, prefix with either --enable- or --disable- - afs AFS support, requires AFS libs and objects - alien AliEn support, requires libAliEnAPI++ from ALICE - asimage Image processing support, requires libAfterImage - cern CERNLIB usage, build h2root and g2root - chirp Chirp support (Condor remote I/O), requires libchirp_client - clarens Clarens RPC support, optionally used by PROOF - dcache dCache support, requires libdcap from DESY - exceptions Turn on compiler exception handling capability - explicitlink Explicitly link with all dependent libraries - globus Globus authentication support, requires Globus toolkit - krb5 Kerberos5 support, requires Kerberos libs - ldap LDAP support, requires (Open)LDAP libs - mysql MySQL support, requires libmysqlclient - opengl OpenGL support, requires libGL and libGLU - oracle Oracle support, requires libclntsh - peac PEAC, PROOF Enabled Analysis Center, requires Clarens - pgsql PostgreSQL support, requires libpq - pythia Pythia5 EG support, requires libPythia - pythia6 Pythia6 EG support, requires libPythia6 - python Python ROOT bindings, requires python >= 2.1 - qt Qt graphics backend, requires libqt >= 3 - rfio CASTOR support, requires libshift from CASTOR - rpath Set run-time library load path on executables - ruby Ruby ROOT bindings, requires ruby >= 1.8 - sapdb SapDB support, requires libsqlod and libsqlrte - shadowpw Shadow password support - shared Use shared 3rd party libraries if possible - soversion Set version number in sonames (recommended) - srp SRP support, requires SRP source tree - ssl SSL encryption support, requires openssl - table Build libTable contrib library - thread Thread support - venus Venus EG support, requires libVenus - xml XML parser interface - xrootd Build xrootd file server and its client (if supported) + afs AFS support, requires AFS libs and objects + alien AliEn support, requires libAliEnAPI++ from ALICE + asimage Image processing support, requires libAfterImage + builtin-afterimage Built included libAfterImage, or use system libAfterImage + builtin-freetype Built included libfreetype, or use system libfreetype + cern CERNLIB usage, build h2root and g2root + chirp Chirp support (Condor remote I/O), requires libchirp_client + clarens Clarens RPC support, optionally used by PROOF + dcache dCache support, requires libdcap from DESY + exceptions Turn on compiler exception handling capability + explicitlink Explicitly link with all dependent libraries + globus Globus authentication support, requires Globus toolkit + krb5 Kerberos5 support, requires Kerberos libs + ldap LDAP support, requires (Open)LDAP libs + mysql MySQL support, requires libmysqlclient + opengl OpenGL support, requires libGL and libGLU + oracle Oracle support, requires libclntsh + peac PEAC, PROOF Enabled Analysis Center, requires Clarens + pgsql PostgreSQL support, requires libpq + pythia Pythia5 EG support, requires libPythia + pythia6 Pythia6 EG support, requires libPythia6 + python Python ROOT bindings, requires python >= 2.1 + qt Qt graphics backend, requires libqt >= 3 + rfio CASTOR support, requires libshift from CASTOR + rpath Set run-time library load path on executables + ruby Ruby ROOT bindings, requires ruby >= 1.8 + sapdb SapDB support, requires libsqlod and libsqlrte + shadowpw Shadow password support + shared Use shared 3rd party libraries if possible + soversion Set version number in sonames (recommended) + srp SRP support, requires SRP source tree + ssl SSL encryption support, requires openssl + table Build libTable contrib library + thread Thread support + venus Venus EG support, requires libVenus + xml XML parser interface + xrootd Build xrootd file server and its client (if supported) with options, prefix with --with-, enables corresponding support - afs AFS support, location of AFS distribution - alien-incdir AliEn support, location of AliEnAPI++.h - alien-libdir AliEn support, location of libAliEnAPI++ - cern-libdir HBOOK converter, location of CERNLIB libraries - chirp-incdir Chirp support, location of chirp_client.h - chirp-libdir Chirp support, location of libchirp_client - dcap-incdir dCache support, location of dcap.h - dcap-libdir dCache support, location of libdcap - globus Globus support, path to what should be GLOBUS_LOCATION - krb5 Kerberos5 support, location of Kerberos distribution - krb5-incdir Kerberos5 support, location of krb5.h - krb5-libdir Kerberos5 support, location of libkrb5 - ldap-incdir LDAP support, location of ldap.h - ldap-libdir LDAP support, location of libldap - mysql-incdir MySQL support, location of mysql.h - mysql-libdir MySQL support, location of libmysqlclient - opengl-incdir OpenGL support, location of GL/gl.h - opengl-libdir OpenGL support, location of libGL - oracle-incdir Oracle support, location of occi.h - oracle-libdir Oracle support, location of libclntsh - pgsql-incdir PostgreSQL support, location of libpq-fe.h - pgsql-libdir PostgreSQL support, location of libpq - pythia-libdir PYHTIA support, location of libPythia - pythia6-libdir PYHTIA6 support, location of libPythia6 - python-incdir Python support, location of Python.h - python-libdir Python support, location of libpython - qt-incdir Qt support, location of qt.h - qt-libdir Qt support, location of libqt-mt or libqt - ruby-incdir Ruby support, location of ruby.h - ruby-libdir Ruby support, location of libruby - sapdb-incdir SapDB support, location of sql.h - sapdb-libdir SapDB support, location of libsqlod - shift-incdir CASTOR support, location of rfio_api.h - shift-libdir CASTOR support, location of libshift - srp Secure Remote Passwd support, location of SRP distribution - srp-incdir SRP support, location header of t_server.h - srp-libdir SRP support, location header of libsrp.a - ssl-incdir OpenSSL support, location of openssl headers - ssl-libdir OpenSSL support, location of libssl - sys-iconpath Extra icon path - thread-libdir Thread support, path to libpthread - venus-libdir VENUS support, location of libVenus - xml-incdir XML support, location of libxml/tree.h - xml-libdir XML support, location of libxml2 - x11-libdir X11 support, path to libX11 - xpm-libdir XPM support, path to libXpm + afs AFS support, location of AFS distribution + alien-incdir AliEn support, location of AliEnAPI++.h + alien-libdir AliEn support, location of libAliEnAPI++ + cern-libdir HBOOK converter, location of CERNLIB libraries + chirp-incdir Chirp support, location of chirp_client.h + chirp-libdir Chirp support, location of libchirp_client + dcap-incdir dCache support, location of dcap.h + dcap-libdir dCache support, location of libdcap + globus Globus support, path to what should be GLOBUS_LOCATION + krb5 Kerberos5 support, location of Kerberos distribution + krb5-incdir Kerberos5 support, location of krb5.h + krb5-libdir Kerberos5 support, location of libkrb5 + ldap-incdir LDAP support, location of ldap.h + ldap-libdir LDAP support, location of libldap + mysql-incdir MySQL support, location of mysql.h + mysql-libdir MySQL support, location of libmysqlclient + opengl-incdir OpenGL support, location of GL/gl.h + opengl-libdir OpenGL support, location of libGL + oracle-incdir Oracle support, location of occi.h + oracle-libdir Oracle support, location of libclntsh + pgsql-incdir PostgreSQL support, location of libpq-fe.h + pgsql-libdir PostgreSQL support, location of libpq + pythia-libdir PYHTIA support, location of libPythia + pythia6-libdir PYHTIA6 support, location of libPythia6 + python-incdir Python support, location of Python.h + python-libdir Python support, location of libpython + qt-incdir Qt support, location of qt.h + qt-libdir Qt support, location of libqt-mt or libqt + ruby-incdir Ruby support, location of ruby.h + ruby-libdir Ruby support, location of libruby + sapdb-incdir SapDB support, location of sql.h + sapdb-libdir SapDB support, location of libsqlod + shift-incdir CASTOR support, location of rfio_api.h + shift-libdir CASTOR support, location of libshift + srp Secure Remote Passwd support, location of SRP distribution + srp-incdir SRP support, location header of t_server.h + srp-libdir SRP support, location header of libsrp.a + ssl-incdir OpenSSL support, location of openssl headers + ssl-libdir OpenSSL support, location of libssl + sys-iconpath Extra icon path + thread-libdir Thread support, path to libpthread + venus-libdir VENUS support, location of libVenus + xml-incdir XML support, location of libxml/tree.h + xml-libdir XML support, location of libxml2 + x11-libdir X11 support, path to libX11 + xpm-libdir XPM support, path to libXpm Supported Architectures: @@ -730,7 +734,8 @@ fi ### echo %%% Some clean up # trap "rm -f Makefile.tmp config.tmp root-config.tmp rootrc.tmp \ - rootauthrc.tmp rootdaemonrc.tmp memprobe.tmp rootd.tmp; exit 1" 1 2 3 15 + rootauthrc.tmp rootdaemonrc.tmp memprobe.tmp rootd.tmp \ + conftest.c conftest; exit 1" 1 2 3 15 ###################################################################### # @@ -754,6 +759,8 @@ if test $# -gt 0 ; then --with-afs=*) afsdir=$optarg ; enable_afs="yes" ;; --with-alien-incdir=*) alienincdir=$optarg ; enable_alien="yes" ;; --with-alien-libdir=*) alienlibdir=$optarg ; enable_alien="yes" ;; + --with-afterimage-incdir=*) afterimageincdir=$optarg; enable_builtin_afterimage=no ;; + --with-afterimage-libdir=*) afterimagelibdir=$optarg; enable_builtin_afterimage=no ;; --with-cern-libdir=*) cernlibdir=$optarg ; enable_cern="yes" ;; --with-chirp-incdir=*) chirpincdir=$optarg ; enable_chirp="yes" ;; --with-chirp-libdir=*) chirplibdir=$optarg ; enable_chirp="yes" ;; @@ -803,7 +810,7 @@ if test $# -gt 0 ; then # features # --enable-*) - f=`echo $1 | sed -e 's/--//' -e 's/-/_/'` + f=`echo $1 | sed -e 's/--//' -e 's/-/_/g'` eval $f=yes for c in $options ; do if test "x$c" = "x$f" ; then @@ -815,7 +822,8 @@ if test $# -gt 0 ; then fi ;; --disable-*) - f=`echo $1 | sed -e 's/--disable/enable/' -e 's/-/_/'` + f=`echo $1 | sed -e 's/--disable/enable/' -e 's/-/_/g'` + echo "Disabling $f" eval $f=no for c in $options ; do if test "x$c" = "x$f" ; then @@ -995,6 +1003,41 @@ if test "x$enable_thread" = "xyes" && \ fi fi +###################################################################### +# +### echo %%% libfreetype (builtin or system) - Mandatory lib on Unix +# +# Mandatory test, must succeed +# +if test "x$enable_builtin_freetype" = "x" || \ + test "x$enable_builtin_freetype" = "xno" ; then + + message "Checking for freetype-config" + if which freetype-config > /dev/null 2>&1 ; then + echo "`which freetype-config`" + + message "Checking for libfreetype version >= 9.3.0" + ttf2_version=`freetype-config --version | \ + tr '.' ' ' | \ + awk 'BEGIN { FS = " "; } \ + { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` + # First good version is 9.3.0 + if test $ttf2_version -lt 9003000 ; then + echo "no (`freetype-config --version`)" + enable_builtin_freetype="yes" + else + echo "ok" + enable_builtin_freetype="no" + fi + else + enable_builtin_freetype="no" + echo "not found" + fi +fi +message "Checking whether to build included libfreetype6" +echo "$enable_builtin_freetype" + + ###################################################################### # ### echo %%% OpenGL Support - Third party libraries @@ -1105,13 +1148,14 @@ if test ! "x$enable_oracle" = "xno"; then # Check for oracle include and library check_header "occi.h" "$oracleincdir" \ $ORACLE $ORACLE/include $ORACLEINCDIR /usr/local/include \ - /usr/include + /usr/include /usr/include/oracle/*/client oracleinc=$found_hdr oracleincdir=$found_dir keeplibdir=$oraclelibdir check_library "libclntsh" "$enable_shared" "$oraclelibdir" \ - $ORACLE $ORACLE/lib $ORACLELIBDIR /usr/local/lib /usr/lib + $ORACLE $ORACLE/lib $ORACLELIBDIR /usr/local/lib /usr/lib \ + /usr/lib/oracle/*/client/lib oraclelib=$found_lib oraclelibdir=$found_dir @@ -1202,7 +1246,7 @@ if test ! "x$enable_qt" = "xno"; then # Check for Qt include and library check_header "qt.h" "$qtincdir" $QTDIR $QTDIR/include \ /usr/local/include /usr/local/qt/include /usr/include \ - /usr/include/qt + /usr/include/qt /usr/include/qt3 qtinc=$found_hdr qtincdir=$found_dir @@ -1212,7 +1256,24 @@ if test ! "x$enable_qt" = "xno"; then qtlib=$found_lib qtlibdir=$found_dir - if test "x$qtincdir" = "x" || test "x$qtlib" = "x"; then + message "Checking for moc or moc.exe" + qtmocexe=`which moc` + if test $? -ne 0 ; then + for i in $QTDIR $QTDIR/bin /usr/local/bin /usr/local/qt/bin /usr/bin \ + /usr/qt3/bin ; do + if test -x $i/moc ; then + qtmocexe=$i/moc + break + elif test -x $i/moc.exe ; then + qtmocexe=$i/moc.exe + break + fi + done + fi + echo "$qtmocexe" + + if test "x$qtincdir" = "x" || test "x$qtlib" = "x" || \ + test "x$qtmocexe" = "x"; then enable_qt="no" fi fi @@ -1258,9 +1319,16 @@ if test ! "x$enable_rfio" = "xno" ; then enable_rfio="no" else case $platform in - linux) shiftlib="$shiftlib -lnsl" ;; + linux) shiftlib="$shiftlib -lnsl" + for i in "" -ladns ; do + echo "extern rfio_fchmod(); int main() { rfio_fchmod(); return 0; }" > conftest.c + gcc conftest.c $shiftlibdir $shiftlib $i -o conftest > /dev/null 2>&1 + if test $? -eq 0 ; then shiftlib="$shiftlib $i" ; break ; fi + done + rm -f conftest.c conftest + ;; solaris) shiftlib="$shiftlib -lposix4" ;; - win32) shiftincdir="$shiftincdir -I$shiftincdir/../win32" + win32) shiftincdir="$shiftincdir $shiftincdir/../win32" shiftlib="$shiftlib WSock32.lib Ws2_32.lib" ;; esac fi @@ -1454,7 +1522,7 @@ if test ! "x$enable_alien" = "xno" ; then alienincdir=$found_dir if test ! "x$alienincdir" = "x" ; then - alienincdir="$alienincdir -I$alienincdir/soap" + alienincdir="$alienincdir $alienincdir/soap" fi check_library "libAliEnAPI++" "$enable_shared" "$alienlibdir" \ @@ -1477,6 +1545,57 @@ fi # Check for graphics libraries used by libAfterImage, like libjpeg, etc. # if test ! "x$enable_asimage" = "xno" ; then + if test "x$enable_builtin_afterimage" = "xno" || + test "x$enable_builtin_afterimage" = "" ; then + # Figure out if libAfterImage is on the system, and if so, if it usable + asimage_libdirs="$ASIMAGE $ASIMAGE/include \ + /usr/lib /usr/local/lib \ + /usr/lib/libAfterImage /usr/local/lib/libAfterImage \ + /usr/lib/libAfterBase /usr/local/lib/libAfterBase \ + /usr/lib/afterstep /usr/local/lib/afterstep \ + /usr/lib/libAfter /usr/local/lib/libAfter \ + /opt/libAfter" + asimage_incdirs="$ASIMAGE $ASIMAGE/include \ + /usr/include /usr/local/include \ + /usr/include/libAfterImage /usr/local/include/libAfterImage \ + /usr/include/libAfterBase /usr/local/include/libAfterBase \ + /usr/include/afterstep /usr/local/include/afterstep \ + /usr/include/libAfter /usr/local/include/libAfter \ + /opt/libAfter" + + asimageincdirtmp=$asimageincdir + check_header "astypes.h" "$asimageincdirtmp" $asimage_incdirs + asimageincdir=$found_dir + asimagetypes=$found_hdr + check_header "afterimage.h" "$asimageincdirtmp" $asimage_incdirs + asimageincdir="$asimageincdir $found_dir" + asimageimage=$found_hdr + + asimagelibdirtmp=$asimagelibdir + check_library "libAfterBase" "$enable_shared" "$asimagelibdirtmp" \ + $asimage_libdirs + asimagelib=$found_lib + asimagelibdir=$found_dir + + check_library "libAfterImage" "$enable_shared" "$asimagelibdirtmp" \ + $asimage_libdirs + asimagelib="$asimagelib $found_lib" + asimagelibdir="$asimagelibdir $found_dir" + + if test "x$asimageincdir" = "x" \ + || test "x$asimagelib" = "x" \ + || test "x$asimagetypes" = "x" \ + || test "x$asimageimage" = "x" ; then + asimagelib= + asimagelibdir= + asimageincdir= + enable_builtin_afterimage="yes" + fi + unset asimagelibdirtmp + fi + # If we didn't ind the system libAfterImage, or the user didn't ask + # for a system library, then see if we have various headers needed. + if test "x$enable_builtin_afterimage" = "xyes" ; then check_header "jpeglib.h" "" $ASIMAGE $ASIMAGE/include \ /usr/local/include /usr/include /opt/include $finkdir/include asjpegincdir=$found_dir @@ -1525,6 +1644,9 @@ if test ! "x$enable_asimage" = "xno" ; then asextralibdir="$asextralibdir $found_dirz" fi fi + message "Checking whether to build libAfterImage" + echo "$enable_builtin_afterimage" +fi ###################################################################### # @@ -1633,12 +1755,13 @@ if test ! "x$enable_ruby" = "xno" ; then rubyinc=$found_hdr rubyincdir=$found_dir - if test "x$arch" != "xwin32gcc"; then - check_library_options="libruby-static" + if test "x$arch" = "xwin32" || \ + test "x$enable_shared" = "xno" ; then + check_library_options="libruby-static libruby1.8-static" else - check_library_options="libruby" + check_library_options="libruby libruby1.8" fi - check_library $check_library_options \ + check_library "$check_library_options" \ "$enable_shared" "$rubylibdir" $RUBYDIR $RUBYDIR/lib \ $rubysyslibdir rubylib=$found_lib @@ -1701,7 +1824,7 @@ if test ! "x$enable_xml" = "xno" ; then case $platform in linux) xmllib="$xmllib -lpthread" ;; solaris) xmllib="$xmllib -liconv" ;; - win32) xmlincdir="$xmlincdir -I$iconvincdir" + win32) xmlincdir="$xmlincdir $iconvincdir" xmllib="$xmllib $iconvlib Ws2_32.lib" ;; esac fi @@ -1819,9 +1942,7 @@ if test "x$enable_globus" = "xyes"; then else for k in $globusincdir ; do if test "x$k" != "x$found_dir" ; then - if test "x$k" != "x-I$found_dir" ; then - globusincdir="$found_dir -I$globusincdir" - fi + globusincdir="$found_dir $globusincdir" fi done fi @@ -1841,9 +1962,7 @@ if test "x$enable_globus" = "xyes"; then else for k in $globusincdir ; do if test "x$k" != "x$found_dir" ; then - if test "x$k" != "x-I$found_dir" ; then - globusincdir="$found_dir -I$globusincdir" - fi + globusincdir="$found_dir $globusincdir" fi done fi @@ -1859,9 +1978,7 @@ if test "x$enable_globus" = "xyes"; then else for k in $globusincdir ; do if test "x$k" != "x$found_dir" ; then - if test "x$k" != "x-I$found_dir" ; then - globusincdir="$found_dir -I$globusincdir" - fi + globusincdir="$found_dir $globusincdir" fi done fi @@ -2060,12 +2177,12 @@ if test "x$enable_globus" = "xyes"; then echo "Checking for $i ... $dirtmp" add="yes" for k in $glbpatchcflags ; do - if test "x$k" = "x-I$dirtmp" ; then + if test "x$k" = "x$dirtmp" ; then add="no" fi done if test "x$add" = "xyes" ; then - glbpatchcflags="$glbpatchcflags -I$dirtmp" + glbpatchcflags="$glbpatchcflags $dirtmp" fi else echo "Checking for $i ... no (globus patch not applied)" @@ -2084,7 +2201,7 @@ if test "x$enable_globus" = "xyes"; then # copy patched file in the globusauth/src directory cp -rp $globuspatchdir/$tobepatched.c globusauth/src/$tobepatched.c - glbpatchcflags="$glbpatchcflags -I$globuspatchdir/include" + glbpatchcflags="$glbpatchcflags $globuspatchdir/include" if test ! "x$glbpatchcflags" = "x" ; then echo "Applying experimental patch to $tobepatched.c" @@ -2153,9 +2270,7 @@ if test "x$enable_ssl" = "xyes" ; then else for i in $ssl_incdir ; do if test "x$i" != "x$found_dir" ; then - if test "x$i" != "x-I$found_dir" ; then - ssl_incdir="$found_dir -I$ssl_incdir" - fi + ssl_incdir="$found_dir $ssl_incdir" fi done fi @@ -2500,7 +2615,7 @@ echo $enable_shadowpw # message "Checking whether to build libTable" if test "x$enable_table" = "xyes" || test ! "x$TABLE" = "x"; then - enable_table="1" + enable_table="yes" echo "yes" else enable_table="" @@ -2511,7 +2626,7 @@ fi # ### echo %%% Clarens Support - Third party libraries # -# (See http://www.clarens.org) +# (See http://clarens.sourceforge.net/) # checking_msg "Clarens support" @@ -2520,13 +2635,17 @@ if test ! "x$enable_clarens" = "xno" ; then myxmlrpc=`which xmlrpc-c-config 2> /dev/null` if test ! "x$myxmlrpc" = "x" && test -x $myxmlrpc ; then - clarensinc=`xmlrpc-c-config curl-client --cflags 2> /dev/null` + clarensincdir=`xmlrpc-c-config curl-client --cflags 2> /dev/null` clarenslibs=`xmlrpc-c-config curl-client --ldadd 2> /dev/null` + if test "x$clarensincdir" = "x" ; then + clarensincdir=`xmlrpc-c-config --cflags 2> /dev/null` + clarenslibdir=`xmlrpc-c-config --ldadd 2> /dev/null` + fi else - clarensinc="" + clarensincdir="" clarenslibs="" fi - if test "x$clarensinc" = "x" || test "x$clarenslibs" = "x"; then + if test "x$clarensincdir" = "x" || test "x$clarenslibs" = "x"; then enable_clarens="no" fi fi @@ -2570,17 +2689,33 @@ echo "$buildpeac" # system. # if test "x$show_pkglist" = "xyes" ; then - pkglist="root-daemon" - test "x$enable_cern" = "xyes" && pkglist="$pkglist root-zebra" - test "x$enable_opengl" = "xyes" && pkglist="$pkglist root-gl" - test "x$enable_mysql" = "xyes" && pkglist="$pkglist root-mysql" - test "x$enable_pgsql" = "xyes" && pkglist="$pkglist root-pgsql" - test "x$enable_sapdb" = "xyes" && pkglist="$pkglist root-sapdb" - test "x$enable_pythia" = "xyes" && test "x$enable_pythia6" = "xyes" && pkglist="$pkglist root-pythia" - test "x$enable_rfio" = "xyes" && pkglist="$pkglist root-shift" - test "x$enable_srputil" = "xyes" && pkglist="$pkglist root-srp" - - pkglist="$pkglist root-cint root-doc libroot-dev root-bin libroot" + test "x$enable_alien" = "xyes" && pkglist="$pkglist root-plugin-alien" + test "x$enable_asimage" = "xyes" && pkglist="$pkglist root-plugin-asimage" + test "x$enable_cern" = "xyes" && pkglist="$pkglist root-plugin-hbook" + test "x$enable_chirp" = "xyes" && pkglist="$pkglist root-plugin-chirp" + test "x$enable_clarens" = "xyes" && pkglist="$pkglist root-plugin-clarens" + test "x$enable_dcache" = "xyes" && pkglist="$pkglist root-plugin-dcache" + test "x$enable_globus" = "xyes" && pkglist="$pkglist root-plugin-globus" + test "x$enable_krb5" = "xyes" && pkglist="$pkglist root-plugin-krb5" + test "x$enable_ldap" = "xyes" && pkglist="$pkglist root-plugin-ldap" + test "x$enable_mysql" = "xyes" && pkglist="$pkglist root-plugin-mysql" + test "x$enable_opengl" = "xyes" && pkglist="$pkglist root-plugin-gl" + test "x$enable_oracle" = "xyes" && pkglist="$pkglist root-plugin-oracle" + test "x$enable_peac" = "xyes" && pkglist="$pkglist root-plugin-peac" + test "x$enable_pgsql" = "xyes" && pkglist="$pkglist root-plugin-pgsql" + test "x$enable_pythia" = "xyes" && pkglist="$pkglist root-plugin-pythia5" + test "x$enable_pythia6" = "xyes" && pkglist="$pkglist root-plugin-pythia6" + test "x$enable_python" = "xyes" && pkglist="$pkglist root-plugin-python" + test "x$enable_qt" = "xyes" && pkglist="$pkglist root-plugin-qt" + test "x$enable_ruby" = "xyes" && pkglist="$pkglist root-plugin-ruby" + test "x$enable_rfio" = "xyes" && pkglist="$pkglist root-plugin-castor" + test "x$enable_sapdb" = "xyes" && pkglist="$pkglist root-plugin-sapdb" + test "x$enable_srp" = "xyes" && pkglist="$pkglist root-plugin-srp" + test "x$enable_venus" = "xyes" && pkglist="$pkglist root-plugin-venus" + test "x$enable_xml" = "xyes" && pkglist="$pkglist root-plugin-xml" + test "x$enable_xrootd" = "xyes" && pkglist="$pkglist root-xrootd" + + pkglist="$pkglist root-plugin-fumili root-plugin-minuit root-plugin-mlp root-plugin-netx root-plugin-proof root-proofd root-plugin-quadp root-rootd root-cint root-doc libroot-dev root-bin libroot ttf-root ttf-root-installer" # If we're called from the package preparation script, then # print out the package list and exit echo "packages: $pkglist" @@ -2785,8 +2920,13 @@ sed -e "s|@aclocaldir@|$aclocaldir|" \ -e "s|@aspngincdir@|$aspngincdir|" \ -e "s|@astiffincdir@|$astiffincdir|" \ -e "s|@asgifincdir@|$asgifincdir|" \ + -e "s|@asimageincdir@|$asimageincdir|" \ + -e "s|@asimagelib@|$asimagelib|" \ + -e "s|@asimagelibdir@|$asimagelibdir|" \ -e "s|@bindir@|$bindir|" \ -e "s|@buildasimage@|$enable_asimage|" \ + -e "s|@builtinafterimage@|$enable_builtin_afterimage|" \ + -e "s|@builtinfreetype@|$enable_builtin_freetype|" \ -e "s|@buildpeac@|$buildpeac|" \ -e "s|@buildxrd@|$buildxrd|" \ -e "s|@cernlibdir@|$cernlibdir|" \ @@ -2794,7 +2934,7 @@ sed -e "s|@aclocaldir@|$aclocaldir|" \ -e "s|@chirpincdir@|$chirpincdir|" \ -e "s|@chirplib@|$chirplib|" \ -e "s|@chirplibdir@|$chirplibdir|" \ - -e "s|@clarensinc@|$clarensinc|" \ + -e "s|@clarensincdir@|$clarensincdir|" \ -e "s|@clarenslibs@|$clarenslibs|" \ -e "s|@cintincdir@|$cintincdir|" \ -e "s|@datadir@|$datadir|" \ @@ -2807,7 +2947,7 @@ sed -e "s|@aclocaldir@|$aclocaldir|" \ -e "s|@dcaplibdir@|$dcaplibdir|" \ -e "s|@docdir@|$docdir|" \ -e "s|@elispdir@|$elispdir|" \ - -e "s|@enable_table@|$enable_table|" \ + -e "s|@buildtable@|$enable_table|" \ -e "s|@enable_thread@|$enable_thread|" \ -e "s|@etcdir@|$etcdir|" \ -e "s|@exceptions@|$enable_exceptions|" \ @@ -2862,6 +3002,7 @@ sed -e "s|@ldflags@||" \ -e "s|@qtincdir@|$qtincdir|" \ -e "s|@qtlib@|$qtlib|" \ -e "s|@qtlibdir@|$qtlibdir|" \ + -e "s|@qtmocexe@|$qtmocexe|" \ -e "s|@resolvlib@|$resolvlib|" \ -e "s|@rootbuild@|$rootbuild|" \ -e "s|@sapdbincdir@|$sapdbincdir|" \ @@ -2896,6 +3037,31 @@ sed -e "s|@ldflags@||" \ -e "s|@x11libdir@|$x11libdir|" \ -e "s|@xpmlib@|$xpmlib|" \ -e "s|@xpmlibdir@|$xpmlibdir|" \ + -e "s|@buildgl@|$enable_opengl|" \ + -e "s|@buildhbook@|$enable_cern|" \ + -e "s|@buildldap@|$enable_ldap|" \ + -e "s|@buildmysql@|$enable_mysql|" \ + -e "s|@buildpgsql@|$enable_pgsql|" \ + -e "s|@buildoracle@|$enable_oracle|" \ + -e "s|@buildsapdb@|$enable_sapdb|" \ + -e "s|@buildqt@|$enable_qt|" \ + -e "s|@buildshift@|$enable_rfio|" \ + -e "s|@builddcap@|$enable_dcache|" \ + -e "s|@buildchirp@|$enable_chirp|" \ + -e "s|@buildalien@|$enable_alien|" \ + -e "s|@buildasimage@|$enable_asimage|" \ + -e "s|@buildpythia@|$enable_pythia|" \ + -e "s|@buildpythia6@|$enable_pythia6|" \ + -e "s|@buildvenus@|$enable_venus|" \ + -e "s|@buildpython@|$enable_python|" \ + -e "s|@buildruby@|$enable_ruby|" \ + -e "s|@buildxml@|$enable_xml|" \ + -e "s|@buildxrd@|$enable_xrd|" \ + -e "s|@buildsrputil@|$enable_srputil|" \ + -e "s|@buildkrb5@|$enable_krb5|" \ + -e "s|@buildglobus@|$enable_globus|" \ + -e "s|@buildclarens@|$enable_clarens|" \ + -e "s|@buildpeac@|$enable_peac|" \ < Makefile.tmp > $MAKEOUT rm -f Makefile.tmp diff --git a/dcache/Module.mk b/dcache/Module.mk index 12cd0fbd502491b6ccf8acd46fe8c0f1514de9ab..af9323376ed07b8fedcb73c69abede2765549543 100644 --- a/dcache/Module.mk +++ b/dcache/Module.mk @@ -45,7 +45,7 @@ $(DCACHEDS): $(DCACHEH) $(DCACHEL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(DCACHEH) $(DCACHEL) $(DCACHEDO): $(DCACHEDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(DCAPINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(DCAPINCDIR:%=-I%) -I. -o $@ -c $< all-dcache: $(DCACHELIB) @@ -67,4 +67,4 @@ distclean:: distclean-dcache ##### extra rules ###### $(DCACHEO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(DCAPINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(DCAPINCDIR:%=-I%) -o $@ -c $< diff --git a/etc/rootd b/etc/rootd new file mode 100644 index 0000000000000000000000000000000000000000..3b515f131f9492b2bd4671192d1330c78205af4b --- /dev/null +++ b/etc/rootd @@ -0,0 +1,77 @@ +#! /bin/sh +# +# rootd Start/Stop the ROOT file serving daemon +# +# chkconfig: 345 20 80 +# description: The rootd server provides remote access to ROOT files. +# +# processname: rootd +# pidfile: /var/run/rootd.pid +# config: + +# Source function library. +. /etc/init.d/functions + +# Get config. +. /etc/sysconfig/network + +# Get rootd config + +[ -f /etc/sysconfig/rootd ] && . /etc/sysconfig/rootd + +# Check that networking is up. +if [ ${NETWORKING} = "no" ] +then + exit 0 +fi + +[ -x /usr/bin/rootd ] || exit 0 + +RETVAL=0 +prog="rootd" + +start() { + echo -n $"Starting $prog: " + daemon /usr/bin/rootd $ROOTDOPTS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rootd + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc rootd + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rootd + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status rootd + ;; + restart|reload) + stop + start + ;; + condrestart) + if [ -f /var/lock/subsys/rootd ]; then + stop + start + fi + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" + exit 1 +esac + +exit $RETVAL diff --git a/freetype/Module.mk b/freetype/Module.mk index 310a6793e2d8fab2f04f4fc5ea31e9a479b09f24..e72cbcace7efb67b49447ead3f4f4bb773a14011 100644 --- a/freetype/Module.mk +++ b/freetype/Module.mk @@ -3,6 +3,13 @@ # # Author: Fons Rademakers, 7/1/2003 +ifneq ($(BUILTINFREETYPE), yes) +FREETYPELIBF := $(shell freetype-config --libs) +FREETYPEINC := $(shell freetype-config --cflags) +FREETYPELIB := $(filter -l%,$(FREETYPELIBF)) +FREETYPELDFLAGS := $(filter-out -l%,$(FREETYPELIBF)) +else + MODDIR := freetype MODDIRS := $(MODDIR)/src @@ -24,6 +31,8 @@ else FREETYPELIB := $(LPATH)/libfreetype.a endif endif +FREETYPEINC := $(FREETYPEDIRI:%=-I%) +FREETYPELDFLAGS := ##### local rules ##### $(FREETYPELIB): $(FREETYPELIBA) @@ -108,3 +117,5 @@ distclean-freetype: clean-freetype @rm -rf $(FREETYPELIB) $(FREETYPEDIRS)/$(FREETYPEVERS) distclean:: distclean-freetype + +endif diff --git a/gl/Module.mk b/gl/Module.mk index fe8816ddbbfa64ed0bb19f77cdcc64b4cf7a94b5..6a48a0ef289c46956d9f9e0520ab164caaa0817b 100644 --- a/gl/Module.mk +++ b/gl/Module.mk @@ -69,10 +69,10 @@ $(GLDS): $(GLH1) $(GLL) $(ROOTCINTTMP) ifeq ($(ARCH),win32) $(GLDO): $(GLDS) $(CXX) $(NOOPT) $(CXXFLAGS) -I. -I$(WIN32GDKDIR)/gdk/src \ - -I$(GDKDIRI) -I$(GLIBDIRI) -o $@ -c $< + $(GDKDIRI:%=-I%) $(GLIBDIRI:%=-I%) -o $@ -c $< else $(GLDO): $(GLDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I. -I$(OPENGLINCDIR) -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) -I. $(OPENGLINCDIR:%=-I%) -o $@ -c $< endif all-gl: $(GLLIB) @@ -95,12 +95,12 @@ distclean:: distclean-gl ##### extra rules ###### ifeq ($(ARCH),win32) $(GLO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(OPENGLINCDIR) -I$(WIN32GDKDIR)/gdk/src \ - -I$(GDKDIRI) -I$(GLIBDIRI) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(OPENGLINCDIR:%=-I%) -I$(WIN32GDKDIR)/gdk/src \ + $(GDKDIRI:%=-I%) $(GLIBDIRI:%=-I%) -o $@ -c $< else $(GLO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(OPENGLINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(OPENGLINCDIR:%=-I%) -o $@ -c $< endif $(GLDIRS)/gl2ps.o: $(GLDIRS)/gl2ps.c - $(CC) $(OPT) $(CFLAGS) -I$(OPENGLINCDIR) -o $@ -c $< + $(CC) $(OPT) $(CFLAGS) $(OPENGLINCDIR:%=-I%) -o $@ -c $< diff --git a/globusauth/Module.mk b/globusauth/Module.mk index 1af31b912dbcabe6f4fe352016614d5756596a45..df9d23f13af42cd6c211c7b1713120fc0ab4da63 100644 --- a/globusauth/Module.mk +++ b/globusauth/Module.mk @@ -62,7 +62,7 @@ distclean:: distclean-globusauth ##### extra rules ###### $(GLBSAUTHO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(GLOBUSINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(GLOBUSINCDIR:%=-I%) -o $@ -c $< $(GLBPATCHO): %.o: %.c - $(CC) $(OPT) $(CFLAGS) $(GLBPATCHFLAGS) -I$(GLOBUSINCDIR) -o $@ -c $< + $(CC) $(OPT) $(CFLAGS) $(GLBPATCHFLAGS) $(GLOBUSINCDIR:%=-I%) -o $@ -c $< diff --git a/graf/Module.mk b/graf/Module.mk index 1b758fbc7e3d05a22b49e3e378ad24b3a06e168f..41fc8a5b0fa6c7e1f80ee53b7a1695594c9d5293 100644 --- a/graf/Module.mk +++ b/graf/Module.mk @@ -47,7 +47,8 @@ include/%.h: $(GRAFDIRI)/%.h $(GRAFLIB): $(GRAFO) $(GRAFDO) $(FREETYPELIB) $(MAINLIBS) $(GRAFLIBDEP) @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \ "$(SOFLAGS)" libGraf.$(SOEXT) $@ \ - "$(GRAFO) $(GRAFDO)" "$(FREETYPELIB) $(GRAFLIBEXTRA)" + "$(GRAFO) $(GRAFDO)" \ + "$(FREETYPELDFLAGS) $(FREETYPELIB) $(GRAFLIBEXTRA)" $(GRAFDS1): $(GRAFHD) $(GRAFL1) $(ROOTCINTTMP) @echo "Generating dictionary $@..." @@ -59,7 +60,7 @@ $(GRAFDS2): $(GRAFH) $(GRAFL2) $(ROOTCINTTMP) $(GRAFDO1): $(GRAFDS1) $(CXX) $(NOOPT) $(CXXFLAGS) -I. -o $@ -c $< $(GRAFDO2): $(GRAFDS2) $(FREETYPELIB) - $(CXX) $(NOOPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(FREETYPEINC) $(CXXFLAGS) -I. -o $@ -c $< all-graf: $(GRAFLIB) @@ -81,14 +82,14 @@ distclean:: distclean-graf ##### extra rules ###### graf/src/TTF.o: graf/src/TTF.cxx $(FREETYPELIB) - $(CXX) $(OPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(OPT) $(FREETYPEINC) $(CXXFLAGS) -o $@ -c $< graf/src/TText.o: graf/src/TText.cxx $(FREETYPELIB) - $(CXX) $(OPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(OPT) $(FREETYPEINC) $(CXXFLAGS) -o $@ -c $< graf/src/TLatex.o: graf/src/TLatex.cxx $(FREETYPELIB) ifneq ($(PLATFORM),win32) - $(CXX) $(OPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(OPT) $(FREETYPEINC) $(CXXFLAGS) -o $@ -c $< else - $(CXX) $(DEBUGFLAGS) -I$(FREETYPEDIRI) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(DEBUGFLAGS) $(FREETYPEINC) $(CXXFLAGS) -o $@ -c $< endif diff --git a/krb5auth/Module.mk b/krb5auth/Module.mk index 050aea3e802fd8ba4ab9233d3ad2f778001da824..e1d24f23b1bfe87fac8002d8c37f1232703bc67a 100644 --- a/krb5auth/Module.mk +++ b/krb5auth/Module.mk @@ -51,7 +51,7 @@ $(KRB5AUTHDS): $(KRB5AUTHH1) $(KRB5AUTHL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(KRB5AUTHH1) $(KRB5AUTHL) $(KRB5AUTHDO): $(KRB5AUTHDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I. -I$(KRB5INCDIR) -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) -I. $(KRB5INCDIR:%=-I%) -o $@ -c $< all-krb5auth: $(KRB5AUTHLIB) @@ -73,4 +73,4 @@ distclean:: distclean-krb5auth ##### extra rules ###### $(KRB5AUTHO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(KRB5INCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(KRB5INCDIR:%=-I%) -o $@ -c $< diff --git a/ldap/Module.mk b/ldap/Module.mk index 525afc15211563459bc2579c96cfca7f9ebcf0c2..26eccf68c6f6d9ab85daac6376400703047ff40c 100644 --- a/ldap/Module.mk +++ b/ldap/Module.mk @@ -68,4 +68,4 @@ distclean:: distclean-ldap ##### extra rules ###### $(LDAPO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(LDAPINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(LDAPINCDIR:%=-I%) -o $@ -c $< diff --git a/man/man1/cint.1 b/man/man1/cint.1 index cf92a2cb66a9aa8feddab2cd8f3578559821d421..0b724ed85ac3469777b282f79d8d4f846cf45202 100644 --- a/man/man1/cint.1 +++ b/man/man1/cint.1 @@ -23,12 +23,12 @@ scripting environment. Precompiled libraries can be dynamically loaded/unloaded if they are configured as Dynamic Link Library (DLL). See also makecint(1). .SH OPTIONS -(*) : used only with makecint or -c option +(*) : used only with makecint or \-c option .TP .B \-A ANSI C++ mode(default) .br -Handles given file as C++, regardless of file extension. Otherwise, +Handles given file as C++, regardless of file extension. Otherwise, .c files are handled as C and .cxx, .C and .cpp files are handled as C++. .TP @@ -36,38 +36,38 @@ as C++. Set break point .br Set break point in source file. Break point can be specified by either -line number or function name. Use -f option to specify a source file +line number or function name. Use \-f option to specify a source file that you want to set break point. .nf - -b [line] - -b [funcname] - -b [classname]::[funcname] + \-b [line] + \-b [funcname] + \-b [classname]::[funcname] .fi .TP .B \-c \-1 (*) Make C++ precompiled interface method files .br -Cint creates interface method source file. Cint reads C++ header file and +Cint creates interface method source file. Cint reads C++ header file and analyzes interface that is exported to the interpreter. The information is then compiled into an interface method source file which can be compiled and lined with user code. -Default name for the interface method source/header file is G__cpplink.C +Default name for the interface method source/header file is G__cpplink.C and G__cpplink.h. --c option must be given after -n, -N, -w and -z option if used simultaneously. -Normally, -c-1 option is used within the 'makecint' tool. In that case, a +\-c option must be given after \-n, \-N, \-w and \-z option if used simultaneously. +Normally, \-c\-1 option is used within the 'makecint' tool. In that case, a user does not need to know the detail. .TP .B \-c \-2 (*) Make C precompiled interface method files .br -Cint creates interface method source file. Cint reads C header file and +Cint creates interface method source file. Cint reads C header file and analyzes interface that is exported to the interpreter. The information is then compiled into an interface method source file which can be compiled and lined with user code. -Default name for the interface method source/header file is G__clink.c +Default name for the interface method source/header file is G__clink.c and G__clink.h. --c option must be given after -n, -N, -w and -z option if used simultaneously. -Normally, -c-1 option is used within the 'makecint' tool. In that case, a +\-c option must be given after \-n, \-N, \-w and \-z option if used simultaneously. +Normally, \-c\-1 option is used within the 'makecint' tool. In that case, a user does not need to know the detail. .TP .B \-C @@ -91,7 +91,7 @@ Dump core at error .B \-f FILE Set break file .br -This option is used with -b option when setting break point to a specified +This option is used with \-b option when setting break point to a specified file. .TP .B \-F EXPRESSION @@ -113,7 +113,7 @@ files. .B \-K C mode .br -Handles given file as C, regardless of file extension. Otherwise, +Handles given file as C, regardless of file extension. Otherwise, .c files are handled as C and .cxx, .C and .cpp files are handled as C++. .TP @@ -123,7 +123,7 @@ Link dynamic link library (or shared library) .B \-n LINKNAME (*) Specify interface method filename .br -This option must be used with -c, and must be given before the -c option. +This option must be used with \-c, and must be given before the \-c option. Cint creates an interface method source file as LINKNAME. If omitted, G__cpplink.C, G__cpplink.h are created for C++, and G__clink.c, G__clink.h are created for C. @@ -131,8 +131,8 @@ are created for C. .B \-N DLL_NAME (*) Specify DLL interface method name .br -This option must be used with -c, and must be given before the -c option. -This option changes function name in the interface method source file, +This option must be used with \-c, and must be given before the \-c option. +This option changes function name in the interface method source file, in order to avoid name conflict. All function names in the interface method source file are suffixed by DLL_NAME. .TP @@ -186,7 +186,7 @@ Bytecode compiler debug mode .B \-w [0|1] (*) Switch between archive library and DLL when creating interface method source file. This option is needed only for Windows-NT/9x/200x when cint creates -.DEF file for precompiled library. This option must be given before -c option. +.DEF file for precompiled library. This option must be given before \-c option. .TP .B \-X READLINEDUMPFILE Execute readline dumpfile @@ -202,13 +202,13 @@ This option switches 'std' namespace to be used(0) or ignored(1). .B \-z PROJECTNAME (*) Specify project name as PROJECTNAME when making interface method source file. This option is needed only for Windows-NT/9x/200x when cint creates .DEF file -for precompiled library. This option must be given before -c option. +for precompiled library. This option must be given before \-c option. .TP .B \-Z [0|1] Auto loading of standard header files with DLL .br This option controls automatic loading of standard header files with DLL. -If -Z1 is given, standard header files included when making interface method +If \-Z1 is given, standard header files included when making interface method source file are automatically loaded when loading DLL. .br .PP @@ -223,7 +223,7 @@ files during cint run. .PP .SH SUBOPTIONS .br -(*) : used only with makecint or -c option +(*) : used only with makecint or \-c option Suboptions are options which appears in between source files. .TP .B \-A @@ -244,7 +244,7 @@ turn off preprocessor for following source files .B \+STUB (*) stub function header begin .TP -.B -STUB (*) +.B \-STUB (*) stub function header end ARGUMENTS @@ -253,25 +253,25 @@ Arguments to main(int argc,char *argv[]) function. .nf $ cint $ cint lib1.c lib2.c source.c -$ cint -S -I../include -DDEBUG source.c -$ cint -x 'main(int argc,char *argv[]){printf("%s\n",argv[1]);}' -$ cint -qlevel1 myprog.C +$ cint \-S \-I../include \-DDEBUG source.c +$ cint \-x 'main(int argc,char *argv[]){printf("%s\n",argv[1]);}' +$ cint \-qlevel1 myprog.C .fi .SH DEBUG MODE Cint starts debug mode at following situations: -.br -- main() function is not included in the given source file. -.br -- Step execution mode (-S,-s option) -.br -- Program reaches to a break point -.br -- Keyboard interrupt (CTL-C or Break) -.br -- Explicit call of interactive interface function G__pause(). -.br -- Bus error or segmentation violation occurred. +.br +\- main() function is not included in the given source file. +.br +\- Step execution mode (-S,-s option) +.br +\- Program reaches to a break point +.br +\- Keyboard interrupt (CTL-C or Break) +.br +\- Explicit call of interactive interface function G__pause(). +.br +\- Bus error or segmentation violation occurred. You can perform step and trace execution, locate as many break points as you want, look into function/variable/class information tables, diff --git a/man/man1/g2rootold.1 b/man/man1/g2rootold.1 new file mode 100644 index 0000000000000000000000000000000000000000..32cf5e1bd2ae2e45fe7f78ded81a9208a524100c --- /dev/null +++ b/man/man1/g2rootold.1 @@ -0,0 +1,166 @@ +.\" +.\" $Id: g2rootold.1,v 1.1 2001/08/15 13:30:48 rdm Exp $ +.\" +.TH G2ROOTOLD 1 "Version 3" "ROOT" +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +g2rootold \- convert GEANT geomtry files to ROOT files +.SH SYNOPSIS +.B g2rootoldd +.I [-f map_name] geant_name macro_name +.SH "DESCRIPTION" +You can convert a +.B GEANT +(see +.I http://wwwinfo.cern.ch/asd/geant/index.html +fore more on +.BR GEANT ) +geometry to +.B ROOT +geometry with the following steps +.TP +1 +Run the interactive version of +.B GEANT +and produce a Zebra RZ file +.IR detector.geom , +by typing the command: +.sp 1 +.RS +Geant > rz/file 21 \fIdetector.geom\fR on +.RE +.sp 1 +.TP +2 +Run the +.B g2rootold +program to convert the Zebra RZ file into a +.B ROOT +macro +.I detector.C: +.sp 1 +.RS +g2rootold \fIdetector.geom\fR \fIdetector.C\fR +.RE +.sp 1 +.TP +3 +Run the following +.B ROOT +session; +.sp 1 +.RS +.nf +root [1] .x detector.C +root [2] detector.Draw() +root [3] c1.x3d() // (this invokes the 3-d Root viewver) +root [4] TFile f("detector.root","NEW") //open a new root file +root [5] detector.Write() //Write the geometry structure +root [6] f.Write() +.fi +.RE +.sp 1 +Note that the +.I TNode +structure currently in +.B ROOT +was not designed as a replacement for a true geometry package. The +idea was mainly to draw simple geometries in event display +programs. We are currently investigating several alternatives for a +true & efficient geometry package supporting; +.TP +- +a disk data base with storage of multiple geometry versions +.TP +- +an interactive editor and viewer +.TP +- +with 3-d views +.TP +- +but also 2-d cut views +.TP +- +with interfaces to existing or future MC such as +.B GEANT3 +or +.B GEANT4 +.PP +A second program called +.B gh2root +(see +.IR http://root.cern.ch/root/gh2root.html ) +generates automatically C++ code corresponding to the +.B GEANT3 Zebra +structures +.IR JSET , +.IR JVERTX , +.IR JKINE , +.I JHITS +and +.I JDIGI. +.SH "SEE ALSO" +.RS +.IR root (1), +.IR g2root (1), +.IR h2root(1), +.RE +and +.RS +.I The ROOT Users Guide +.RE +avaliable from the main +.B ROOT +website: +.RS +.I http://root.cern.ch +.RE +.SH "ORIGINAL AUTHORS" +The ROOT team (see web page above): +.RS +\fBRene Brun\fR and \fBFons Rademakers\fR +.RE +.SH "COPYRIGHT" +ROOT Software Terms and Conditions +.PP +The authors hereby grant permission to use, copy, and distribute this +software and its documentation for any purpose, provided that existing +copyright notices are retained in all copies and that this notice is +included verbatim in any distributions. Additionally, the authors grant +permission to modify this software and its documentation for any purpose, +provided that such modifications are not distributed without the explicit +consent of the authors and that existing copyright notices are retained in +all copies. Users of the software are asked to feed back problems, benefits, +and/or suggestions about the software to the ROOT Development Team +(rootdev@root.cern.ch). Support for this software - fixing of bugs, +incorporation of new features - is done on a best effort basis. All bug +fixes and enhancements will be made available under the same terms and +conditions as the original software, +.PP +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, +EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.PP +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS +PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. +.SH AUTHOR +This manual page was written by Christian Holm Christensen +<cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by +others). +.\" +.\" $Log: g2rootold.1,v $ +.\" Revision 1.1 2001/08/15 13:30:48 rdm +.\" move man files to new subdir man1. This makes it possible to add +.\" $ROOTSYS/man to MANPATH and have "man root" work. +.\" +.\" Revision 1.1 2000/12/08 17:41:00 rdm +.\" man pages of all ROOT executables provided by Christian Holm. +.\" +.\" diff --git a/man/man1/makecint.1 b/man/man1/makecint.1 index f7186514a5b3a0a6186469f521b0911c1458bd2e..8dde1210b033810058bbe60fdbb52f4ba31918ad 100644 --- a/man/man1/makecint.1 +++ b/man/man1/makecint.1 @@ -19,9 +19,9 @@ makecint \- C/C++ interpreter-compiler .SH SYNOPSIS .B makecint -[ -mk MAKEFILE ] [ -o OBJECT ] [ -H C++HEADER ] [ -C++ C++SOURCE] -[ -m ] [ -p ] [ -dl DLL ] [ -h CHEADER ] [ -C CSOURCE] -[ -l LIB ] [ -i STUBC] [ -i++ STUBC++ ] +[ \-mk MAKEFILE ] [ \-o OBJECT ] [ \-H C++HEADER ] [ \-C++ C++SOURCE] +[ \-m ] [ \-p ] [ \-dl DLL ] [ \-h CHEADER ] [ \-C CSOURCE] +[ \-l LIB ] [ \-i STUBC] [ \-i++ STUBC++ ] .SH DESCRIPTION .B makecint is an utility to link compiled C/C++ objects with the Cint C/C++ @@ -58,7 +58,9 @@ Makefile. In following example, makecint will create a Makefile which compiles "mycint" executable. The "mycint" embeds xxx.C and yyy.o as precompiled library. .nf - $ makecint -mk Makefile -o mycint -H xxx.h yyy.h -C++ xxx.C yyy.o + + $ makecint \-mk Makefile\-o mycint \-H xxx.h yyy.h \-C++ xxx.C yyy.o + .fi Command line options will be explained later in this document. @@ -140,19 +142,19 @@ the interpreter. .SH OPTIONS Space between option specifier and option argument is significant. -You must put space between them. For example, '-o object' is valid -but '-oobject' is not. Exceptions are -D and -I options which accepts -arguments like '-DMACRO1' and '-I/home/mydir/include'. +You must put space between them. For example, '\-o object' is valid +but '\-oobject' is not. Exceptions are \-D and \-I options which accepts +arguments like '\-DMACRO1' and '\-I/home/mydir/include'. .TP .B \-o OBJ specify object name (customized C/C++ interpreter). .br --o option specifies object name which becomes a customized C/C++ -interpreter. -o option can not be omitted, otherwise -dl option -must be given. -o and -dl options are exclusive. Only one of them +\-o option specifies object name which becomes a customized C/C++ +interpreter. \-o option can not be omitted, otherwise \-dl option +must be given. \-o and \-dl options are exclusive. Only one of them must be given. For example, .nf - $ makecint -mk Makefile -o mycint -H prog.h -C++ prog.C + $ makecint \-mk Makefile \-o mycint \-H prog.h \-C++ prog.C $ make .fi Will make customized cint "mycint" including prog.C user specific @@ -164,11 +166,11 @@ Generate dynamic link library object. This option generates dynamic link library(DLL) which can be dynamically linked with cint at run time. For example, .nf - $ makecint -mk Makefile -dl func.dl -H func1.h func2.h -C++ func1.C func2.C + $ makecint \-mk Makefile \-dl func.dl \-H func1.h func2.h \-C++ func1.C func2.C $ make .fi This will generate a DLL 'func.dl' which includes Position Independent -Code of func1.C, func2.C. -dl option compiles user specific Suffix of +Code of func1.C, func2.C. \-dl option compiles user specific Suffix of the dynamic link library can be either '.dl', '.sl', or '.DLL'. You can link func.dl by passing it to cint. Multiple DLL can be linked at a time if there is no cyclic symbol dependency. @@ -201,8 +203,8 @@ Create interface routine and makefile, no compilation. The '-mk MKFILE' option will specify name of created makefile. For example .nf - $ makecint -mk make.prog1 -o prog1 -H prog1.h -C++ prog1.C - $ make -f make.prog1 + $ makecint \-mk make.prog1 \-o prog1 \-H prog1.h \-C++ prog1.C + $ make \-f make.prog1 $ prog1 .fi .TP @@ -211,12 +213,12 @@ Use preprocessor before parsing parameter information files (OLD) .br If '-p' option is added, parameter information files are preprocessed by real preprocessor. Cint does not parse define macro perfectly. It -is recommended to use -p option when you link non-trivial library with +is recommended to use \-p option when you link non-trivial library with heavy define macro usage. Name of C/C++ preprocessor must be set in the $CINTSYSDIR/MAKEINFO file. .nf - $ makecint -mk Makeit -p -o mycint -H prog.h -C++ prog.C - $ make -f Makeit + $ makecint \-mk Makeit \-p \-o mycint \-H prog.h \-C++ prog.C + $ make \-f Makeit .fi This option is being obsoleted. Use +P,-P instead. .TP @@ -230,7 +232,7 @@ from your host program. (See example below) Header file $CINTSYSDIR/G__ci.h has to be included. .nf /* Example host program host.c -* $ makecint -mk Makefile -o host -m -I$CINTSYSDIR -h host.h -C host.c +* $ makecint \-mk Makefile \-o host \-m \-I$CINTSYSDIR \-h host.h \-C host.c * $ make */ #include <G__ci.h> @@ -261,13 +263,13 @@ int G__init_cint(char* command) .fi This function will initialize Cint. main() is automatically executed if it exists and returns 1. If main() is not found it returns 0. It -returns -1 if initialization fails. +returns \-1 if initialization fails. .nf int state; state=G__init_cint("cint source.c"); // 0==state : initialized but no main() // 1==state : initialized and main() called - // -1==state: initialization failed + // \-1==state: initialization failed .fi After the initialization you can use following functions. .nf @@ -303,8 +305,8 @@ int G__loadfile(char* filename) This function loads C/C++ source code or Dynamic Link Library(DLL). If suffix of the filename is .dl, .sl, .so, .dll or .DLL, the file is linked as DLL. Otherwise, C/C++ source file. It returns 0 if the file -is successfully loaded, 1 if the file is already loaded and -1 if the -file can not be loaded. In case of fatal error, it returns -2. +is successfully loaded, 1 if the file is already loaded and \-1 if the +file can not be loaded. In case of fatal error, it returns \-2. .nf G__init_cint("cint"); G__loadfile("src1.C"); @@ -319,7 +321,7 @@ int G__unloadfile(char* filename) This function unloads C/C++ source code or Dynamic Link Library(DLL). In order to keep consistency, all the files loaded after the specified file will be unloaded. It returns 0 if files are -successfully unloaded, -1 if not. It first checks if any of the +successfully unloaded, \-1 if not. It first checks if any of the function defined in the unloading files are busy. .nf G__init_cint("cint src0.c"); @@ -377,22 +379,22 @@ This option defines macro for global variable parameter information file. Global variable parameter informa- tion file will be conditionally parsed with '#ifdef MACRO' statement. You can not put multiple macro names after '-D'. '-D' must be given before every -individual macro name. Space between -D and macro name is not +individual macro name. Space between \-D and macro name is not significant. You can either go '-DMACRO' or '-D MACRO'. .nf - $ makecint -mk Makeit -DONLINE -o mycint -H source.h -C++ source.C - $ make -f Makeit + $ makecint \-mk Makeit \-DONLINE \-o mycint \-H source.h \-C++ source.C + $ make \-f Makeit .fi .TP .B \-I INCLDPATH Include file search path .br You can not put multiple path after '-I'. '-I' must be given before -every individual include path. Space between -I and pathname is not +every individual include path. Space between \-I and pathname is not significant. You can either go '-Ipath' or '-I path'. .nf - $ makecint -mk Makeit -I/users/include -I/include -H src.h -C++ src.C - $ make -f Makeit + $ makecint \-mk Makeit \-I/users/include \-I/include \-H src.h \-C++ src.C + $ make \-f Makeit .fi .TP .B \-H SUTPI.h @@ -406,8 +408,8 @@ enum, public member functions and data members, non-static global function and variables, typedefs and macros in precompiled library can be used from interpreter. .nf - $ makecint -mk Mkit -o mycint -H src1.h src2.h -C++ src1.C src2.C - $ make -f Mkit + $ makecint \-mk Mkit \-o mycint \-H src1.h src2.h \-C++ src1.C src2.C + $ make \-f Mkit .fi SUTPI.h file must be compliant to cint syntax limi tations described in /usr/share/doc/cint/limitati.txt. If SUTPI.h uses C++ language @@ -435,8 +437,8 @@ style header is not accepted. struct,union,enum, non-static global function and variables, typedefs and macros in precompiled library can be used from interpreter. .nf - $ makecint -mk Makeit -A -o mycint -h csrc1.h csrc2.h -C csrc1.c csrc2.c - $ make -f Makeit + $ makecint \-mk Makeit \-A \-o mycint \-h csrc1.h csrc2.h \-C csrc1.c csrc2.c + $ make \-f Makeit .fi SUTPI.h file must be compliant to cint syntax limitations described /usr/share/doc/cint/limitati.txt. If SUTPI.h uses C++ language @@ -448,29 +450,29 @@ for makecint. .B \+P, \-P Turn preprocessor mode for following header files on/off .br -The +P and -P are suboptions of -h , -H option which turns on/off +The +P and \-P are suboptions of \-h , \-H option which turns on/off preprocessor option on file by file basis. Files after +P will be -preprocessed and files after -P won't be preprocessed. You can +preprocessed and files after \-P won't be preprocessed. You can selectively use preprocessor in following manner. In this example, only C.h and D.h , which are enclosed by +P/-P , will be preprocessed -by real C/C++ preprocessor. You must not use -p option when you use -+P/-P option. +P option must always come before -P , however, -P can +by real C/C++ preprocessor. You must not use \-p option when you use ++P/-P option. +P option must always come before \-P , however, \-P can be omitted if all files after +P are preprocessed. The name of the C/C++ preprocessor must be set in the $CINTSYSDIR/MAKEINFO file. .nf - $ makecint -mk Makeit -o mycint -H A.h B.h +P C.h D.h -P E.h F.h -C++ all.C - $ make -f Makeit + $ makecint \-mk Makeit \-o mycint \-H A.h B.h +P C.h D.h \-P E.h F.h \-C++ all.C + $ make \-f Makeit .fi .TP .B \+V, \-V Turn class title loading for following header files on/off .br -The +V and -V are suboptions for -h , -H option which turns on/off +The +V and \-V are suboptions for \-h , \-H option which turns on/off loading class title by file basis. Class title will be loaded for the -files after +V. Class title won't be loaded for the files after -V. +files after +V. Class title won't be loaded for the files after \-V. .nf - $ makecint -mk Makeit -o mycint -H A.h B.h +V C.h D.h -V E.h F.h -C++ all.C - $ make -f Makeit + $ makecint \-mk Makeit \-o mycint \-H A.h B.h +V C.h D.h \-V E.h F.h \-C++ all.C + $ make \-f Makeit .fi Class title has to be described in class/struct defi- nition in header file as follows. Basically, '//' style comment right after each @@ -485,38 +487,38 @@ member declaration will be loaded as class member comment. .fi .TP .B \-C++ SUT.C -Link C++ source code or object. Not accessed unless -H SUT.h is given. +Link C++ source code or object. Not accessed unless \-H SUT.h is given. .br With the '-C++' option, [sut].C file is used as body of C++ compiled object. .br If appropriate header file is given by '-H' option, those compiled object can be accessed from the interpreter. At least one header file -must be given by -H option when using -C++ option. Otherwise, +must be given by \-H option when using \-C++ option. Otherwise, makecint fails. Multiple source files can be given after one '-C++'. Suffix of the C++ source files must be properly set in the $CINTSYSDIR/MAKEINFO file. .TP .B \-C SUT.c -Link C source code or object. Not accessed unless -h SUT.h is given. +Link C source code or object. Not accessed unless \-h SUT.h is given. .br With the '-C' option, SUT.c file is used as body of C compiled object. If the appropriate header file is given by '-h' option, those compiled objects can be accessed from the interpreter. At least one header file -must be given by -h option when using -C option. Multiple source +must be given by \-h option when using \-C option. Multiple source files can be given after one '-C'. Suffix of the C source files must be properly set in the $CINTSYSDIR/MAKEINFO file. .TP .B \-i++ STUB.h C++ STUB function parameter information file. .br --i++ option does opposite of -H option. While -H option enables -access of precompiled object from interpreter, -i++ option enables +-i++ option does opposite of \-H option. While \-H option enables +access of precompiled object from interpreter, \-i++ option enables access of interpreted functions from compiled code. .nf #### Example is in /usr/share/doc/cint/demo/makecint/Stub directory -$ makecint -mk Makefile -o mycint -H Src.h -i++ Stub.h -C++ Src.C -$ make -f Makefile +$ makecint \-mk Makefile \-o mycint \-H Src.h \-i++ Stub.h \-C++ Src.C +$ make \-f Makefile $ mycint Stub.C .fi STUB.h file must be compliant to cint syntax limitations described in @@ -527,12 +529,12 @@ and non-static global variable defined in STUB.h is undefined. .B \-i STUB.h C STUB function parameter information file. .br -The -i option does the opposite of the -h option. While -h enables -access of precompiled object from interpreter, -i enables access of +The \-i option does the opposite of the \-h option. While \-h enables +access of precompiled object from interpreter, \-i enables access of interpreted functions from compiled code. .nf -$ makecint -mk Makefile -o mycint -h Src.h -i Stub.h -C Src.c -$ make -f Makefile +$ makecint \-mk Makefile \-o mycint \-h Src.h \-i Stub.h \-C Src.c +$ make \-f Makefile $ mycint Stub.c .fi STUB.h file must be compliant to cint syntax limitations described in @@ -541,7 +543,7 @@ functions can be specified in STUB.h file. Behavior of struct, union, enum and non-static global variable defined in STUB.h is undefined. .TP .B \-c SUT.c -Same as '-h [sut].c -C [sut].c' +Same as '-h [sut].c \-C [sut].c' .TP .B \-l \-lLIB Compiled object, Library or linker options @@ -550,14 +552,14 @@ Compiled object, Library or linker options Handle undefined typename as class name. .br Fighting againt undefined typename is a tidious work, especially when -you do not need public access to those. -u option ignores such +you do not need public access to those. \-u option ignores such symbols and generates dummy code to eliminate this kind of problem. It -handles unknown typename as a class name which is not exposed. -u +handles unknown typename as a class name which is not exposed. \-u option takes output file name as an argument. All of the undefined typenames will be written out. .nf - $ makecint -mk Makeit -u undef.h -H src.h -C++ src.C - $ make -mk Makeit + $ makecint \-mk Makeit \-u undef.h \-H src.h \-C++ src.C + $ make \-mk Makeit .fi This option is not perfect. If you find problem, you need to fix it manually. @@ -569,8 +571,8 @@ If you give this option, cint/makecint will disable dictionary generation for header files exist under given directory. For example, .nf - $ makecint -mk makefile -dl src.dll -I/x/inc -U/x/inc -H src.h - $ make -f makefile + $ makecint \-mk makefile \-dl src.dll \-I/x/inc \-U/x/inc \-H src.h + $ make \-f makefile $ cint src.dll .fi Suppose you have /x/inc/mylib.h and it is included from src.h, things @@ -583,16 +585,16 @@ Ignore std namespace (default=1:ignore) Automatic loading of standard header files .br If you give this option, cint/makecint will automatically load -standard header files used in header file given by -h/-H -option. Default is off(0). -Z1 must be given to makecint when making +standard header files used in header file given by \-h/-H +option. Default is off(0). \-Z1 must be given to makecint when making dictinoary. For example, .nf // src.h #include <string> // this will trigger implicit loading class myclass { .. }; - $ makecint -mk makefile -dl src.dll -Z1 -H src.h - $ make -f makefile + $ makecint \-mk makefile \-dl src.dll \-Z1 \-H src.h + $ make \-f makefile $ cint src.dll cint> .file 0: myheader.dll // explicitly loaded @@ -608,16 +610,16 @@ Compiler option Cint option .br This option specifies command line option directly gieven to -cint. Multiple cint options can be given after -cint. There are a few +cint. Multiple cint options can be given after \-cint. There are a few important cint options which I will describe below. .TP -.B \-cint -M NEWDELMASK +.B \-cint \-M NEWDELMASK Mask operator new/delete generation .br Caution: When making cint dictionary or interface method source code, it usually overloads global new and delete operators. If you have yourown new/delete operator, you may want to elimitate new and delete -from the dictionary source code. -M option turns off automatic +from the dictionary source code. \-M option turns off automatic creation of operator new/delete in the dictionary source code. Mask flag is given as hex number described below. .nf @@ -638,13 +640,13 @@ dictionary. #define G__MASK_OPERATOR_NEW 0x04 .fi Cint does not generate operator new function in the dictionary because -it is explicitly masked by -M0x4 command line option. +it is explicitly masked by \-M0x4 command line option. .nf #define G__MASK_OPERATOR_DELETE 0x08 .fi Cint does not generate operator new function in the dictionary because -it is explicitly masked by -M0x8 command line option. +it is explicitly masked by \-M0x8 command line option. .nf #define G__NOT_USING_2ARG_NEW 0x10 @@ -656,7 +658,7 @@ From cint5.14.60, a new scheme is introduced. This scmeme is still experimmental. In the new method, following flags dominates others. This scheme is intended to fix problems associated with global operator new/delete. -Before 5.14.59, -M0x1c or -M0x10 was needed for HP-UX aCC, Solaris +Before 5.14.59, \-M0x1c or \-M0x10 was needed for HP-UX aCC, Solaris CC5 and few other compilers. From 5.14.60, this option is not needed for those platforms any more. .nf @@ -681,10 +683,10 @@ following functions will be generated. static void operator delete(void *p,[DLLID]_tag* x); static void G__operator_delete(void *p); .fi -Default value is -M0x100 for pure CINT and -M0x1c for ROOTCINT. +Default value is \-M0x100 for pure CINT and \-M0x1c for ROOTCINT. .nf - $ makecint -mk Makeit -H src.h -C++ src.C -cint -M0x1c - $ make -mk Makeit + $ makecint \-mk Makeit \-H src.h \-C++ src.C \-cint \-M0x1c + $ make \-mk Makeit .fi If you have one argument operator new in your source code, your operator new should look like below. @@ -717,20 +719,20 @@ delete should look like below. } .fi .TP -.B -cint -Z [0|1] +.B \-cint \-Z [0|1] Automatic loading of standard header files .br If you give this option, cint/makecint will automatically load -standard header files used in header file given by -h/-H -option. Default is off(0). -Z1 must be given to makecint when making +standard header files used in header file given by \-h/-H +option. Default is off(0). \-Z1 must be given to makecint when making dictinoary. For example, .nf // src.h #include <string> // this will trigger implicit loading class myclass { .. }; - $ makecint -mk makefile -dl src.dll -H src.h -cint -Z1 - $ make -f makefile + $ makecint \-mk makefile \-dl src.dll \-H src.h \-cint \-Z1 + $ make \-f makefile $ cint src.dll cint> .file 0: myheader.dll // explicitly loaded @@ -739,7 +741,7 @@ dictinoary. For example, 3: bool.h // " .fi .TP -.B -B FUNCNAME +.B \-B FUNCNAME Initialization function name .PP diff --git a/man/man1/memprobe.1 b/man/man1/memprobe.1 index b3c9efe64c26ab13afd099052c01884207b11f20..6c37cdf5ba7eb18bc418c6bb66168fe59b6ffc4a 100644 --- a/man/man1/memprobe.1 +++ b/man/man1/memprobe.1 @@ -1,5 +1,5 @@ .\" -.\" $Id: root-config.1,v 1.1 2001/08/15 13:30:48 rdm Exp $ +.\" $Id: memprobe.1,v 1.1 2002/01/20 14:23:52 rdm Exp $ .\" .TH MEMPROBE 1 "Version 3" "ROOT" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection @@ -13,7 +13,7 @@ memprobe \- ROOT utility to examine memory usage To activate the memory checker you have to set in the \fB.rootrc\fR file the resource \fBRoot.MemCheck\fR to 1 (e.g.: \fBRoot.MemCheck: 1\fR) and you have to link with \fBlibNew.so\fR (e.g. use -\fBroot-config --new --libs\fR) or use \fBrootn.exe\fR. +\fBroot-config \-\-new \-\-libs\fR) or use \fBrootn.exe\fR. .PP When all this is the case you will find at the end of the program execution a file \fBmemcheck.out\fR in the directory where you started @@ -67,7 +67,17 @@ This manual page was written by Christian Holm Christensen <cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by others). .\" -.\" $Log: root-config.1,v $ +.\" $Log: memprobe.1,v $ +.\" Revision 1.1 2002/01/20 14:23:52 rdm +.\" Mega patch by Christian Holm concerning the configure, build and +.\" Debian and RedHat packaging scripts. The configure script has been +.\" rationalized (introduction of two shell functions to find package +.\" headers and libraries). Extensive update of the INSTALL writeup, +.\" including description of all new packages (SapDB, PgSql, etc.). +.\" More options to the root-config script. Man page for memprobe. +.\" Big overhaul of the Debian and RedHat packaging scripts, supporting +.\" the new libraries. +.\" .\" Revision 1.1 2001/08/15 13:30:48 rdm .\" move man files to new subdir man1. This makes it possible to add .\" $ROOTSYS/man to MANPATH and have "man root" work. diff --git a/man/man1/olbd.1 b/man/man1/olbd.1 new file mode 100644 index 0000000000000000000000000000000000000000..6c19f3c4c1eb9eba8347696513a5bef19324689b --- /dev/null +++ b/man/man1/olbd.1 @@ -0,0 +1,69 @@ +.\" +.\" $Id: rootd.1,v 1.2 2004/12/15 12:37:43 rdm Exp $ +.\" +.TH XROOTD 1 "Version 4" "ROOT" +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +olbd \- Open Load Balancer Daeom used by xrootd +.SH SYNOPSIS +.B oldb +.I [options] [exported directories] +.SH "DESCRIPTION" +This manual page documents briefly the +.BR olbd +program. +.PP +.B olbd +is the Open Load Balancer Daemon for the +.B ROOT +extended remote file server daemon. +.SH "SEE ALSO" +\fIxrootd\fR(1), \fIrootd\fR(1) +.PP +See also +.I http://xrootd.slac.stanford.edu +for more on the extended \fBROOT\fR server. +.PP +For more information on the \fBROOT\fR system, please refer to +.US http://root.cern.ch/ +.I http://root.cern.ch +.UE +.SH "ORIGINAL AUTHORS" +The ROOT team (see web page above): +.RS +.B Rene Brun +and +.B Fons Rademakers +.RE +.SH "COPYRIGHT" +ROOT Software Terms and Conditions +.PP +The authors hereby grant permission to use, copy, and distribute this +software and its documentation for any purpose, provided that existing +copyright notices are retained in all copies and that this notice is +included verbatim in any distributions. Additionally, the authors grant +permission to modify this software and its documentation for any purpose, +provided that such modifications are not distributed without the explicit +consent of the authors and that existing copyright notices are retained in +all copies. Users of the software are asked to feed back problems, benefits, +and/or suggestions about the software to the ROOT Development Team +(rootdev@root.cern.ch). Support for this software - fixing of bugs, +incorporation of new features - is done on a best effort basis. All bug +fixes and enhancements will be made available under the same terms and +conditions as the original software, +.PP +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, +EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.PP +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS +PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. +.SH AUTHOR +This manual page was originally written by Christian Holm Christensen +<cholm@nbi.dk>, for the Debian GNU/Linux system and ROOT version 3. diff --git a/man/man1/proofd.1 b/man/man1/proofd.1 index 03f59537bbea2b7625059200f639751233f5dee7..e8258cb596b25c1b56493bab29e2e1b76d99ed2a 100644 --- a/man/man1/proofd.1 +++ b/man/man1/proofd.1 @@ -1,5 +1,5 @@ .\" -.\" $Id: proofd.1,v 1.1 2000/12/08 17:41:00 rdm Exp $ +.\" $Id: proofd.1,v 1.1 2001/08/15 13:30:48 rdm Exp $ .\" .TH PROOFD 1 "Version 3" "ROOT" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection @@ -64,7 +64,7 @@ On each node, add to \fI/etc/inetd.conf\fR the lines: .nf proofd stream tcp nowait root <\fIbindir\fR>/proofd proofd <\fIproofdir\fR>/proof - rootd stream tcp nowait root <\fIbindir\fR>/rootd rootd -i + rootd stream tcp nowait root <\fIbindir\fR>/rootd rootd \-i .fi You can substitute the <\fIproofdir\fR> with any directory that holds @@ -77,7 +77,7 @@ the cluster. Restart \fBinetd\fR or force it to re-read the config file: .nf - kill -1 <\fIinetd pid\fR> + kill \-1 <\fIinetd pid\fR> .fi If you use \fBSYSV\fR \fIinit\fR(8) scripts, you can probaly just do @@ -135,7 +135,7 @@ Create an empty <\fIproofdir\fR>/log/proof.log: Restart syslogd or force it to re-read the config file: .nf - kill -1 <\fIsyslogd pid\fR>. + kill \-1 <\fIsyslogd pid\fR>. .fi If you use \fBSYSV\fR \fIinit\fR(8) scripts, you can probaly just do @@ -160,7 +160,7 @@ If you're running \fBLinux\fR, Steps 5 to 7 can be somewhat automated using the script \fIproof-facility\fR in <\fIproofdir\fR> of your distribution. This script uses \fIsyslog-facility\fR(1), from the \fBLinux\fR \fIsyslog\fR(1) distribution, and may run on other -platforms as well - but no warrenties mind you! +platforms as well \- but no warrenties mind you! .PP Step 9 is completly up to the user. .SH "EXAMPLE" @@ -261,6 +261,10 @@ This manual page was written by Christian Holm Christensen others). .\" .\" $Log: proofd.1,v $ +.\" Revision 1.1 2001/08/15 13:30:48 rdm +.\" move man files to new subdir man1. This makes it possible to add +.\" $ROOTSYS/man to MANPATH and have "man root" work. +.\" .\" Revision 1.1 2000/12/08 17:41:00 rdm .\" man pages of all ROOT executables provided by Christian Holm. .\" diff --git a/man/man1/rlibmap.1 b/man/man1/rlibmap.1 new file mode 100644 index 0000000000000000000000000000000000000000..9cb6ee9ecfeafd48392c97cabbf06ce45e077ad2 --- /dev/null +++ b/man/man1/rlibmap.1 @@ -0,0 +1,83 @@ +.\" +.\" $Id: rlibmap.1,v 1.3 2002/07/31 20:45:10 rdm Exp $ +.\" +.TH RLIBMAP 1 "Version 3" "ROOT" +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +rlibmap \- ROOT utility to create class to library maps +.SH SYNOPSIS +.B rlibmap +[-f] [[-r|-o] \fImapfile\fR] -l \fIlibrary\fR -d \fIdependecy\fR -c \fILinkdef\fR +.SH "DESCRIPTION" +Creates a map from classes to shared libraries that contain these +classes. +.SH OPTIONS +.TP +.B --help +Gives a short list of options avaliable, and exit +.TP +.BI -f +What!? +.TP +.BI -r mapfile +Read map file \fImapfile\fR +.TP +.BI -o mapfile +Output on \fImapfile\fR +.TP +.BI -l sofile +Library to inspect +.TP +.BI -d depsofile +Dependency library. +.TP +.BI -c linkdef +Specify \fBCINT\fR linkdef to use +.SH "SEE ALSO" +\fIroot\fR(1), \fIrootcint\fR(1) +.PP +See also the \fBROOT\fR webpages: +.US http://root.cern.ch +\fIhttp://root.cern.ch\fR +.UE +.SH "ORIGINAL AUTHORS" +The ROOT team (see web page above): +.RS +\fBRene Brun\fR and \fBFons Rademakers\fR +.RE +.SH "COPYRIGHT" +\fBROOT\fR Software Terms and Conditions +.PP +The authors hereby grant permission to use, copy, and distribute this +software and its documentation for any purpose, provided that existing +copyright notices are retained in all copies and that this notice is +included verbatim in any distributions. Additionally, the authors grant +permission to modify this software and its documentation for any purpose, +provided that such modifications are not distributed without the explicit +consent of the authors and that existing copyright notices are retained in +all copies. Users of the software are asked to feed back problems, benefits, +and/or suggestions about the software to the ROOT Development Team +(rootdev@root.cern.ch). Support for this software - fixing of bugs, +incorporation of new features - is done on a best effort basis. All bug +fixes and enhancements will be made available under the same terms and +conditions as the original software, +.PP +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, +EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.PP +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS +PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. +.SH AUTHOR +This manual page was written by Christian Holm Christensen +<cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by +others). +.\" +.\" EOF +.\" diff --git a/man/man1/root-config.1 b/man/man1/root-config.1 index c56cfe342f7d97e496eec81d2664bb6fa53e4b05..c07b72be1f0de253899ac92d8177a6f1688d8825 100644 --- a/man/man1/root-config.1 +++ b/man/man1/root-config.1 @@ -1,5 +1,5 @@ .\" -.\" $Id: root-config.1,v 1.2 2002/01/20 14:23:52 rdm Exp $ +.\" $Id: root-config.1,v 1.3 2002/07/31 20:45:10 rdm Exp $ .\" .TH ROOT-CONFIG 1 "Version 3" "ROOT" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection @@ -14,12 +14,12 @@ Put lines like .RS .nf -CFLAGS = $(shell root-config --cflags) -LIBS = $(shell root-config --libs) -GLIBS = $(shell root-config --glibs) +CFLAGS = $(shell root-config \-\-cflags) +LIBS = $(shell root-config \-\-libs) +GLIBS = $(shell root-config \-\-glibs) %Cint.cxx:Include.h LinkDef.h - rootcint -f $@ -c $^ + rootcint \-f $@ \-c $^ .fi .RE @@ -38,17 +38,17 @@ lib_LTLIBRARIES = libFoo.la pkginclude_HEADERS = Foo.h noinst_HEADERS = FooCint.h libFoo_la_SOURCES = Foo.cxx FooCint.cxx -libFoo_la_LDFLAGS = -version-info 1:0 -R @ROOTLIBDIR@ -libFoo_la_LDADD = -lCore -lCint @ROOTAUXLIBS@ +libFoo_la_LDFLAGS = \-version-info 1:0 \-R @ROOTLIBDIR@ +libFoo_la_LDADD = \-lCore \-lCint @ROOTAUXLIBS@ BUILT_SOURCES = FooCint.cxx FooCint.h -AM_CPPFLAGS = -I@ROOTINCDIR@ -AM_LDFLAGS = -L@ROOTLIBDIR@ +AM_CPPFLAGS = \-I@ROOTINCDIR@ +AM_LDFLAGS = \-L@ROOTLIBDIR@ CLEANFILES = *Cint.cxx *Cint.h *~ core %Cint.cxx %Cint.h:Include.h LinkDef.h - @ROOTCINT@ -f $*Cint.cxx -c $(INCLUDES) $(AM_CPPFLAGS) $^ + @ROOTCINT@ \-f $*Cint.cxx -c $(INCLUDES) $(AM_CPPFLAGS) $^ .fi .RE @@ -145,64 +145,64 @@ Auxilary compiler flags Same as \fBROOTLIBDIR\fR .SH OPTIONS .TP -.B --help +.B \-\-help Gives a short list of options avaliable, and exit .TP -.B --version +.B \-\-version Report the version number of installed \fBROOT\fR, and exit. .TP -.BI --prefix =<prefix> +.BI \-\-prefix =<prefix> If no arguments is given, reports where \fBROOT\fR is installed. With an argument of =\fI<prefix>\fR, set the base of the subsequent options -to \fI<prefix>\fR. If \fB--exec-prefix\fR is passedwith an argument, -that argument overrides the argument given to \fB--prefix\fR for the +to \fI<prefix>\fR. If \fB\\-\-exec-prefix\fR is passedwith an argument, +that argument overrides the argument given to \fB\\-\-prefix\fR for the library path. .TP -.BI --exec-prefix =<prefix> +.BI \-\-exec-prefix =<prefix> If no argument is given, report where the libraries are installed. If an argument is given, use that as the installation base directory for the libraries. This option does not affect the include path. .TP -.B --libdir +.B \-\-libdir Print the directory where the ROOT libraries are installed. .TP -.B --incdir +.B \-\-incdir Print the directory where the ROOT headers are installed. .TP -.B --libs +.B \-\-libs Output a line suitable for linking a program agains the \fBROOT\fR libraries. No graphics libraries are output. .TP -.B --glibs +.B \-\-glibs As above, but also output for the graphics libraries. .TP -.B --cflags +.B \-\-cflags Output a line suitable for compiling a source file againd the \fBROOT\fR header (class declararion) files. .TP -.B --new +.B \-\-new Put the \fBlibNew.so\fR library in the library lists. This option -\fImust\fR be given before options \fB--libs\fR and \fB--glibs\fR. +\fImust\fR be given before options \fB\-\-libs\fR and \fB\-\-glibs\fR. .TP -.B --nonew +.B \-\-nonew Compatiblity option. Does nothing. .TP -.B --auxlibs +.B \-\-auxlibs Print auxiliary libraries and/or system linker flags. .TP -.B --noauxlibs +.B \-\-noauxlibs Do not print auxiliary libraries and/or system linker flags in the -output of \fB--libs\fR and \fB--glibs\fR. -.B --auxcflags +output of \fB\-\-libs\fR and \fB\-\-glibs\fR. +.B \-\-auxcflags Print auxiliary compiler flags. .TP -.B --noauxcflags +.B \-\-noauxcflags Do not print auxiliary compiler flags in the output of -\fB--cflags\fR. +\fB\-\-cflags\fR. .TP -.B --noldflags -Do not print library path link option in output of \fB--libs\fR and -\fB--glibs\fR. +.B \-\-noldflags +Do not print library path link option in output of \fB\-\-libs\fR and +\fB\-\-glibs\fR. .SH "SEE ALSO" \fIroot\fR(1), \fIroot-cint\fR(1) .PP diff --git a/man/man1/rootcint.1 b/man/man1/rootcint.1 index 642e3947038aee2c7cf555159d702dd5989e3a26..5dbe4353c8241f49915405bed6362ed22fe55395 100644 --- a/man/man1/rootcint.1 +++ b/man/man1/rootcint.1 @@ -1,5 +1,5 @@ .\" -.\" $Id: rootcint.1,v 1.1 2000/12/08 17:41:01 rdm Exp $ +.\" $Id: rootcint.1,v 1.1 2001/08/15 13:30:48 rdm Exp $ .\" .TH ROOTCINT 1 "Version 3" "ROOT" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection @@ -8,8 +8,8 @@ rootcint \- ROOT Dictionary generator .SH SYNOPSIS .nf -\fBrootcint \fIheader_file\fR[+][-][!] ... [LinkDef.h] > \fIdict_file\fR -\fBrootcint \fR[-f] \fIdict_file \fR[-c] \fIheader_file\fR[+][-][!] ... [LinkDef.h] +\fBrootcint \fIheader_file\fR[+][\-][!] ... [LinkDef.h] > \fIdict_file\fR +\fBrootcint \fR[\-f] \fIdict_file \fR[\-c] \fIheader_file\fR[+][\-][!] ... [LinkDef.h] .fi .SH "DESCRIPTION" The @@ -78,7 +78,7 @@ directories to be searched and preprocessor defines, like: .sp 1 .RS .nf -.B -I$../include -DDebug +.B \-I$../include -DDebug .fi .RE .sp 1 @@ -113,7 +113,7 @@ looks like: This file tells .B rootcint for which classes the method interface stubs should be generated. A -trailing `-' in the class name tells +trailing `\-' in the class name tells .B rootcint to not generate the .B Streamer() @@ -199,6 +199,10 @@ This manual page was written by Christian Holm Christensen others). .\" .\" $Log: rootcint.1,v $ +.\" Revision 1.1 2001/08/15 13:30:48 rdm +.\" move man files to new subdir man1. This makes it possible to add +.\" $ROOTSYS/man to MANPATH and have "man root" work. +.\" .\" Revision 1.1 2000/12/08 17:41:01 rdm .\" man pages of all ROOT executables provided by Christian Holm. .\" diff --git a/man/man1/rootd.1 b/man/man1/rootd.1 index 998274400eb23f18a67d59715822f670b84f4da3..00ac51d2eea2242915950d3fc4d6a3c568f154b6 100644 --- a/man/man1/rootd.1 +++ b/man/man1/rootd.1 @@ -1,5 +1,5 @@ .\" -.\" $Id: rootd.1,v 1.1 2001/08/15 13:30:48 rdm Exp $ +.\" $Id: rootd.1,v 1.2 2004/12/15 12:37:43 rdm Exp $ .\" .TH ROOTD 1 "Version 4" "ROOT" .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection @@ -36,7 +36,7 @@ If the system uses inetd, add the following line to \fI/etc/inetd.conf\fR: .sp 1 .RS .nf -rootd stream tcp nowait root <\fIbindir\fR>/rootd rootd -i +rootd stream tcp nowait root <\fIbindir\fR>/rootd rootd \-i .fi .RE .sp 1 @@ -47,7 +47,7 @@ The \fIinetd\fR(8) daemon must re-read its configuration file to become aware of .sp 1 .RS .nf -kill -HUP <pid inetd> +kill \-HUP <pid inetd> .fi .RE .sp 1 @@ -76,7 +76,7 @@ service rootd wait = no user = root server = <\fIbindir\fR>/rootd - server_args = -i + server_args = \-i } .fi .RE @@ -104,7 +104,7 @@ listening on port 5151 just type: .sp 1 .RS .nf -rootd -p 5151 +rootd \-p 5151 .fi .RE .sp 1 @@ -115,7 +115,7 @@ itself. ftp). To setup \fIrootd\fR to accept anonymous logins do the following (while being logged in as root): .TP -.Bl -enum +.Bl \-enum .It Add the following line to /etc/passwd: .sp 1 @@ -201,7 +201,7 @@ In system using shadow passwords, full access to the password field of the user .sp 1 .RS .nf -perl -e '$pw = crypt("<secretpasswd>","salt"); print "$pw\n"' +perl \-e '$pw = crypt("<secretpasswd>","salt"); print "$pw\n"' .fi .RE .sp 1 @@ -295,6 +295,53 @@ It has been modified by G. Ganis <g.ganis@cern.ch> to document new features included in ROOT version 4. .\" .\" $Log: rootd.1,v $ +.\" Revision 1.2 2004/12/15 12:37:43 rdm +.\" From Gerri: +.\" 1) New files: +.\" .1 build/package/rpm/root-rootd.spec.in +.\" +.\" skeleton for the rootd RPM specs file +.\" +.\" .2 build/package/common/root-rootd.dscr +.\" +.\" short and long descriptions used in the previous file +.\" +.\" .3 config/rootd.in +.\" +.\" Skeleton for the startup script to be created under etc; the +.\" variable which depends on the configuration directives is +.\" the location of the executable to run (i.e the installation +.\" prefix). This file is to be moved to /etc/rc.d/init.d/ on RH +.\" (or equivalent position on other versions of Linux). +.\" +.\" .4 man/man1/system.rootdaemonrc.1 +.\" +.\" man page for system.rootdaemonrc and related files +.\" +.\" +.\" 2) Patched files: +.\" +.\" .1 Makefile +.\" +.\" add new target 'rootdrpm' with the rules to create the specs file +.\" +.\" .2 configure +.\" +.\" add creation of etc/rootd from the skeleton in config/rootd.in +.\" +.\" .3 config/Makefile.in +.\" +.\" add variable ROOTDRPMREL with the RPM release version (default 1); +.\" this can be changed on command line whn creating the spec file +.\" +.\" .4 config/rootdaemonrc.in +.\" +.\" update fir 'sockd' and correct a few typos +.\" +.\" .5 man/man1/rootd.1 +.\" +.\" significant updates; typo corrections +.\" .\" Revision 1.1 2001/08/15 13:30:48 rdm .\" move man files to new subdir man1. This makes it possible to add .\" $ROOTSYS/man to MANPATH and have "man root" work. diff --git a/man/man1/ssh2rpd.1 b/man/man1/ssh2rpd.1 new file mode 100644 index 0000000000000000000000000000000000000000..a4897be273302a14c6de1d385003c88625081040 --- /dev/null +++ b/man/man1/ssh2rpd.1 @@ -0,0 +1,64 @@ +.\" +.\" $Id: ssh2rpd.1,v 1.3 2002/07/31 20:45:10 rdm Exp $ +.\" +.TH SSH2RPD 1 "Version 3" "ROOT" +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +ssh2rpd \- ROOT utility to help in authentication +.SH SYNOPSIS +.B ssh2rpd +.I arg1 arg2 +.SH "DESCRIPTION" +Do know what to write here. +.SH OPTIONS +.TP +.B --help +Gives a short list of options avaliable, and exit +.SH "SEE ALSO" +\fIroot\fR(1), \fIrootd\fR(1) +.PP +See also the \fBROOT\fR webpages: +.US http://root.cern.ch +\fIhttp://root.cern.ch\fR +.UE +.SH "ORIGINAL AUTHORS" +The ROOT team (see web page above): +.RS +\fBRene Brun\fR and \fBFons Rademakers\fR +.RE +.SH "COPYRIGHT" +\fBROOT\fR Software Terms and Conditions +.PP +The authors hereby grant permission to use, copy, and distribute this +software and its documentation for any purpose, provided that existing +copyright notices are retained in all copies and that this notice is +included verbatim in any distributions. Additionally, the authors grant +permission to modify this software and its documentation for any purpose, +provided that such modifications are not distributed without the explicit +consent of the authors and that existing copyright notices are retained in +all copies. Users of the software are asked to feed back problems, benefits, +and/or suggestions about the software to the ROOT Development Team +(rootdev@root.cern.ch). Support for this software - fixing of bugs, +incorporation of new features - is done on a best effort basis. All bug +fixes and enhancements will be made available under the same terms and +conditions as the original software, +.PP +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, +EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.PP +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS +PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. +.SH AUTHOR +This manual page was written by Christian Holm Christensen +<cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by +others). +.\" +.\" EOF +.\" diff --git a/man/man1/xrootd.1 b/man/man1/xrootd.1 new file mode 100644 index 0000000000000000000000000000000000000000..41cea11e738abcdfc778b7125e1ced9605462a4a --- /dev/null +++ b/man/man1/xrootd.1 @@ -0,0 +1,425 @@ +.\" +.\" $Id: rootd.1,v 1.2 2004/12/15 12:37:43 rdm Exp $ +.\" +.TH XROOTD 1 "Version 4" "ROOT" +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +xrootd \- The eXtended ROOT file server daemon +.SH SYNOPSIS +.B xrootd +.I [options] [exported directories] +.SH "DESCRIPTION" +This manual page documents briefly the +.BR xrootd +program. +.PP +.B xrootd +is a +.B ROOT +remote file server daemon. +.SH STARTING XROOTD +The simplest possible setup is one server and one or more clients: +.sp 1 +.RS +.nf + +-- kan001 -----------+ ++-----------+ +--------+ +---------+ | +| Client |------->| Server | | Storage | | +| TXNetFile | | xrootd |--| /data |-+ ++-----------+ +--------+ +---------+ + +.fi +.RE +.sp 1 +As with the original +.BR rootd (1) +server, this is relatively easy to setup. You can start it as: +.sp 1 +.RS +.nf +kan001> xrootd +.fi +.RE +.sp 1 +Unlike the +.BR rootd server (1), +this doesn't immediately go into background, but in fact produces some +amount of logging information. +.PP +Using some +.B xrootd +client application, you should be able to access a file on the server +using the same syntax as with +.BR TNetFile / rootd , +for example: +.sp 1 +.RS +.nf +root://kan001//tmp/mydatafile.root +.fi +.RE +.sp 1 +From a client-side application such as a ROOT interactive session, you +should be able to open the file and perform operations on it: +.sp 1 +.RS +.nf +root [1] myfile = TFile::Open("root://kan001//tmp/mydatafile.root"); +root [2] myfile->ls(); +XTNetFile** root://kan001//tmp/mydatafile.root + XTNetFile* root://kan001//tmp/mydatafile.root + KEY: TF1 fooHist;1 gaus + KEY: TF1 barHist;1 gaus +root [3] myfile->Close(); +root [4] .q +.fi +.RE +.sp 1 +.SH ACCESSING AREAS OTHER THAN /tmp +One important difference from +.BR rootd (1) +is that +.B xrootd +by default only allows one to access files in +.IR /tmp . +This is for security reasons so that a running +.B xrootd +does not give remote clients access to read (or write to!) everything +visible as +.BR xrootd . +.PP +A client accessing an area which is not explicitly exported by +.B xrootd e.g., +.I root://kan001//data/mydatafile.root +will get an error. +.PP +You must specify explicitly any directories you wish to export via +.BR xrootd . +This can be done on the command line when starting +.BR xrootd , +for example: +.sp 1 +.RS +.nf +kan001> xrootd /data +.fi +.RE +.sp 1 +will export the +.I /data +directory. + + +.SH MULTIPLE SERVERS +Often it is the case that the data that an application wants to access +is spread over multiple data servers. +.PP +The client application thus needs to know (or determine from some +external source) on which server any given data file is located. It +can then access those files directly with URL's like: +.sp 1 +.RS +.nf +root://kan001//data/aaaFile.root +root://kan002//data/bbbFile.root +.fi +.RE +.sp 1 +While this may work for small systems with few users, it has some +disadvantages: +.IP +If users know statically where files are located it doesn't easily +permit load balancing by moving files between servers or by +replicating them to spread the load. +.IP +If an external catalog is read by the client in order to determine +which server has the file, any changes to that catalog must be +synchronized with what actually happens to the files on disk. +.IP +If the file isn't actually on disk, but is retrieved from somewhere +else when the client asks for it (e.g. mass storage, discussed in +later examples), there is no easy way to manage the disk space to +insure that it is used efficiently and uniformly. +.PP +The \fBxrootd\fR system provides a method for solving these problems +via its \fIopen load balancer\fR component. This provides a method for +providing transparent access data servers. +.sp 1 +.RS +.nf + +-- kan001 ----------------+ + | +--------+ +---------+ | + +--->| Server | | Storage | | + + kanrdr + | | | olbd | | /data | | ++-----------+ +--------+ | | +--| xrootd |--| |-+ +| Client |--->| Server |------+ +--------+ +---------+ +| TXNetFile | | xrootd | | | ++-----------+ | olbd |---+ | +-- kan002 ----------------+ + +--------+ | | +--------+ +---------+ | + +--->| Server | | Storage | | + | | | olbd | | /data | | + | +--| xrootd |--| |-+ + | +--------+ +---------+ + | + ... +.fi +.RE +.sp 1 +In addition to the dataservers an additional machine (the +\fIredirector\fR - \fBkanrdr\fR above) is added. It does not need to +have any disk space itself as its sole role is to redirect the client +dynamically to an actual data server machine which can serve the +requested file. Thus client applications open all files via the +redirector \fBkanrdr\fR: +.sp 1 +.RS +.nf +root://kanrdr//data/aaaFile.root +root://kanrdr//data/bbbFile.root +.fi +.RE +.sp 1 +The redirection to the appropriate dataserver will take place +automatically (with the proper server configuration, discussed below) +and hence the user running the application doesn't need to know +anything about the actual layout of the data over the data +servers. Note also that after redirection the client is reading +directly from the data server to which it was redirected. It does need +the redirector any longer (at least until it needs to open a different +file). +.PP +To accomplish this a second daemon, the \fBolbd\fR, must be started on +both the redirector and each of the dataservers as show in the figure +above. Configuration of an \fBxrootd\fI/\fBolbd\fR system +.SH OPTIONS +.TP +\fB\-l\fR \fIlogfile\fR +The primary advantage of using this option as opposed to simply +redirecting the output to a file is that there is also a feature which +does automatic log file rotation. At midnight each night +\fBxrootd\fR will move the current \fIlogfile\fR to +\fIlogfile.yyyymmdd\fR and then continue writing to \fIlogfile\fR. +.TP +\fB-p\fR \fIport\fR +As with \fBrootd\fR(1), \fBxrootd\fR will started automatically on the +IANA assigned port number 1094. If you need to start it on another +port, that can be done using this option. Clients will need to +specify this port when accessing the server, using an URL like +\fIroot://kan001:2525//tmp/mydatafile.root\fR. In general it is +probably simplest to run xrootd on the standard port 1094. +.TP +\fB\-c\fR \fIconfigfile\fR +\fBxrootd\fR can be configured via a config file as well as via +command line options. There are in fact many more options available +via the config file and hence this is the recommended way of starting +\fBxrootd\fR is to use this option. The config file \fIconfigfile\fR +can have configuration directives as described below. +.TP +.B \-r +Flag this server as a redirector. + +.SH CONFIGURATION FILES +A configuration file for \fBxrootd\fR looks like +.sp 1 +.RS +.nf +# Start the server on port 2525 +xrd.port 2525 +# Export files in /data only +xrootd.export /data +.fi +.RE +.sp 1 +in order to achieve (for example) what was done with command line +options in the sections above. Note that lines beginning with \fB#\fR +are taken to be comments and ignored. For the moment we just note that +all config lines are of the form: +.sp 1 +.RS +.nf +\fIconfigclass\fR.\fIoption\fR [\fIoptval1\fR] [\fIoptval2\fR] [...] +.fi +.RE +.sp 1 +.PP +It is also important to note that spelling errors in either +\fIconfigclass\fR or \fIoption\fR will result in the entire line being +(silently) ignored. +.PP +.B Read-only data access +.br +An important thing to note about \fBxrootd\fR access to files is that +by default it allows any accessed file to be opened in update mode +(and/or new files to be created). For many situations this is +undesirable: the goal is simply to make data files available for +others to read. The easiest thing to do in that case is simply to +disallow all write access. To do this you need to add two lines to +your config file: +.sp 1 +.RS +.nf +xrootd.fslib /opt/xrootd/lib/libXrdOfs.so +oss.readonly +.fi +.RE +.sp 1 +in your configuration file. The first of these will cause the shared +library for the optional ofs/oss file layer to be loaded (the exact +path the \fIlib\fR area will depend on how you installed +\fBxrootd\fR). This shared library provides a number of filesystem +extensions. The second line disallows all write/update access using +one of these options. +.PP +More fine-grained configurations are possible, but globally +disallowing writes like this should cover a common use case. +.PP +.B Multiple servers +.br +As an example we take a redirector (called \fBkanrdr\fR) and two data +servers (called \fBkan001\fR and \fBkan002\fR) with files +\fBaaaFile.root\fR and \fBbbbFile.root\fR as above. +.PP +For the redirector we use a config file: +.sp 1 +.RS +.nf +# +# redirector.cf +# +# xrootd +xrootd.fslib /opt/xrootd/lib/libXrdOfs.so +xrootd.export /data +odc.manager kanrdr 3121 +odc.trace redirect +# olbd +olb.port 3121 +olb.allow host kanrdr.slac.stanford.edu +olb.allow host kan001.slac.stanford.edu +olb.allow host kan002.slac.stanford.edu +.fi +.RE +.sp 1 +and for the data servers we use: +.sp 1 +.RS +.nf +# +# dataserver.cf +# +# xrootd +xrootd.fslib /opt/xrootd/lib/libXrdOfs.so +xrootd.export /data +oss.readonly +odc.manager kanrdr 3121 +# olbd +olb.port 3121 +olb.subscribe kanrdr 3121 +.fi +.RE +.sp 1 +As in the earlier examples, the actual path the to the \fBlibXrdOfs.so\fR +may depend on your installation. (And you should obviously substitute +your machine names for \fBkanrdr\fR/\fBkan001\fR/\fBkan002\fR.) +.PP +It is then possible to start the \fBxrootd\fR and \fBolbd\fR servers +on each of the machines. +.PP +On dataserver kan001: +.sp 1 +.RS +.nf +xrootd \-l kan001.xrdlog -c dataserver.cf & +olbd -s \-l kan001.olblog -c dataserver.cf & +.fi +.RE +.sp 1 +On dataserver kan002: +.sp 1 +.RS +.nf +xrootd \-l kan002.xrdlog -c dataserver.cf & +olbd -s \-l kan002.olblog -c dataserver.cf & +.fi +.RE +.sp 1 +And on the redirector kanrdr: +.sp 1 +.RS +.nf +xrootd -r \-l kanrdr.xrdlog -c redirector.cf & +olbd -m \-l kanrdr.olblog -c redirector.cf & +.fi +.RE +.sp 1 +This should give you a working system capable of providing (readonly) +access to data files on two servers transparently masqueraded behind a +single redirector machine. +.PP +.B Testing the example load balanced system +.br +Once the system is running we can try to open one of the files, for +example: +.sp 1 +.RS +.nf +root [1] myfile = TFile::Open("root://kanrdr//data/aaafile.root"); +root [2] myfile->ls(); +XTNetFile** root://kanrdr//data/aaafile.root + XTNetFile* root://kanrdr//data/aaafile.root + KEY: TF1 fooHist;1 gaus + KEY: TF1 barHist;1 gaus +.fi +.RE +.sp 1 +Your client will be redirected and connect itself to \fBkan001\fR, the +actual location of the requested file. +.SH "SEE ALSO" +\fIrootd\fR(1), \fIproofd\fR(1), \fIsystem.rootdaemonrc\fR(1) +.PP +See also +.I http://xrootd.slac.stanford.edu +for more on the extended \fBROOT\fR server. +.PP +For more information on the \fBROOT\fR system, please refer to +.US http://root.cern.ch/ +.I http://root.cern.ch +.UE +.SH "ORIGINAL AUTHORS" +The ROOT team (see web page above): +.RS +.B Rene Brun +and +.B Fons Rademakers +.RE +.SH "COPYRIGHT" +ROOT Software Terms and Conditions +.PP +The authors hereby grant permission to use, copy, and distribute this +software and its documentation for any purpose, provided that existing +copyright notices are retained in all copies and that this notice is +included verbatim in any distributions. Additionally, the authors grant +permission to modify this software and its documentation for any purpose, +provided that such modifications are not distributed without the explicit +consent of the authors and that existing copyright notices are retained in +all copies. Users of the software are asked to feed back problems, benefits, +and/or suggestions about the software to the ROOT Development Team +(rootdev@root.cern.ch). Support for this software - fixing of bugs, +incorporation of new features - is done on a best effort basis. All bug +fixes and enhancements will be made available under the same terms and +conditions as the original software, +.PP +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT +OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, +EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.PP +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS +PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO +OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. +.SH AUTHOR +This manual page was originally written by Christian Holm Christensen +<cholm@nbi.dk>, for the Debian GNU/Linux system and ROOT version 3. diff --git a/mysql/Module.mk b/mysql/Module.mk index 70bdde55c23757f17cfda1ae8b58c8a5c70e7152..8a337fdbab5661c4644fa6f73c60d5b747208ebc 100644 --- a/mysql/Module.mk +++ b/mysql/Module.mk @@ -46,7 +46,7 @@ $(MYSQLDS): $(MYSQLH) $(MYSQLL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(MYSQLH) $(MYSQLL) $(MYSQLDO): $(MYSQLDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(MYSQLINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(MYSQLINCDIR:%=-I%) -I. -o $@ -c $< all-mysql: $(MYSQLLIB) @@ -68,4 +68,4 @@ distclean:: distclean-mysql ##### extra rules ###### $(MYSQLO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(MYSQLINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(MYSQLINCDIR:%=-I%) -o $@ -c $< diff --git a/net/Module.mk b/net/Module.mk index 9251d9348614bfd564735f92f581ef085c1f628e..4a0bda506c54507150446d82c32512d310ab8b35 100644 --- a/net/Module.mk +++ b/net/Module.mk @@ -32,7 +32,7 @@ DAEMONUTILSO := $(MODDIRS)/DaemonUtils.o # Add SSL flags, if required ifneq ($(SSLLIB),) -SSLFLAGS := -I$(SSLINCDIR) +SSLFLAGS := $(SSLINCDIR:%=-I%) ifneq ($(CRYPTLIBS),) CRYPTLIBS += $(SSLLIBDIR) $(SSLLIB) else diff --git a/netx/Module.mk b/netx/Module.mk index 3055cb3a845abefe0775718e97c443f57cc20398..3fb7fb74f66dc02b2cd76fd1ffb412247b596be7 100644 --- a/netx/Module.mk +++ b/netx/Module.mk @@ -34,7 +34,7 @@ ALLLIBS += $(NETXLIB) INCLUDEFILES += $(NETXDEP) # Xrootd includes -NETXINCEXTRA := -I$(XROOTDDIRI) +NETXINCEXTRA := $(XROOTDDIRI:%=-I%) ##### local rules ##### include/%.h: $(NETXDIRI)/%.h diff --git a/pgsql/Module.mk b/pgsql/Module.mk index 89bf32122a5a9b06e98b12d6ba9d111a64b46fc5..aa3298e3809188569f96d78b9482246f3d22fd76 100644 --- a/pgsql/Module.mk +++ b/pgsql/Module.mk @@ -46,7 +46,7 @@ $(PGSQLDS): $(PGSQLH) $(PGSQLL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(PGSQLH) $(PGSQLL) $(PGSQLDO): $(PGSQLDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(PGSQLINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(PGSQLINCDIR:%=-I%) -I. -o $@ -c $< all-pgsql: $(PGSQLLIB) @@ -68,4 +68,4 @@ distclean:: distclean-pgsql ##### extra rules ###### $(PGSQLO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(PGSQLINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(PGSQLINCDIR:%=-I%) -o $@ -c $< diff --git a/pyroot/Module.mk b/pyroot/Module.mk index 839ba8c75e9c421ce79a1e4f2bc11cb472b18417..f908d4a0265c57bad3660e2b4cc385344e25d366 100644 --- a/pyroot/Module.mk +++ b/pyroot/Module.mk @@ -86,4 +86,4 @@ distclean:: distclean-pyroot ##### extra rules ###### $(PYROOTO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(PYTHONINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(PYTHONINCDIR:%=-I%) -o $@ -c $< diff --git a/qt/Module.mk b/qt/Module.mk index d7b204d8e97e2b06f891eec153b6d711530823b1..29d3e7a9ac2a6e8cd06e434f410071de231d35a1 100644 --- a/qt/Module.mk +++ b/qt/Module.mk @@ -11,9 +11,6 @@ GQTDIR := $(MODDIR) GQTDIRS := $(GQTDIR)/src GQTDIRI := $(GQTDIR)/inc -# better detect directly in ./configure -QTMOCEXE := $(QTINCDIR)/../bin/moc - ##### libGQt ##### GQTL := $(MODDIRI)/LinkDef.h GQTDS := $(MODDIRS)/G__GQt.cxx @@ -35,7 +32,7 @@ GQTMOCO := $(GQTMOC:.cxx=.o) GQTDEP := $(GQTO:.o=.d) $(GQTDO:.o=.d) -GQTCXXFLAGS := -DQT_DLL -DQT_THREAD_SUPPORT -I. -I$(QTINCDIR) +GQTCXXFLAGS := -DQT_DLL -DQT_THREAD_SUPPORT -I. $(QTINCDIR:%=-I%) GQTLIB := $(LPATH)/libGQt.$(SOEXT) diff --git a/rfio/Module.mk b/rfio/Module.mk index 6d4765fb38ae192e7034fafdcfb8f0f59ec07157..e779d36f8063c967810deef024da21afc65cfc28 100644 --- a/rfio/Module.mk +++ b/rfio/Module.mk @@ -69,8 +69,8 @@ distclean:: distclean-rfio ##### extra rules ###### $(RFIOO): %.o: %.cxx ifeq ($(PLATFORM),win32) - $(CXX) $(OPT) $(CXXFLAGS) -D__INSIDE_CYGWIN__ -I$(SHIFTINCDIR) \ + $(CXX) $(OPT) $(CXXFLAGS) -D__INSIDE_CYGWIN__ $(SHIFTINCDIR:%=-I%) \ -o $@ -c $< else - $(CXX) $(OPT) $(CXXFLAGS) -I$(SHIFTINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(SHIFTINCDIR:%=-I%) -o $@ -c $< endif diff --git a/rpdutils/Module.mk b/rpdutils/Module.mk index 18a2e597dcaae5fb83bb6db4053956945c74710a..defc865abfbfa38121a4ea5b4071c8364e4d3624 100644 --- a/rpdutils/Module.mk +++ b/rpdutils/Module.mk @@ -38,19 +38,19 @@ endif # use SRP for authentication ifneq ($(SRPLIB),) -SRPFLAGS := -I$(SRPINCDIR) +SRPFLAGS := $(SRPINCDIR:%=-I%) SRPLIBS := $(SRPLIBDIR) $(SRPLIB) endif # use krb5 for authentication ifneq ($(KRB5LIB),) -KRB5FLAGS := -I$(KRB5INCDIR) +KRB5FLAGS := $(KRB5INCDIR:%=-I%) KRB5LIBS := $(KRB5LIBDIR) $(KRB5LIB) endif # use Globus for authentication ifneq ($(GLOBUSLIB),) -GLBSFLAGS := -I$(GLOBUSINCDIR) +GLBSFLAGS := $(GLOBUSINCDIR:%=-I%) GLBSLIBS := $(GLOBUSLIBDIR) $(GLOBUSLIB) SRVAUTHS += $(MODDIRS)/globus.cxx SRVAUTHO += $(MODDIRS)/globus.o diff --git a/ruby/Module.mk b/ruby/Module.mk index accee97db9615c7662bc893a96c7900de863e6a6..97f5ca01e30abefdfba3d4ffd38c89b770381fe0 100644 --- a/ruby/Module.mk +++ b/ruby/Module.mk @@ -69,4 +69,4 @@ distclean:: distclean-ruby ##### extra rules ###### $(RUBYROOTO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(RUBYINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(RUBYINCDIR:%=-I%) -o $@ -c $< diff --git a/sapdb/Module.mk b/sapdb/Module.mk index bc91e2e0b036daafd1ad14dfb57217e91284f0ae..3db7431e6f2de3f13ad373b78c7e9a3940f239ad 100644 --- a/sapdb/Module.mk +++ b/sapdb/Module.mk @@ -46,7 +46,7 @@ $(SAPDBDS): $(SAPDBH) $(SAPDBL) $(ROOTCINTTMP) $(ROOTCINTTMP) -f $@ -c $(SAPDBH) $(SAPDBL) $(SAPDBDO): $(SAPDBDS) - $(CXX) $(NOOPT) $(CXXFLAGS) -I$(SAPDBINCDIR) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(CXXFLAGS) $(SAPDBINCDIR:%=-I%) -I. -o $@ -c $< all-sapdb: $(SAPDBLIB) @@ -68,4 +68,4 @@ distclean:: distclean-sapdb ##### extra rules ###### $(SAPDBO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(SAPDBINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(SAPDBINCDIR:%=-I%) -o $@ -c $< diff --git a/srputils/Module.mk b/srputils/Module.mk index 6918c42d96f420796c97339c157db4ad07015d05..624dbe9a777e5215674e7b16dee9f3971f025e0b 100644 --- a/srputils/Module.mk +++ b/srputils/Module.mk @@ -74,12 +74,12 @@ distclean:: distclean-srputils ##### extra rules ###### $(SRPUTILSO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(SRPINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(SRPINCDIR:%=-I%) -o $@ -c $< $(RPASSWDO): $(RPASSWDS) - $(CC) $(OPT) $(CFLAGS) -I$(SRPUTILINCDIR) -I$(SRPINCDIR) \ + $(CC) $(OPT) $(CFLAGS) $(SRPUTILINCDIR:%=-I%) $(SRPINCDIR:%=-I%) \ -o $@ -c $< $(RTCONFO): $(RTCONFS) - $(CC) $(OPT) $(CFLAGS) -I$(SRPUTILINCDIR) -I$(SRPINCDIR) \ + $(CC) $(OPT) $(CFLAGS) $(SRPUTILINCDIR:%=-I%) $(SRPINCDIR:%=-I%) \ -o $@ -c $< diff --git a/win32gdk/Module.mk b/win32gdk/Module.mk index 4b82ab89c92b13b5d72142b73c311ea09746d103..f2a6276b17a22941ca9431d0412044e654f24e01 100644 --- a/win32gdk/Module.mk +++ b/win32gdk/Module.mk @@ -81,15 +81,15 @@ $(WIN32GDKLIB): $(WIN32GDKO) $(WIN32GDKDO) $(FREETYPELIB) $(GDKLIB) $(GDKDLL) \ @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \ "$(SOFLAGS)" libWin32gdk.$(SOEXT) $@ \ "$(WIN32GDKO) $(WIN32GDKDO)" \ - "$(FREETYPELIB) $(GDKLIB) $(WIN32GDKLIBEXTRA)" + "$(FREETYPELDFLAGS) $(FREETYPELIB) $(GDKLIB) $(WIN32GDKLIBEXTRA)" $(WIN32GDKDS): $(WIN32GDKH1) $(WIN32GDKL) $(ROOTCINTTMP) @echo "Generating dictionary $@..." $(ROOTCINTTMP) -f $@ -c $(WIN32GDKH1) $(WIN32GDKL) $(WIN32GDKDO): $(WIN32GDKDS) $(FREETYPELIB) - $(CXX) $(NOOPT) $(CXXFLAGS) -I. -I$(FREETYPEDIRI) \ - -I$(WIN32GDKDIR)/gdk/src -I$(GDKDIRI) -I$(GLIBDIRI) \ + $(CXX) $(NOOPT) $(CXXFLAGS) -I. $(FREETYPEINC) \ + -I$(WIN32GDKDIR)/gdk/src $(GDKDIRI:%=-I%) $(GLIBDIRI:%=-I%) \ -o $@ -c $< all-win32gdk: $(WIN32GDKLIB) @@ -117,6 +117,6 @@ distclean:: distclean-win32gdk ##### extra rules ##### $(WIN32GDKO1): %.o: %.cxx $(FREETYPELIB) - $(CXX) $(OPT) $(CXXFLAGS) -I$(FREETYPEDIRI) \ - -I$(WIN32GDKDIR)/gdk/src -I$(GDKDIRI) -I$(GLIBDIRI) \ + $(CXX) $(OPT) $(CXXFLAGS) $(FREETYPEINC) \ + -I$(WIN32GDKDIR)/gdk/src $(GDKDIRI:%=-I%) $(GLIBDIRI:%=-I%) \ -o $@ -c $< diff --git a/x11ttf/Module.mk b/x11ttf/Module.mk index 88147946b5ef09d9d89d2d11d6e4aa767b6b0d8b..7769da3f18a7f8c55a475394581fcc68d77637e8 100644 --- a/x11ttf/Module.mk +++ b/x11ttf/Module.mk @@ -40,14 +40,14 @@ $(X11TTFLIB): $(X11TTFO) $(X11TTFDO) $(FREETYPELIB) $(MAINLIBS) $(X11TTFLIBDEP @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \ "$(SOFLAGS)" libGX11TTF.$(SOEXT) $@ \ "$(X11TTFO) $(X11TTFDO)" \ - "$(FREETYPELIB) $(X11TTFLIBEXTRA) $(XLIBS)" + "$(FREETYPELDLFAGS) $(FREETYPELIB) $(X11TTFLIBEXTRA) $(XLIBS)" $(X11TTFDS): $(X11TTFH) $(X11TTFL) $(ROOTCINTTMP) @echo "Generating dictionary $@..." $(ROOTCINTTMP) -f $@ -c $(X11TTFH) $(X11TTFL) $(X11TTFDO): $(X11TTFDS) $(FREETYPELIB) - $(CXX) $(NOOPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -I. -o $@ -c $< + $(CXX) $(NOOPT) $(FREETYPEINC) $(CXXFLAGS) -I. -o $@ -c $< all-x11ttf: $(X11TTFLIB) @@ -69,4 +69,4 @@ distclean:: distclean-x11ttf ##### extra rules ###### $(X11TTFO): %.o: %.cxx $(FREETYPELIB) - $(CXX) $(OPT) -I$(FREETYPEDIRI) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(OPT) $(FREETYPEINC) $(CXXFLAGS) -o $@ -c $< diff --git a/xmlparser/Module.mk b/xmlparser/Module.mk index 29e8b9c9b540552665db320200df231094c49179..b5fc8d949f37b9835c0966461732fcf516667ade 100644 --- a/xmlparser/Module.mk +++ b/xmlparser/Module.mk @@ -70,4 +70,4 @@ distclean:: distclean-xmlparser ##### extra rules ###### $(XMLPARSERO): %.o: %.cxx - $(CXX) $(OPT) $(CXXFLAGS) -I$(XMLINCDIR) -o $@ -c $< + $(CXX) $(OPT) $(CXXFLAGS) $(XMLINCDIR:%=-I%) -o $@ -c $< diff --git a/xrootd/Module.mk b/xrootd/Module.mk index ea979b3727f575dc8da2c20fe5beb7eab03e140c..cf03e7b6bcab74d7ca5097408f1cd1b222e4370f 100644 --- a/xrootd/Module.mk +++ b/xrootd/Module.mk @@ -29,7 +29,7 @@ XROOTDA := $(XROOTDDIRD)/bin/xrootd XOLBD := bin/olbd XROOTD := bin/xrootd -ALLEXECS += $(XROOTD) +ALLEXECS += $(XROOTD) $(XOLBD) ##### local rules ##### $(XROOTD): $(XROOTDA)