Commit f4bd85219ec677a6cb69d6ab36bdbad40571fc59
1 parent
a57bb04b
update information for universal builds
Showing
1 changed file
with
51 additions
and
20 deletions
README
| 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 | ... | ... |