Commit f4bd85219ec677a6cb69d6ab36bdbad40571fc59

Authored by knodlseder
1 parent a57bb04b

update information for universal builds

Showing 1 changed file with 51 additions and 20 deletions
1 1 GammaLib information
2 2 ====================
3   -Version: 00-05-00 (October 12, 2011)
4   -Author: Juergen Knodlseder (knodlseder@cesr.fr)
  3 +Version: 00-05-00 (October 19, 2011)
  4 +Author: Juergen Knoedlseder (knodlseder@cesr.fr)
5 5  
6 6  
7 7 License information
... ... @@ -28,14 +28,14 @@ See the files "NEWS" and "ChangeLog".
28 28 What is the GammaLib anyway?
29 29 ============================
30 30 The GammaLib is a versatile toolbox for the high-level analysis of
31   -astronomical gamma-ray data. It is implemented as a C++ library
32   -that is fully scriptable in the Python scripting language. The library
  31 +astronomical gamma-ray data. It is implemented as a C++ library
  32 +that is fully scriptable in the Python scripting language. The library
33 33 provides core functionalities such as data input and output, interfaces
34 34 for parameter specifications, and a reporting and logging interface.
35 35 It implements instruments specific functionalities such as instrument
36   -response functions and data formats. Instrument specific functionalities
  36 +response functions and data formats. Instrument specific functionalities
37 37 share a common interface to allow for extension of the GammaLib to
38   -include new gamma-ray instruments. The GammaLib provides an abstract
  38 +include new gamma-ray instruments. The GammaLib provides an abstract
39 39 data analysis framework that enables simultaneous multi-mission analysis.
40 40  
41 41  
... ... @@ -51,9 +51,9 @@ GammaLib should compile on every modern Unix system without any need
51 51 to install other libraries.
52 52  
53 53 To enable support for FITS file handling, however, the cfitsio library
54   -from HEASARC needs to be installed. cfitsio can be downloaded from
  54 +from HEASARC needs to be installed. cfitsio can be downloaded from
55 55 http://heasarc.gsfc.nasa.gov/fitsio and detailed installation instructions
56   -can be found there. If cfitsio does not already exist on your system,
  56 +can be found there. If cfitsio does not already exist on your system,
57 57 we recommend installation of cfitsio in the default GammaLib install
58 58 directory as a shared library by typing:
59 59  
... ... @@ -64,7 +64,7 @@ directory as a shared library by typing:
64 64 GammaLib can also benefit from the presence of the readline library
65 65 that provides line-editing and history capabilities for text input
66 66 (GammaLib offers however also full functionality without having
67   -readline installed). readline requires the ncurses library. Both
  67 +readline installed). readline requires the ncurses library. Both
68 68 libraries can be downloaded from http://ftp.gnu.org/gnu/.
69 69  
70 70  
... ... @@ -96,19 +96,50 @@ GammaLib was correctly built. Make sure that all tests were successful.
96 96  
97 97 Macintosh OS X Installation
98 98 ============================
99   -GammaLib is known to work on various flavors of OS X. Follow the
100   -Linux installation instructions above.
  99 +GammaLib is known to work on various flavors of OS X. To cope with
  100 +different system versions and architectures, there are two Mac
  101 +specific configure options:
101 102  
102   -In some cases, install problems have been reported with mixed
103   -architectures (i386, ppc, x86_64), so you may configure and build
104   -as follows to enable building a bundle for various architectures:
  103 + % ./configure --enable-universalsdk[=PATH]
105 104  
106   - % export CXXFLAGS="-arch ppc -arch i386 -arch x86_64"
107   - % export LDFLAGS="-arch ppc -arch i386 -arch x86_64"
108   - % ./configure
109   - % make
110   - % make check
111   - % make install
  105 +creates a universal build of GammaLib. The optional argument specifies
  106 +which OSX SDK should be used to perform the build. This defaults to
  107 +"/Developer/SDKs/MacOSX.10.4u.sdk". Specify "/" when building on a 10.5
  108 +system or higher, especially when building 64-bit code.
  109 +
  110 + % ./configure --with-univeral-archs=VALUE
  111 +
  112 +specifies the kind of universal build that should be created. Possible
  113 +values are: "32-bit", "3-way", "intel" or "all". By default, a "32-bit"
  114 +build will be made. This option is only valid when
  115 +"--enable-universalsdk" is specified.
  116 +
  117 +These options are in particular needed if your Python architecture differs
  118 +from the default architecture of your system. To examine the Python
  119 +architecture you may type:
  120 +
  121 + % file `which python`
  122 +
  123 +which will return the architectures that are compiled in the Mach-0
  124 +executable:
  125 +
  126 + i386 32-bit intel
  127 + ppc 32-bit powerpc
  128 + ppc64 64-bit powerpc
  129 + x86_64 64-bit intel
  130 +
  131 +If Python is 32-bit (ppc, i386) but the compiler produces by default
  132 +64-bit code (ppc64, x86_64), the Python module will not work. Using
  133 +
  134 + % ./configure --enable-universalsdk=/
  135 +
  136 +will force a universal 32-bit build which creates code for ppc and
  137 +i386. If on the other hand Python is 64-bit (ppc64, x86_64) but the
  138 +compiler produces by default 32-bit code (ppc, i386), the option
  139 +
  140 + % ./configure --enable-universalsdk=/ --with-univeral-archs=3-way
  141 +
  142 +will generate a universal build which contains 32-bit and 64-bit code.
112 143  
113 144  
114 145 BSD Installation
... ...