File: ConfigBase.psiTag

package info (click to toggle)
dmrgpp 6.06-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 113,900 kB
  • sloc: cpp: 80,986; perl: 14,772; ansic: 2,923; makefile: 83; sh: 17
file content (137 lines) | stat: -rw-r--r-- 2,881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
# Format of psiTag files is described in PsimagLite/scripts/PsiTag.pm
#

# Compiler to use. For clang++ see commented out line.
# Note that -mtune=native -march=native should not be
# used if you intend your executable to run in machines
# other than the one your are compiling on
compilerCPP GNU = CXX = g++ -frecord-gcc-switches

compilerCPP CLANG = CXX = clang++

compilerCPPOptions ansi = (

# We're using ansi C++
CPPFLAGS += -pedantic -std=c++11

# Enable warnings and treat warnings as errors
CPPFLAGS += -Wall -Wendif-labels

)

# Treat warnings as errors
# (hdf5 on Ubuntu does not pass this, so it's
# commented out by default now)
compilerCPPOptions Werror = CPPFLAGS += -Werror

# This enables additional debugging
compilerCPPOptions AdditonalDebugging = (
CPPFLAGS += -D_GLIBCXX_DEBUG -D_GLIBCXX_PROFILE
)

# This makes the code use long instead of short integers
uselong = CPPFLAGS +=-DUSE_LONG

# This makes the code use float instead of double
.= CPPFLAGS += -DUSE_FLOAT

# This enables signals
.= CPPFLAGS +=-DUSE_SIGNALS

# This enables gsl support
dependency GSL = (
CPPFLAGS +=-DUSE_GSL
LDFLAGS += -lgsl -lgslcblas
)

# This enables the custom allocator (use only for debugging)
compilerCPPOptions USE_CUSTOM_ALLOCATOR = (
CPPFLAGS += -DUSE_CUSTOM_ALLOCATOR
)

#IoNg needs HDF5 libraries
dependency HDF5 = (
CPPFLAGS += -I/usr/include/hdf5/serial
LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial/
LDFLAGS += -lhdf5_hl_cpp -lhdf5_cpp -lhdf5_hl -lhdf5
)

#This enables boost support that is needed for Ainur
dependency Boost = (
CPPFLAGS += -DUSE_BOOST
)

# This disables debugging
compilerCPPOptions NDEBUG = CPPFLAGS += -DNDEBUG

# Optimization level here
compilerCPPOptions Optimize3 = (
CPPFLAGS += -O3
)

# This enables partial debugging (make sure to comment out previous line)
compilerCPPOptions Symbols3 = (
CPPFLAGS +=   -g3
)

# Here add your lapack and blas libraries or say NO_LAPACK
dependency LAPACK = (
# If on MacOs please say LDFLAGS += -framework Accelerate
LDFLAGS += -llapack
)

dependency BLAS = (
LDFLAGS += -lblas
)

dependency pthreads = (
# Here add -lpthread if threading is needed and also 
# set -DUSE_PTHREADS below
LDFLAGS += -lpthread

# Enable pthreads
CPPFLAGS += -DUSE_PTHREADS
)

# Format of psiTag files is described in PsimagLite/scripts/PsiTag.pm

default compiler = < compilerCPP GNU

addto basics =
flavor basic = (
< default compiler 
< compilerCPPOptions ansi
< dependency HDF5
< dependency LAPACK
< dependency BLAS
< dependency Boost
< addto basics
)

flavor production = (

< flavor basic
< compilerCPPOptions NDEBUG
< compilerCPPOptions Optimize3
< dependency pthreads
)

flavor debug = (

< flavor basic
< compilerCPPOptions Symbols3
< compilerCPPOptions Werror
)

flavor drd = (

< flavor debug
< compilerCPPOptions NDEBUG
< compilerCPPOptions Optimize3
< dependency pthreads
)

flavor helgrind = < flavor drd