|     45 			'C:\\Python%c%c' % (sys.version[0], sys.version[2])), |     45 			'C:\\Python%c%c' % (sys.version[0], sys.version[2])), | 
|     46 		) |     46 		) | 
|     47 opt.Update(env) |     47 opt.Update(env) | 
|     48 opt.Save('.optioncache', env) |     48 opt.Save('.optioncache', env) | 
|     49 Help(opt.GenerateHelpText(env)) |     49 Help(opt.GenerateHelpText(env)) | 
|         |     50  | 
|         |     51  | 
|         |     52 ### configure | 
|     50  |     53  | 
|     51 platform = 'unknown' |     54 platform = 'unknown' | 
|     52 def CheckPlatform(context): |     55 def CheckPlatform(context): | 
|     53 	global platform |     56 	global platform | 
|     54 	context.Message('Platform is... ') |     57 	context.Message('Platform is... ') | 
|    102 		'CheckIntelC' : CheckIntelC, 'CheckGCC' : CheckGCC}) |    105 		'CheckIntelC' : CheckIntelC, 'CheckGCC' : CheckGCC}) | 
|    103 conf.CheckPlatform() |    106 conf.CheckPlatform() | 
|    104 conf.CheckGCC() |    107 conf.CheckGCC() | 
|    105 conf.CheckIntelC() |    108 conf.CheckIntelC() | 
|    106 conf.CheckCPUFlags() |    109 conf.CheckCPUFlags() | 
|    107 env = conf.Finish() |         | 
|    108  |    110  | 
|    109  |    111 if intelc and conf.env['intelc']: | 
|    110 if intelc and env['intelc']: |    112 	Tool("intelc").generate(conf.env) | 
|    111 	Tool("intelc").generate(env) |         | 
|    112 	cc = 'intelc' |    113 	cc = 'intelc' | 
|    113 elif gcc: |    114 elif gcc: | 
|    114 	cc = 'gcc' |    115 	cc = 'gcc' | 
|    115  |    116  | 
|    116 add_flags = '' |    117 add_flags = '' | 
|    117 if cc == 'gcc': |    118 if cc == 'gcc': | 
|    118 	add_flags += cpuflags_gcc + ' -ffast-math ' |    119 	add_flags += cpuflags_gcc + ' -ffast-math ' | 
|    119 if cc == 'intelc': |    120 if cc == 'intelc': | 
|    120 	add_flags += cpuflags_intelc + ' ' |    121 	add_flags += cpuflags_intelc + ' ' | 
|    121  |    122  | 
|    122 if env['precision'] == 'double': |    123 if conf.env['precision'] == 'double': | 
|    123 	add_flags += '-DPYRIT_DOUBLE ' |    124 	add_flags += '-DPYRIT_DOUBLE ' | 
|    124 elif cc == 'gcc': |    125 elif cc == 'gcc': | 
|    125 	add_flags += '-fsingle-precision-constant ' |    126 	add_flags += '-fsingle-precision-constant ' | 
|    126  |    127  | 
|    127 add_flags += env['flags'] |    128 add_flags += conf.env['flags'] | 
|    128  |    129  | 
|    129 if cc == 'intelc': |    130 if cc == 'intelc': | 
|    130 	env.Append(CCFLAGS="-O3 -w1 " + add_flags) |    131 	conf.env.Append(CCFLAGS="-O3 -w1 " + add_flags) | 
|    131 elif cc == 'gcc': |    132 elif cc == 'gcc': | 
|    132 	env.Append(CCFLAGS="-O3 -Wall -pipe " + add_flags) |    133 	conf.env.Append(CCFLAGS="-O3 -Wall -pipe " + add_flags) | 
|    133 	# CCFLAGS= -fno-strict-aliasing |    134 	# CCFLAGS= -fno-strict-aliasing | 
|    134 else: |    135 else: | 
|    135 	print "No supported compiler found." |    136 	print "No supported compiler found." | 
|    136 	Exit(1) |    137 	Exit(1) | 
|    137  |    138  | 
|    138 print "Using compiler: " + cc |    139 print "Using compiler: " + cc | 
|    139 print "Additional flags: " + add_flags |    140 print "Additional flags: " + add_flags | 
|    140  |    141  | 
|    141 # pthread |    142 if conf.CheckLibWithHeader('png', 'png.h', 'C'): | 
|    142 if env['PLATFORM'] == 'win32': |    143 	conf.env.Append(CCFLAGS='-DHAVE_PNG') | 
|    143 	env.Append(LIBS=["pthreadGC2"]) |    144 	conf.env.Append(LIBS=['png']) | 
|         |    145  | 
|         |    146 if conf.env['PLATFORM'] == 'win32': | 
|         |    147 	conf.env.Append(LIBS=["pthreadGC2"]) | 
|    144 else: |    148 else: | 
|    145 	env.Append(CCFLAGS="-pthread ") |    149 	conf.env.Append(CCFLAGS="-pthread ") | 
|         |    150  | 
|         |    151 env = conf.Finish() | 
|         |    152  | 
|         |    153  | 
|         |    154 ### build targets | 
|    146  |    155  | 
|    147 (lib, pymodule) = SConscript('src/SConscript', build_dir='build/lib', duplicate=0, exports='env') |    156 (lib, pymodule) = SConscript('src/SConscript', build_dir='build/lib', duplicate=0, exports='env') | 
|    148  |    157  | 
|    149 SConscript('ccdemos/SConscript', build_dir='build/ccdemos', duplicate=0, exports='env lib') |    158 SConscript('ccdemos/SConscript', build_dir='build/ccdemos', duplicate=0, exports='env lib') | 
|    150 SConscript('demos/SConscript', exports='pymodule') |    159 SConscript('demos/SConscript', exports='pymodule') |