source: Sophya/trunk/SophyaLib/Mgr/README@ 1330

Last change on this file since 1330 was 1041, checked in by ansari, 25 years ago

MAJ README et correction Makefile , Reza 8/6/2000

File size: 6.3 KB
Line 
1========================== Mgr Module =========================
2========== Code Management scripts for Planck DPC-L2 ==========
3===============================================================
4
5List of modules:
6==================
7
8* Mgr/ Scripts for code management and makefiles
9* SysTools/ General architecture support classes
10* TArray/ Template numerical arrays, vectors and matrices
11* SkyMap/ Local and full sky maps
12* SkyT/ Spectral emission and detector frequency response modelling
13* Samba/ Miscellaneous classes (TOD analysis, Spherical Harmonics, ...)
14* NTools/ Some standard numerical analysis tools
15* HiStats/ Histogram-ming and data set handling classes
16
17Modules using external library
18* FitsIOServer/ FITS format file I/O (interface with cfitsio library)
19* LinAlg/ Interface with Lapack linear algebra package
20* IFFTW/ Interface with FFTW package
21
22
23* Tests/ Simple test programs
24
25* PMixer/ skymixer and utility main programs
26
27* PI/ GUI class library
28* PIext/ specific GUI objects for SOPHYA classes and piapp framework
29* ProgPI/ interactive analysis tool using SOPHYA, PI and PIext
30
31
32Compilation and software installation:
33======================================
34
35The build procedure for the present version of SOPHYA has been
36tested on :
37
38Operating system Compiler
39......................................................................
40Compaq/DEC OSF 4.0 cxx 6.1 (shared-library only)
41Compaq/DEC OSF 4.0 g++ 2.95 (shared-library only)
42SGI CC 7.30 ( " " " )
43Linux KCC 3.4 ( " " " )
44Linux g++ 2.91 (static and shared library)
45Linux g++ 2.95 (static and shared library)
46
47
48The environment variables DPCDEVREP EXTLIBDIR EROSCXX must be defined
49for building and installing the libraries.
50
51$EROSCXX is the name of C++ compiler being used.
52$DPCDEVREP is the path to where the libraries and executables will be put.
53$DPCDEVREP/Include : header files
54The libraries and binaries will be put in subdirectories containing
55the operating system name and the compiler name: `uname`-$EROSCXX
56For example, on a Linux system, using the GNU compiler:
57
58$DPCDEVREP/Linux-g++/Libs archive librarires
59$DPCDEVREP/Linux-g++/ShLibs shared libraries
60$DPCDEVREP/Linux-g++/Exec binaries
61
62The build procedure expects to find the include files and the libraries
63for cfitsio in :
64$EXTLIBDIR/Include/FitsIO
65$EXTLIBDIR/`uname`-$EROSCXX/Libs
66This would translate to Linux-g++ on a Linux system, using g++.
67$EXTLIBDIR/Linux-g++/Libs
68
69Example of c-shell commands to build the libraries:
70The use of GNU make program is mandatory
71
72# We select our C++ compiler
73csh> setenv EROSCXX g++
74# Setup the build directory
75csh> mkdir /usr/local/Sophya/
76csh> setenv DPCDEVREP /usr/local/Sophya/
77csh> setenv EXTLIBDIR /usr/local/ExtLibs/
78
79# Use the top level makefile in Mgr/
80csh> cd $SRC
81csh> cp Mgr/Makefile Makefile
82# Step 1: Create the directory tree and copy the include files (.h)
83csh> make depend
84# Step 2: Compile the modules without external library reference
85csh> make libs
86# Step 3: Compile the modules WITH external library reference (optional)
87csh> make extlibs
88# Step 4: Build libsophya.so
89csh> make slb
90# Step 5: Build libextsophya.so
91csh> make slbext
92# Step 6: Compile the PI and PIext modules (optional)
93csh> make PI
94# Step 7: Build the corresponding shared library libPI.so (optional)
95csh> make slbpi
96
97
98To compile all modules and build the shared libraries, it is possible to use:
99
100# Step 2,3,6
101csh> make all
102# Step 4,5,7
103csh> make slball
104
105The building of shared libraries on SGI can be also done using the script
106mkslbsgi.csh in Mgr/
107
108csh> cp Mgr/mkslbsgi.csh .
109csh> mkslbsgi.csh slball
110
111# To compile test programs
112csh> cd Tests
113csh> make arrt ...
114csh> cd ..
115# To compile other programs, for example from the PMixer module
116csh> cd PMixer
117csh> make
118csh> cd ..
119# To build (s)piapp (libPI.so is needed)
120csh> cd ProgPI
121csh> make
122csh> cd ..
123
124Notes:
125======
1261) We had to build the shared libraries on our SGI system using the
127script (mkslbsgi.csh). The corresponding CC command was not performing
128correctly when issued by the GNU make program
1292) The top level Makefile should be modified if one wishes to use
130static libraries, except for g++. The compiler driver has to be
131invoked for building archive libraries, in order to include
132template instanciation into the archive.
133
134
135
136Scripts in Mgr/ module :
137========================
138
139* chk_cvs.csh : Compares/updates modules using CVS
140 Usage: chk_cvs.csh [-a] [-all] [-nos] [-u] [r]
141 chk_cvs.csh -h for help
142 Example :
143 Cmd> Mgr/chk_cvs.csh -u
144 Updates all modules
145
146* crerep_sophya
147 Creates the directory tree structure :
148 $DEV/BASEREP/Include
149 /OSF1-cxx/
150 /OSF1-cxx/Objs
151 /OSF1-cxx/Libs
152 /OSF1-cxx/ShLibs
153 /OSF1-cxx/Exec/
154 ....
155 Usage: crerep_sophya <nom des repertoires> [nom_machine-compilateur]
156 Example :
157 Cmd> crerep_sophya $DPCDEVREP OSF1-cxx
158 Cmd> crerep_sophya ~/Work/ Linux-g++
159
160* install_sophya
161 Install SOPHYA libraries/include files from dev directory ($DPCDEVREP)
162 to the install ($DPCBASEREP) directory
163 Copy files Include/*.h Libs/*.a ShLibs/*.so Exec/*
164
165 Usage: install_sophya <-s repertoire source> <-d repertoire destination>
166 [-m nom_machine-compilateur]
167 Example
168 Cmd> install_peida -s ~/Work /exp/Planck/DPC
169
170* mkmf
171 Creates a GNUmakefile in each library module and the global
172 GNUmakefile at top level
173
174 Steps :
175 - mkmflien : Creates symbolic links for all header files in $DPCDEVREP/Include
176
177 - mkmflib : Creation of a GNUmakefile in each library module
178
179 - mkmfPI : Creation of a GNUmakefile for PI and PIext module
180
181 - Top level makefile creation
182
183
184* mkmflib
185 Creation of the GNUmakefile for a library module
186 The file exclude in the module directory may contain the
187 list of source files (.cc .c) not to be compiled.
188 Usage: mkmflib ModuleName
189
190* mkmfprog
191 Creation of the GNUmakefile for a module containing
192 the main programs
193 Usage: mkmfprog ProgModuleName
194
195
196
Note: See TracBrowser for help on using the repository browser.