-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathSConstruct
More file actions
113 lines (88 loc) · 2.7 KB
/
Copy pathSConstruct
File metadata and controls
113 lines (88 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# This file is used to compile grftool.
# You need scons: http://www.scons.org/
# Type 'scons -Q' in the commandline to compile grftool.
import os
import string
# Setup environment
USE_GTK = 0
WIN32 = 0
DEBUG = ARGUMENTS.get('DEBUG', 0);
CC = ARGUMENTS.get('CC', None);
CXX = ARGUMENTS.get('CXX', None);
PREFIX = ARGUMENTS.get('PREFIX', '/usr/local')
BINDIR = ARGUMENTS.get('BINDIR', PREFIX + '/bin')
DATADIR = ARGUMENTS.get('DATADIR', PREFIX + '/share')
PKGDATADIR = ARGUMENTS.get('PKGDATADIR', DATADIR + '/grftool')
platform = str(ARGUMENTS.get('OS', Platform()))
if platform == "cygwin" or platform == "windows":
WIN32 = 1
env = Environment(
CCFLAGS=Split('-Wformat -Wformat-security -Wparentheses -Wunused-variable -Wuninitialized -Wall -W -Wundef -Wpointer-arith -Wcast-align -Wno-unused-parameter -O2 -g'), # -Wconversion -Wcast-qual
CPPPATH=['.'],
LINKFLAGS='')
if CC != None:
env['CC'] = CC
if CXX != None:
env['CXX'] = CXX
if platform == "cygwin":
env['CCFLAGS'] += ' -mno-cygwin'
env['LINKFLAGS'] += ' -mno-cygwin'
env.SourceSignatures('timestamp')
# Check for GTK if we're not on cygwin
def CheckGtk(context, version):
context.Message('Checking for GTK+ >= ' + version + '... ')
pipes = os.popen3('pkg-config --modversion gtk+-2.0')
out = pipes[1].read().rstrip("\n")
pipes[0].close()
pipes[2].close()
if out <> '':
context.Result(out)
else:
context.Result('not found')
if out >= version:
return 1
else:
return 0
def CheckGtkmm(context, version):
context.Message('Checking for Gtkmm >= ' + version + '... ')
pipes = os.popen3('pkg-config --modversion gtkmm-2.4')
out = pipes[1].read().rstrip("\n")
pipes[0].close()
pipes[2].close()
if out <> '':
context.Result(out)
else:
context.Result('not found')
if out >= version:
return 1
else:
return 0
if platform != "cygwin":
conf = env.Configure(custom_tests = {'CheckGtk': CheckGtk, 'CheckGtkmm': CheckGtkmm})
USE_GTK = 1
if not conf.CheckGtk('2.4.0'):
if ARGUMENTS.get('gtk', 0):
print "*** Stop"
Exit(1)
else:
print 'GTK frontend will be disabled.'
USE_GTK = 0
if not conf.CheckGtkmm('2.4.0'):
if ARGUMENTS.get('gtk', 0):
print "*** Stop"
Exit(1)
else:
print 'GTK frontend will be disabled.'
USE_GTK = 0
env = conf.Finish()
# Run sub SConscripts
Export('env WIN32 platform PREFIX BINDIR DATADIR PKGDATADIR DEBUG')
SConscript('lib/SConscript', build_dir='lib/static', duplicate=False)
# We only build the DLL if we're on Win32
if WIN32:
SConscript('lib/zlib/SConscript', duplicate=False)
SConscript('lib/SConscript-dll', build_dir='lib/dll', duplicate=False)
SConscript('tools/SConscript')
if USE_GTK:
SConscript('gtk/SConscript')
env.Alias('install', [BINDIR, DATADIR + '/applications', PKGDATADIR])