diff --git a/Cast/Makefile.am b/Cast/Makefile.am index b53b88e0eec46cfb2dc00d71ab7491e798632924..d6db8e4dbe472c635f7f56ad73901f3f1df15748 100755 --- a/Cast/Makefile.am +++ b/Cast/Makefile.am @@ -12,44 +12,48 @@ bin_SCRIPTS = Cast-config all-local: $(top_builddir)/CLHEP # create temporary CLHEP header tree +# we only copy headers for packages listed in @PACKAGE@-deps # search for header directories in the following order: -# 1. $(top_srcdir)/.. -# 2. $(CLHEPSOURCE_DIR)/CLHEP -# 3. $(CLHEP_DIR)/CLHEP +# 1. $(top_builddir)/this-package +# 2. $(top_builddir)/../other-packages +# 3. $(CLHEPSOURCE_DIR)/CLHEP +# 4. $(CLHEP_DIR)/include/CLHEP # # abs_ => absolute path abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ +COPY_P = @COPY_P@ -$(top_builddir)/CLHEP: - mkdir $(top_builddir)/CLHEP; - cd $(abs_top_builddir); list=`ls $(abs_top_srcdir)/..`; \ +$(top_builddir)/CLHEP: temp-package-dirs + @list="`cat @PACKAGE@-deps | sed s/CLHEP-@PACKAGE@-@VERSION@// | sed s/CLHEP-// | sed s/-@VERSION@//`"; \ for pkg in $$list; do \ - if test -d $(abs_top_srcdir)/../"$$pkg"/"$$pkg"; then \ - (cd $(abs_top_builddir)/CLHEP; mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(abs_top_srcdir)/../$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(abs_top_srcdir)/../$$pkg/$$pkg/$$hdr $$hdr; done; \ - if test -f $(abs_top_builddir)/../"$$pkg"/"$$pkg"/defs.h; then $(LN_S) $(abs_top_builddir)/../$$pkg/$$pkg/defs.h defs.h; fi; \ - if test -f $(abs_top_builddir)/"$$pkg"/defs.h && test ! -e defs.h ; then $(LN_S) $(abs_top_builddir)/$$pkg/defs.h defs.h; fi); \ - fi; done - cd $(abs_top_builddir); \ - if test -n "$(CLHEPSOURCE_DIR)" && test -d $(CLHEPSOURCE_DIR)/CLHEP; then \ - (list=`ls $(CLHEPSOURCE_DIR)/CLHEP`; \ - for pkg in $$list; do cd $(abs_top_builddir)/CLHEP; \ - if test -d $(CLHEPSOURCE_DIR)/CLHEP/"$$pkg"/"$$pkg" && test ! -d "$$pkg"; then \ - (mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $$hdr; done); \ - fi; done); fi - cd $(abs_top_builddir); \ - if test -n "$(CLHEP_DIR)" && test -d $(CLHEP_DIR)/CLHEP; then \ - (list=`ls $(CLHEP_DIR)/CLHEP`; \ - for pkg in $$list; do cd $(abs_top_builddir)/CLHEP; \ - if test -d $(CLHEP_DIR)/CLHEP/"$$pkg"/"$$pkg" && test ! -d "$$pkg"; then \ - (mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(CLHEP_DIR)/CLHEP/$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(CLHEP_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $$hdr; done); \ - fi; done); fi + if test -d "$$pkg" ; then \ + (cd $$pkg && $(MAKE) $(AM_MAKEFLAGS) TEMPDIR=$(abs_top_builddir) install-tmpHEADERS) || exit 1 ; \ + else \ + if test -d ../"$$pkg"/"$$pkg" ; then \ + (cd ../$$pkg/$$pkg && $(MAKE) $(AM_MAKEFLAGS) TEMPDIR=$(abs_top_builddir) install-tmpHEADERS) || exit 1 ; \ + else \ + if test -d $(CLHEPSOURCE_DIR)/CLHEP/"$$pkg"/"$$pkg"; then \ + hdrs=`ls $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg`; \ + for hdr in $$hdrs; do $(COPY_P) $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $(abs_top_builddir)/CLHEP/$$pkg/$$hdr; done; \ + else \ + if test -n "$(CLHEP_DIR)" && test -d $(CLHEP_DIR)/include/CLHEP; then \ + if test -d $(CLHEP_DIR)/include/CLHEP/"$$pkg"; then \ + hdrs=`ls $(CLHEP_DIR)/include/CLHEP/$$pkg`; \ + for hdr in $$hdrs; do $(COPY_P) $(CLHEP_DIR)/include/CLHEP/$$pkg/$$hdr $(abs_top_builddir)/CLHEP/$$pkg/$$hdr; done; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi; \ + done; + +temp-package-dirs: + $(mkinstalldirs) $(abs_top_builddir)/CLHEP; + @list="`cat @PACKAGE@-deps | sed s/CLHEP-@PACKAGE@-@VERSION@// | sed s/CLHEP-// | sed s/-@VERSION@//`"; \ + for pkg in $$list; do \ + $(mkinstalldirs) $(abs_top_builddir)/CLHEP/$$pkg; \ + done; docs: cd doc; $(MAKE) $(AM_MAKEFLAGS) diff --git a/Cast/configure.in b/Cast/configure.in index 26a5f4e0baa239b97f3a151e5ce4b1d048fda3db..849e9d7f2b427b47dbc7fc17597a5e924e28462a 100755 --- a/Cast/configure.in +++ b/Cast/configure.in @@ -31,6 +31,7 @@ AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Cast/Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([Cast-deps]) +AC_CONFIG_FILES([Cast/copy-header.pl], [chmod +x Cast/copy-header.pl]) # Configuration inquiry program/script: AC_CONFIG_FILES([Cast-config], [chmod +x Cast-config]) @@ -50,6 +51,7 @@ AC_SUBST(Cast_CPPFLAGS) AC_SUBST(Cast_LIBS) AC_SUBST(Cast_LDFLAGS) +AC_SUBST(COPY_P) # ---------------------------------------------------------------------- # Supply boilerplate for Cast/defs.h source header: @@ -100,7 +102,7 @@ AH_BOTTOM([#endif // CAST_DEFS_H]) # ---------------------------------------------------------------------- # Locate a C++ compiler: -AC_PROG_CXX(g++ c++ aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC gpp) +AC_PROG_CXX(cl g++ c++ aCC CC cxx cc++ FCC KCC RCC xlC_r xlC gpp) # Use it hereinafter: AC_LANG(C++) @@ -112,64 +114,64 @@ AC_REQUIRE_CPP case "$target" in *-*-win32*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O";; - c++) CXXFLAGS="-O";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="copy -p";; + g++) CXXFLAGS="-O";COPY_P="copy -p";; + c++) CXXFLAGS="-O";COPY_P="copy -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-cygwin*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-solaris*) case "$CXX" in - CC) CXXFLAGS="-O -mt";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -mt";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-linux*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; alpha*-dec-osf*) case "$CXX" in - cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-hpux*) case "$CXX" in - aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";; - CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";COPY_P="cp -p";; + CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-aix*) case "$CXX" in - xlC) CXXFLAGS="-O3 -qtwolink -+";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + xlC) CXXFLAGS="-O3 -qtwolink -+";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-irix*) case "$CXX" in - CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; powerpc-apple-darwin*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; esac @@ -189,6 +191,7 @@ esac # Check for needed header files: # ---------------------------------------------------------------------- +AC_CHECK_HEADERS([sstream]) # ---------------------------------------------------------------------- # Check for needed typedefs, structures, and compiler characteristics: diff --git a/Cast/src/itos.cc b/Cast/src/itos.cc index 52964af8e7661cd5cd747aba6ab44837643e0dba..c28c2c0340da157c6988bafda2a0987482deea5d 100755 --- a/Cast/src/itos.cc +++ b/Cast/src/itos.cc @@ -10,9 +10,13 @@ // ---------------------------------------------------------------------- -#include "CLHEP/Cast/itos.h" - +#include "CLHEP/Cast/defs.h" +#if HAVE_SSTREAM #include <sstream> +#else +#include "CLHEP/Cast/StringStream.h" +#endif +#include "CLHEP/Cast/itos.h" std::string itos( long i ) { diff --git a/ChangeLog b/ChangeLog index 9ec7e5946b9674ef1a989a51def476b797cda73a..9a4411f71e0f1de8cf6279b02abd0cde2a52cef4 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 06 2003 Lynn Garren <garren@fnal.gov> + + * adding ZOOM Exceptions package for FNAL + * adding supporting RefCount and Cast packages + Fri Oct 24 2003 Lynn Garren <garren@fnal.gov> * tagged for CLHEP 2.0.0.0 diff --git a/INSTALL b/INSTALL index 8a4ac242b9759ab5b92308e9a04b6e8514ff80ca..1076d7702018659ccd640f87ac6603f45fb8ebf1 100755 --- a/INSTALL +++ b/INSTALL @@ -9,7 +9,7 @@ top level directory, or you may build any package separately. # about linking #------------------------------------------------------------- -CLHEP builds libraries for each package instead of a single CLHEP library. +CLHEP builds libraries for each package in addition to a single CLHEP library. This alllows you to link with only the necessary parts of CLHEP. We provide a "clheplib" script which gives the list of libraries to link, in the correct order. The script can be embedded in a makefile. @@ -53,6 +53,9 @@ of the options that you are likely to find most useful. [default is the same as PREFIX] --disable-shared build only static libraries --disable-static build only shared libraries + --enable-exceptions use the CLHEP/Exceptions package + --disable-exceptions DO NOT use the CLHEP/Exceptions package + [--disable-exceptions is the default] #------------------------------------------------------------- # building documents diff --git a/Makefile.am b/Makefile.am index eb581cb8d9b094b4a04b47d38b1b4c020b24195e..a2ef1a47a2855c1e34ba4428a7a6c5aae394c847 100755 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,9 @@ includedir = $(prefix)/include/CLHEP -SUBDIRS = Vector Evaluator GenericFunctions Geometry Matrix Random RandomObjects Units Utilities HepPDT HepMC StdHep +SUBDIRS = Units Vector Evaluator GenericFunctions Geometry \ + Random Matrix RandomObjects HepPDT HepMC StdHep \ + RefCount Cast Exceptions bin_SCRIPTS = clheplib @@ -33,7 +35,7 @@ install-docs: done clheplib: build-clheplib - build-clheplib $(SUBDIRS) + ./build-clheplib $(SUBDIRS) install-exec-local: install-LTCLHEPLIB diff --git a/RefCount/Makefile.am b/RefCount/Makefile.am index 20c0b48dee40d1a2de2460c52d5df77c78476848..89121924091f4f36270047fcc6bfbccfa1e7c6b1 100755 --- a/RefCount/Makefile.am +++ b/RefCount/Makefile.am @@ -12,44 +12,48 @@ bin_SCRIPTS = RefCount-config all-local: $(top_builddir)/CLHEP # create temporary CLHEP header tree +# we only copy headers for packages listed in @PACKAGE@-deps # search for header directories in the following order: -# 1. $(top_srcdir)/.. -# 2. $(CLHEPSOURCE_DIR)/CLHEP -# 3. $(CLHEP_DIR)/CLHEP +# 1. $(top_builddir)/this-package +# 2. $(top_builddir)/../other-packages +# 3. $(CLHEPSOURCE_DIR)/CLHEP +# 4. $(CLHEP_DIR)/include/CLHEP # # abs_ => absolute path abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ +COPY_P = @COPY_P@ -$(top_builddir)/CLHEP: - mkdir $(top_builddir)/CLHEP; - cd $(abs_top_builddir); list=`ls $(abs_top_srcdir)/..`; \ +$(top_builddir)/CLHEP: temp-package-dirs + @list="`cat @PACKAGE@-deps | sed s/CLHEP-@PACKAGE@-@VERSION@// | sed s/CLHEP-// | sed s/-@VERSION@//`"; \ for pkg in $$list; do \ - if test -d $(abs_top_srcdir)/../"$$pkg"/"$$pkg"; then \ - (cd $(abs_top_builddir)/CLHEP; mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(abs_top_srcdir)/../$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(abs_top_srcdir)/../$$pkg/$$pkg/$$hdr $$hdr; done; \ - if test -f $(abs_top_builddir)/../"$$pkg"/"$$pkg"/defs.h; then $(LN_S) $(abs_top_builddir)/../$$pkg/$$pkg/defs.h defs.h; fi; \ - if test -f $(abs_top_builddir)/"$$pkg"/defs.h && test ! -e defs.h ; then $(LN_S) $(abs_top_builddir)/$$pkg/defs.h defs.h; fi); \ - fi; done - cd $(abs_top_builddir); \ - if test -n "$(CLHEPSOURCE_DIR)" && test -d $(CLHEPSOURCE_DIR)/CLHEP; then \ - (list=`ls $(CLHEPSOURCE_DIR)/CLHEP`; \ - for pkg in $$list; do cd $(abs_top_builddir)/CLHEP; \ - if test -d $(CLHEPSOURCE_DIR)/CLHEP/"$$pkg"/"$$pkg" && test ! -d "$$pkg"; then \ - (mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $$hdr; done); \ - fi; done); fi - cd $(abs_top_builddir); \ - if test -n "$(CLHEP_DIR)" && test -d $(CLHEP_DIR)/CLHEP; then \ - (list=`ls $(CLHEP_DIR)/CLHEP`; \ - for pkg in $$list; do cd $(abs_top_builddir)/CLHEP; \ - if test -d $(CLHEP_DIR)/CLHEP/"$$pkg"/"$$pkg" && test ! -d "$$pkg"; then \ - (mkdir $$pkg; cd $$pkg; \ - hdrs=`ls $(CLHEP_DIR)/CLHEP/$$pkg/$$pkg`; \ - for hdr in $$hdrs; do $(LN_S) $(CLHEP_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $$hdr; done); \ - fi; done); fi + if test -d "$$pkg" ; then \ + (cd $$pkg && $(MAKE) $(AM_MAKEFLAGS) TEMPDIR=$(abs_top_builddir) install-tmpHEADERS) || exit 1 ; \ + else \ + if test -d ../"$$pkg"/"$$pkg" ; then \ + (cd ../$$pkg/$$pkg && $(MAKE) $(AM_MAKEFLAGS) TEMPDIR=$(abs_top_builddir) install-tmpHEADERS) || exit 1 ; \ + else \ + if test -d $(CLHEPSOURCE_DIR)/CLHEP/"$$pkg"/"$$pkg"; then \ + hdrs=`ls $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg`; \ + for hdr in $$hdrs; do $(COPY_P) $(CLHEPSOURCE_DIR)/CLHEP/$$pkg/$$pkg/$$hdr $(abs_top_builddir)/CLHEP/$$pkg/$$hdr; done; \ + else \ + if test -n "$(CLHEP_DIR)" && test -d $(CLHEP_DIR)/include/CLHEP; then \ + if test -d $(CLHEP_DIR)/include/CLHEP/"$$pkg"; then \ + hdrs=`ls $(CLHEP_DIR)/include/CLHEP/$$pkg`; \ + for hdr in $$hdrs; do $(COPY_P) $(CLHEP_DIR)/include/CLHEP/$$pkg/$$hdr $(abs_top_builddir)/CLHEP/$$pkg/$$hdr; done; \ + fi; \ + fi; \ + fi; \ + fi; \ + fi; \ + done; + +temp-package-dirs: + $(mkinstalldirs) $(abs_top_builddir)/CLHEP; + @list="`cat @PACKAGE@-deps | sed s/CLHEP-@PACKAGE@-@VERSION@// | sed s/CLHEP-// | sed s/-@VERSION@//`"; \ + for pkg in $$list; do \ + $(mkinstalldirs) $(abs_top_builddir)/CLHEP/$$pkg; \ + done; docs: cd doc; $(MAKE) $(AM_MAKEFLAGS) diff --git a/RefCount/RefCount-deps.in b/RefCount/RefCount-deps.in index 615a1c91fd5cbb83b14821496efb22cb7c1bf677..1fc7701bbaf6f3c4fb236c6b4b56f11281046539 100755 --- a/RefCount/RefCount-deps.in +++ b/RefCount/RefCount-deps.in @@ -1 +1,3 @@ CLHEP-@PACKAGE@-@VERSION@ CLHEP-@PACKAGE@-@VERSION@ +CLHEP-@PACKAGE@-@VERSION@ CLHEP-Cast-@VERSION@ +CLHEP-@PACKAGE@-@VERSION@ CLHEP-RefCount-@VERSION@ diff --git a/RefCount/RefCount/Makefile.am b/RefCount/RefCount/Makefile.am index dc5b87a94ba80865dd7f23e6da8b1315bcf7404f..117e04c92ddc7cd5bc456a86e4f3d19afff5425f 100755 --- a/RefCount/RefCount/Makefile.am +++ b/RefCount/RefCount/Makefile.am @@ -1,6 +1,8 @@ ## Process this file with automake to produce Makefile.in includedir = $(prefix)/include/CLHEP +tempincludedir = $(TEMPDIR)/CLHEP/@PACKAGE@ +COPY_P = @COPY_P@ pkginclude_HEADERS = \ ZMhandleTo.h \ @@ -11,3 +13,15 @@ pkginclude_HEADERS = \ # Identify generated file(s) to be removed when 'make clean' is requested: CLEANFILES = defs.h + +# copy headers into $(tempincludedir) +install-tmpHEADERS: + @echo " install headers in $(tempincludedir) " + @list='$(pkginclude_HEADERS)'; \ + if test $(tempincludedir); then \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + ./copy-header.pl $$d$$p $(tempincludedir)/$$f; \ + done; \ + fi; test -z "$$fail" diff --git a/RefCount/RefCount/copy-header.pl.in b/RefCount/RefCount/copy-header.pl.in new file mode 100755 index 0000000000000000000000000000000000000000..f1bad2be7967533f292960cdd30a24f444124810 --- /dev/null +++ b/RefCount/RefCount/copy-header.pl.in @@ -0,0 +1,41 @@ +#!/usr/bin/env perl +# +# copy a header into the temporary CLHEP header tree if +# a) the header is not already there +# b) the source is newer +# + +if ($#ARGV != 1) { + print "mungeit requires two arguments - exit\n"; + exit; +} else { + $source_header=$ARGV[0]; + $dest_header=$ARGV[1]; + &check_header; +} + +exit; + +sub check_header { + # make sure source exists + if ( ! -e $source_header ) { + print "$source_header does not exist - exit\n"; + exit; + } + # copy if not already there - otherwise, check the time stamp + if ( ! -e $dest_header ) { + $cmd = "cp -p ".$source_header." ".$dest_header; + print "$cmd\n"; + system($cmd); + } else { + $source_header_time = -M $source_header; + $dest_header_time = -M $dest_header; + # copy only if source is newer + if( $source_header_time < $dest_header_time ) { + $cmd = "cp -p ".$source_header." ".$dest_header; + print "$cmd\n"; + system($cmd); + } + } +} + diff --git a/RefCount/configure.in b/RefCount/configure.in index 751d61568efa9cd7a21d215cece65e952ed8614f..d801d4b2fac0408ea62d19a8e796d5e70bcfed77 100755 --- a/RefCount/configure.in +++ b/RefCount/configure.in @@ -31,6 +31,7 @@ AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([RefCount/Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([RefCount-deps]) +AC_CONFIG_FILES([RefCount/copy-header.pl], [chmod +x RefCount/copy-header.pl]) # Configuration inquiry program/script: AC_CONFIG_FILES([RefCount-config], [chmod +x RefCount-config]) @@ -47,6 +48,7 @@ AC_SUBST(RefCount_CPPFLAGS) AC_SUBST(RefCount_LIBS) AC_SUBST(RefCount_LDFLAGS) +AC_SUBST(COPY_P) # ---------------------------------------------------------------------- # Supply boilerplate for RefCount/defs.h source header: @@ -97,7 +99,7 @@ AH_BOTTOM([#endif // REFCOUNT_DEFS_H]) # ---------------------------------------------------------------------- # Locate a C++ compiler: -AC_PROG_CXX(g++ c++ aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC gpp) +AC_PROG_CXX(cl g++ c++ aCC CC cxx cc++ FCC KCC RCC xlC_r xlC gpp) # Use it hereinafter: AC_LANG(C++) @@ -109,64 +111,64 @@ AC_REQUIRE_CPP case "$target" in *-*-win32*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O";; - c++) CXXFLAGS="-O";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="copy -p";; + g++) CXXFLAGS="-O";COPY_P="copy -p";; + c++) CXXFLAGS="-O";COPY_P="copy -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-cygwin*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-solaris*) case "$CXX" in - CC) CXXFLAGS="-O -mt";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -mt";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-linux*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; alpha*-dec-osf*) case "$CXX" in - cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-hpux*) case "$CXX" in - aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";; - CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";COPY_P="cp -p";; + CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-aix*) case "$CXX" in - xlC) CXXFLAGS="-O3 -qtwolink -+";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + xlC) CXXFLAGS="-O3 -qtwolink -+";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-irix*) case "$CXX" in - CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; powerpc-apple-darwin*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; esac diff --git a/Utilities/configure.in b/Utilities/configure.in index baa1c990186d4058b419999ca091d2a6802b4fbc..246b537de47dd9d229721edd27d0e23de2eb08c4 100755 --- a/Utilities/configure.in +++ b/Utilities/configure.in @@ -41,6 +41,8 @@ AC_SUBST(Utilities_CPPFLAGS) AC_SUBST(Utilities_LIBS) AC_SUBST(Utilities_LDFLAGS) +AC_SUBST(COPY_P) + # ---------------------------------------------------------------------- # Supply boilerplate for Utilities/defs.h source header: @@ -91,7 +93,7 @@ AH_BOTTOM([#endif // UTILITIES_DEFS_H]) # ---------------------------------------------------------------------- # Locate a C++ compiler: -AC_PROG_CXX(g++ c++ aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC gpp) +AC_PROG_CXX(cl g++ c++ aCC CC cxx cc++ FCC KCC RCC xlC_r xlC gpp) # Use it hereinafter: AC_LANG(C++) @@ -103,64 +105,64 @@ AC_REQUIRE_CPP case "$target" in *-*-win32*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O";; - c++) CXXFLAGS="-O";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="copy -p";; + g++) CXXFLAGS="-O";COPY_P="copy -p";; + c++) CXXFLAGS="-O";COPY_P="copy -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-cygwin*) case "$CXX" in - cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cl) CXXFLAGS="-DWIN32 -O -GX -GR -MD";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-solaris*) case "$CXX" in - CC) CXXFLAGS="-O -mt";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -mt";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-linux*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall -D_GNU_SOURCE";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; alpha*-dec-osf*) case "$CXX" in - cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + cxx) CXXFLAGS="-O -std strict_ansi -timplicit_local";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-hpux*) case "$CXX" in - aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";; - CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + aCC) CXXFLAGS="-O -Aa +DAportable +Onolimit";COPY_P="cp -p";; + CC) CXXFLAGS="+O3 +DAportable +a1 -z -pta +Onolimit";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-aix*) case "$CXX" in - xlC) CXXFLAGS="-O3 -qtwolink -+";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + xlC) CXXFLAGS="-O3 -qtwolink -+";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; *-*-irix*) case "$CXX" in - CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";; - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + CC) CXXFLAGS="-O -OPT:Olimit=0 -pta";COPY_P="cp -p";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; powerpc-apple-darwin*) case "$CXX" in - g++) CXXFLAGS="-O -ansi -pedantic -Wall";; - c++) CXXFLAGS="-O -ansi -pedantic -Wall";; + g++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; + c++) CXXFLAGS="-O -ansi -pedantic -Wall";COPY_P="cp -p";; *) echo UNEXPECTED CHOICE OF C++ COMPILER: $CXX esac;; esac diff --git a/Vector/INSTALL b/Vector/INSTALL index e8a15199d7754f34507ea5de692b5e55a2804774..e9051e343a226844eaa16c6d948c661cc7a19de8 100755 --- a/Vector/INSTALL +++ b/Vector/INSTALL @@ -11,6 +11,11 @@ cd <build_directory> <source_code_direcotry>/configure --prefix=<install_dir> (Note that files will be installed under /usr/local if you do not specify a prefix.) + To use Visual C++: + <source_code_direcotry>/configure --prefix=<install_dir> CXX=cl CC=cl + (You must specify both CXX and CL or configure will attempt to use + gcc/g++ for the unspecified variable. Also, do not use + environmental varialbles.) make (Build temporary copies of libraries and executables.) make check