summaryrefslogtreecommitdiff
path: root/jhbuildrc
blob: d8a3e176c78d1382907ac5894422d0004226f090 (plain)
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#
# jhbuildrc for building for cygwin
#

moduleset = '/jhbuild/xorg.modules'
if 'TINDERBOX' in os.environ:
	modules = [ 'xwin', 'The X Window System', 'extras', 'tests' ]
else:
	modules = [ 'xwin', 'The X Window System' ]

# skip building stuff which isn't appropriate for Windows target
# skip building all drivers apart from xf86-video-dummy and xf86-video-nested
skip = [ 'applewmproto', 'libAppleWM',
	 'videoproto', 'xf86dgaproto', 'xf86driproto', 'xf86vidmodeproto', 'dri2proto', 'dri3proto',
	 'libXv', 'libXvMC', 'libXxf86dga', 'libXxf86dga', 'libXxf86vm', 'libxshmfence', 'libxkbui',
	 'libevdev', 'libpciaccess',
	 'mesa-drm',
	 'app-xdriinfo', 'app-xgamma', 'app-xfs', 'app-xvidtune', 'app-xvinfo',
	 'glamor',
	 'xf86-input-acecad',
	 'xf86-input-aiptek',
	 'xf86-input-evdev',
	 'xf86-input-joystick',
	 'xf86-input-keyboard',
	 'xf86-input-mouse',
	 'xf86-input-synaptics',
	 'xf86-input-vmmouse',
	 'xf86-input-void',
	 'xf86-video-apm',
	 'xf86-video-ark',
	 'xf86-video-ast',
	 'xf86-video-ati',
	 'xf86-video-chips',
	 'xf86-video-cirrus',
	 'xf86-video-fbdev',
	 'xf86-video-geode',
	 'xf86-video-glint',
	 'xf86-video-i128',
	 'xf86-video-i740',
	 'xf86-video-intel',
	 'xf86-video-mach64',
	 'xf86-video-mga',
	 'xf86-video-modesetting',
	 'xf86-video-neomagic',
	 'xf86-video-nouveau',
	 'xf86-video-nv',
	 'xf86-video-openchrome',
	 'xf86-video-r128',
	 'xf86-video-rendition',
	 'xf86-video-s3',
	 'xf86-video-s3virge',
	 'xf86-video-savage',
	 'xf86-video-siliconmotion',
	 'xf86-video-sis',
	 'xf86-video-sisusb',
	 'xf86-video-suncg14',
	 'xf86-video-suncg3',
	 'xf86-video-suncg6',
	 'xf86-video-sunffb',
	 'xf86-video-sunleo',
	 'xf86-video-suntcx',
	 'xf86-video-tdfx',
	 'xf86-video-tga',
	 'xf86-video-trident',
	 'xf86-video-tseng',
	 'xf86-video-v4l',
	 'xf86-video-vesa',
	 'xf86-video-vmware',
	 'xf86-video-wsfb',
	 'xf86-video-voodoo',
	 'xf86-video-xgixp' ]

build_policy = 'updated-deps'
if 'TINDERBOX' in os.environ:
	nopoison = True
	quiet_mode = True

# All source modules will be here after the checkout
checkoutroot = '/jhbuild/checkout'

# All build takes place here
buildroot = '/jhbuild/build'

# All installed stuff will be here
prefix = '/jhbuild/install'

os.environ['ACLOCAL'] = 'aclocal -I ' + os.path.join(prefix, 'share', 'aclocal')
os.environ['PKG_CONFIG_PATH'] = os.path.join(prefix, 'lib', 'pkgconfig') + ':' + os.path.join(prefix, 'share', 'pkgconfig')
os.environ['CC'] = 'ccache gcc'
os.environ['CXX'] = 'ccache g++'
os.environ['INSTALL'] = '/usr/local/bin/install-check'
os.environ['CFLAGS'] = '-g -O0 -fdiagnostics-show-option'
os.environ['AUTOMAKE'] = 'automake --force-missing --copy'
#os.environ['V'] = '1'
#os.environ['LDFLAGS'] = '-Wl,-Map=mapfile'

#
os.environ['GLEW_DEST'] = prefix

# env vars to help some tests find things...
os.environ['JHBUILD_CHECKOUTROOT'] = checkoutroot
os.environ['JHBUILD_BUILDROOT'] = buildroot
os.environ['JHBUILD_PREFIX'] = prefix

autogenargs = '--cache-file=/jhbuild/configure-cache --enable-silent-rules'

module_autogenargs['xserver'] = ' --enable-xvfb --enable-xnest --enable-dmx --enable-kdrive --enable-xephyr --enable-xfake --disable-xfbdev --enable-xorg --enable-xwin --disable-glx-tls --enable-windowswm --enable-xf86bigfont'
module_autogenargs['xserver'] = module_autogenargs['xserver'] + ' --enable-debug'
module_autogenargs['xserver'] = module_autogenargs['xserver'] + ' --with-builderstring="Tag: `cd ' + checkoutroot + '/xorg/xserver ; git describe | tr -d \\n`"'
module_autogenargs['xserver'] = module_autogenargs['xserver'] + ' CFLAGS="-Wno-error=implicit-function-declaration ' + os.environ['CFLAGS'] + '"'
# we can only build the Xwin DDX when rootless is enabled, as it turns on horrible ROOTLESS hacks in DIX
#  --enable-dmx --enable-xephyr --enable-xfake

module_autogenargs['xkeyboard-config'] = autogenargs + ' --with-xkb-rules-symlink=xorg'

# libXfont must be built static due to weak linkage nonsense
module_autogenargs['libXfont'] = autogenargs + ' --disable-shared --disable-fc'


# build xlib-based libGL
#module_autogenargs['mesa-mesa'] = autogenargs + ' --with-gallium-drivers=swrast --disable-dri --enable-osmesa --enable-xlib-glx'
# build libGL which supports both direct swrast and indirect
module_autogenargs['mesa-mesa'] = autogenargs + ' --disable-xa --with-gallium-drivers=swrast --disable-dri3'

# pixman tests fail otherwise, I'm assuming this is a toolchain bug...
#module_autogenargs['pixman'] = autogenargs + ' --disable-openmp'
# pixman tests run slower when OpenMP is allowed to use multiple threads...
os.environ['OMP_NUM_THREADS'] = '1'

# xf86-video-dummy config check needs fixing to default to auto, not yes
module_autogenargs['xf86-video-dummy'] = autogenargs + ' --disable-dga'

# harfbuzz currently needs help to configure correctly
module_autogenargs['harfbuzz'] = autogenargs + ' ac_cv_header_usp10_h=no ac_cv_header_windows_h=no ac_cv_func__setmode=no'

# do not start xvfb for any testmodules
noxvfb = True

# always run 'make check'
if 'TINDERBOX' in os.environ:
	makecheck = True