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

Last change on this file since 1421 was 1336, checked in by ansari, 25 years ago

MAJ fichier README - Reza 16/11/2000

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