ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.116
Committed: Tue May 22 13:07:57 2012 UTC (12 years, 11 months ago) by davidlt
Branch: MAIN
CVS Tags: davidlt_20120614_2147-gcc470, davidlt_20120611_1739-gcc470, CMSSW_6_0_0_pre6Nmix-gcc470, daForCMSSW_6_0_0_pre6Nmix-slc5_amd64_gcc470, davidlt_20120604_1841-60X-gcc470, CMSSW_6_0_0_pre6-gcc470, daForCMSSW_6_0_0_pre6-slc5_amd64_gcc470, davidlt_20120531_1111-60X-gcc470, davidlt_20120529_1110-60X-gcc470, davidlt_20120529_1024-60X-gcc470, davidlt_20120528_1230-60X-gcc470, davidlt_20120525_1144-60X-gcc470, davidlt_test_gcc470_1
Changes since 1.115: +1 -1 lines
Log Message:
Update GEANT4 C++11 mode.

         [1]  [2]  [3]
Before : 2426 2426 2453 external/geant4/9.4. 03-cms2
After  : 2426    0 2453 external/geant4/9.4.p03-cms3

[1] c++/g++ executions w/ '-std=c++0x' or '-std=c++11'
[2] '-ansi' position is after '-std=c++0x' or '-std=c++11'
[3] c++/g++ executions w/o '-std=c++0x' or '-std=c++11'

Those 2453 are make rules generation and linking.

File Contents

# User Rev Content
1 gowdy 1.110 ### RPM external geant4 9.4.p03
2 eulisse 1.11 %define downloadv %(echo %v | cut -d- -f1)
3 dlange 1.74
4 eulisse 1.1 Requires: clhep
5 ratnik 1.69
6 gowdy 1.110 Source0: http://geant4.cern.ch/support/source/%n.%downloadv.tar.gz
7 dlange 1.50
8 davidlt 1.114 Patch0: geant-4.8.2.p01-nobanner
9     Patch1: geant4-9.4.p03-fix-anti-proton-bug
10 davidlt 1.115 Patch2: geant4-9.4.p03-use-CXXFLAGS-env-variable
11    
12     %if "%{?cms_cxxflags:set}" != "set"
13     %define cms_cxxflags -std=c++0x -O2
14     %endif
15 elmer 1.41
16 eulisse 1.1 %prep
17 dlange 1.63 %setup -n %n.%downloadv
18 muzaffar 1.105
19 dlange 1.71 %patch0 -p1
20 davidlt 1.114 %patch1 -p1
21 davidlt 1.115 %patch2 -p1
22    
23 eulisse 1.1 %build
24 elmer 1.40 if [ $(uname) = Darwin ]; then
25     export MACOSX_DEPLOYMENT_TARGET="10.4"
26     fi
27 muzaffar 1.105
28 eulisse 1.1 # Linux? -pthread?
29 eulisse 1.2 touch G4BuildConf.sh
30 davidlt 1.116 echo "export CMS_CXXFLAGS='%{cms_cxxflags}'" >> G4BuildConf.sh
31 sashby 1.16 echo "export OS_ARCH=%{cmsplatf}" >> G4BuildConf.sh
32 eulisse 1.2 #FIXME: is this correct???
33     echo "export G4SYSTEM=$(uname)-g++" >> G4BuildConf.sh
34     echo "export G4INSTALL=%i" >> G4BuildConf.sh
35     echo "export G4BASE=$PWD/source" >> G4BuildConf.sh
36     echo "export G4WORKDIR=$PWD" >> G4BuildConf.sh
37     echo "export G4TMP=$PWD/tmp" >> G4BuildConf.sh
38     echo "export G4LIB=%i/lib" >> G4BuildConf.sh
39     echo "export G4LIB_BUILD_SHARED=1" >> G4BuildConf.sh
40 dlange 1.48 echo "unset G4DEBUG" >> G4BuildConf.sh
41 elmer 1.93 echo "export G4_NO_VERBOSE=1" >> G4BuildConf.sh
42 ratnik 1.69 echo "export CPPVERBOSE=yes" >> G4BuildConf.sh
43 eulisse 1.2
44 eulisse 1.1 # export G4LIB_BUILD_STATIC=1
45     # FIXME: For OS X? export G4NO_OPTIMISE=1 // unset G4OPTIMISE
46     # FIXME: override CERNLIB_PATH?
47    
48 eulisse 1.2 echo "export CLHEP_BASE_DIR=$CLHEP_ROOT" >> G4BuildConf.sh
49 eulisse 1.1
50 eulisse 1.2 echo "export G4USE_STL=1" >> G4BuildConf.sh
51 eulisse 1.1 # export G4USE_G3TOG4=1
52    
53 elmer 1.68 # G4UI_BUILD_TERMINAL_SESSION is the default:
54 eulisse 1.2 echo "export G4UI_BUILD_TERMINAL_SESSION=1" >> G4BuildConf.sh
55 eulisse 1.1 # export G4UI_BUILD_GAG_SESSION=1
56     # export G4UI_BUILD_XAW_SESSION=1
57     # export G4UI_BUILD_XM_SESSION=1
58     # export G4UI_BUILD_WO_SESSION=1
59    
60 eulisse 1.20 # FIXME: this will not work on osx!
61 eulisse 1.2 echo "export OGLHOME=/usr/X11R6" >> G4BuildConf.sh
62 eulisse 1.1 # export OGLLIBS="-L$OGLHOME/lib -lGLU -lGL"
63     # export OGLFLAGS="-I$OGLHOME/include"
64    
65 elmer 1.68 # G4VIS_BUILD_DAWNFILE_DRIVER is the default
66 eulisse 1.2 echo "export G4VIS_BUILD_DAWNFILE_DRIVER=1" >> G4BuildConf.sh
67 eulisse 1.1 # export G4VIS_BUILD_DAWN_DRIVER=1
68     # export G4VIS_BUILD_OPENGLX_DRIVER=1
69     # export G4VIS_BUILD_OPENGLXM_DRIVER=1
70 eulisse 1.21 # echo "export G4VIS_BUILD_VRMLFILE_DRIVER=1" >> G4BuildConf.sh
71     # echo "export G4VIS_BUILD_VRML_DRIVER=1" >> G4BuildConf.sh
72     # echo "export G4VIS_BUILD_RAYTRACER_DRIVER=1" >> G4BuildConf.sh
73 eulisse 1.2 # export G4LIB_BUILD_G3TOG4=1
74 davidlt 1.112 source ./G4BuildConf.sh
75 eulisse 1.1 mkdir -p %i
76     tar -cf - config source | tar -C %i -xf -
77 eulisse 1.26
78 elmer 1.87 make -C $G4BASE global
79     make -C $G4BASE includes
80 eulisse 1.1
81     %install
82 elmer 1.40 case $(uname) in Darwin ) so=dylib ;; * ) so=so ;; esac
83 eulisse 1.2 mkdir -p %i/etc
84     cp G4BuildConf.sh %i/etc
85 elmer 1.40 mv %i/lib/$(uname)-g++/*.$so %i/lib
86 elmer 1.68 # The following file does not appear to exist after this spec file was
87     # switched # to use the subsystem libraries instead of the individual ones,
88     # so comment # it for now
89     #mv %i/lib/$(uname)-g++/libname.map %i/lib
90 sashby 1.17 rm -rf %i/lib/$(uname)-g++
91 eulisse 1.1 # Build already installed into prefix
92 muzaffar 1.105
93 elmer 1.88 # Clean up the sources, which are not needed in the rpm
94     rm -rf %i/source