| 1 | schorsch | 1.1 | Platform configuration files for SCons based build procedure. | 
| 2 |  |  |  | 
| 3 |  |  |  | 
| 4 |  |  | <platform>.cfg | 
| 5 |  |  | -------------- | 
| 6 |  |  |  | 
| 7 |  |  | The <platform>.cfg files in this directory are use to determine | 
| 8 |  |  | the right settings, libraries, source files etc. on the platform | 
| 9 |  |  | where you are building Radiance. The build system will select the | 
| 10 |  |  | right file automatically. | 
| 11 |  |  |  | 
| 12 |  |  | If your platform isn't supported yet, then you can create a new | 
| 13 |  |  | file with an appropriat name (SCons will tell you what it | 
| 14 |  |  | expects). Usually, you will start by copying the file of the most | 
| 15 |  |  | similar suupported platform. | 
| 16 |  |  |  | 
| 17 |  |  | On unix based platforms without a specific config file, the file | 
| 18 |  |  | "posix.cfg" will be used (which may or may not work well enough). | 
| 19 |  |  |  | 
| 20 |  |  |  | 
| 21 |  |  | <platform>_custom.cfg | 
| 22 |  |  | --------------------- | 
| 23 |  |  |  | 
| 24 |  |  | If you want to experiment with changes to the shipped file, then | 
| 25 |  |  | you can create a copy named <platform>_custom.cfg, and make your | 
| 26 |  |  | changes there. If such a file exists, then it will be used in | 
| 27 |  |  | place of the original. | 
| 28 |  |  |  | 
| 29 |  |  |  | 
| 30 |  |  | Contents and format | 
| 31 |  |  | ------------------- | 
| 32 |  |  |  | 
| 33 |  |  | Any text starting with a hash character (#) until the end of the | 
| 34 |  |  | line is ignored as a comment. | 
| 35 |  |  |  | 
| 36 |  |  | A config file consists of several sections, each of which is | 
| 37 |  |  | introduced by a keyword in brackets. | 
| 38 |  |  | Within each section, a configuration directive starts with a | 
| 39 |  |  | keyword and a colon, followed by the specific instructions. | 
| 40 |  |  |  | 
| 41 |  |  |  | 
| 42 |  |  | Sections | 
| 43 |  |  | -------- | 
| 44 |  |  |  | 
| 45 |  |  | [install] # directories where to install the software | 
| 46 |  |  | [build]   # compile and link instruction for production builds | 
| 47 |  |  | [debug]   # compile and link instruction for debug builds | 
| 48 |  |  | [code]    # code compatibility configuration | 
| 49 |  |  |  | 
| 50 |  |  |  | 
| 51 |  |  | Install section | 
| 52 |  |  | --------------- | 
| 53 |  |  |  | 
| 54 |  |  | # The root directory of the Radiance installation | 
| 55 |  |  | RAD_BASEDIR: /home/gm/src/rad/r6b | 
| 56 |  |  |  | 
| 57 |  |  | # The following are relative to RAD_BASEDIR! | 
| 58 |  |  | # The directory for executables | 
| 59 |  |  | RAD_BINDIR:  bin | 
| 60 |  |  | # The directory for support files (.cal, .pic, .fnt, etc.) | 
| 61 |  |  | RAD_RLIBDIR: share/lib | 
| 62 |  |  | # The directory for the manual files | 
| 63 |  |  | RAD_MANDIR:  share/man | 
| 64 |  |  |  | 
| 65 |  |  |  | 
| 66 |  |  | Debug and Build sections | 
| 67 |  |  | ------------------------ | 
| 68 |  |  |  | 
| 69 |  |  | # The same keywords can be used in both, but usually their | 
| 70 |  |  | # assigned values will vary. | 
| 71 |  |  |  | 
| 72 |  |  | # The compiler to use (example: Gnu gcc) | 
| 73 |  |  | CC: gcc | 
| 74 |  |  |  | 
| 75 |  |  | # The directories for C header files (not normally needed). | 
| 76 |  |  | CPPPATH: | 
| 77 |  |  |  | 
| 78 |  |  | # Symbols to define for the preprocessor (example for Cygwin) | 
| 79 |  |  | CPPDEFINES: freebsd HDSUF=.exe | 
| 80 |  |  |  | 
| 81 |  |  | # Flags for the C preprocessor (example | 
| 82 |  |  | CPPFLAGS:  -O2 -Wall -Wno-uninitialized | 
| 83 |  |  |  | 
| 84 |  |  | # Flags for the C compiler (example for debug build) | 
| 85 |  |  | CCFLAGS: -pg | 
| 86 |  |  |  | 
| 87 |  |  | # The directories for required libraris (not normally needed) | 
| 88 |  |  | LIBPATH: | 
| 89 |  |  |  | 
| 90 |  |  | # Flags for the linker (example for debug build on Windows) | 
| 91 |  |  | LINKFLAGS: /debug | 
| 92 |  |  |  | 
| 93 |  |  | # Flags specific to  ezxml.c (example for cygwin/mingw) | 
| 94 |  |  | EZXML_CPPDEFINES: EZXML_NOMMAP | 
| 95 |  |  |  | 
| 96 |  |  | # Where to find an installed libtiff and its include files | 
| 97 |  |  | # (Not needed when on a standard search path) | 
| 98 |  |  | # If no libtiff is found here or on the standard paths, then | 
| 99 |  |  | # Radiance will build its own. | 
| 100 |  |  | TIFFLIB: | 
| 101 |  |  | TIFFINCLUDE: | 
| 102 |  |  |  | 
| 103 |  |  |  | 
| 104 |  |  | The Code section | 
| 105 |  |  | ---------------- | 
| 106 |  |  |  | 
| 107 |  |  | # There should be no need to edit this section in existing | 
| 108 |  |  | # config files. If you create a new file for a yet untested | 
| 109 |  |  | # platform, you may need to ask on the dev-list what might | 
| 110 |  |  | # work best. | 
| 111 |  |  |  | 
| 112 |  |  | RAD_COMPAT:     # theoretically obsolete (src/common/strcmp.c) | 
| 113 |  |  | RAD_MATHCOMPAT: # erf.c floating point error function | 
| 114 |  |  | RAD_ARGSCOMPAT: # fixargv0.c for Windows | 
| 115 |  |  | RAD_NETCOMPAT:  # [win_]netproc.c for ranimate | 
| 116 |  |  | RAD_MLIB:       # usually 'm', or any fastlib available | 
| 117 |  |  | RAD_SOCKETLIB:  # ws_2_32 on Windows (VC links it automatically) | 
| 118 |  |  | RAD_PROCESS:    # our process abstraction and win_popen() | 
| 119 |  |  | RAD_PCALLS:     # more custom process abstraction | 
| 120 |  |  |  |