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

Last change on this file since 2279 was 2279, checked in by ansari, 23 years ago

MAJ README pour V1.4 Reza 26/11/2002

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