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

Last change on this file since 1504 was 1455, checked in by cmv, 25 years ago

intro module XAstroPack cmv+rz 10/4/2001

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