summaryrefslogtreecommitdiff
path: root/bench/ProjectDefs.py
blob: 09568a824b47d34d23a2e53857448bd27e2be983 (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
# benchmark -- automated system for testing distcc correctness
# and performance on various source trees.

# Copyright (C) 2002, 2003, 2004 by Martin Pool
# Copyright 2008 Google Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
# USA.

__doc__ = """distcc benchmark project definitions"""

from Project import Project

# Consider the following when adding a new project:
# 1) Should be fairly large.  That's where distcc helps most.
# 2) Should have minimal dependencies.  That way, the build will
#    succeed without you needing to install lots of libraries
#    on your machine.
#
# See Project.py:Project.__init__.doc() for documentation of the
# named arguments that are allowed for Project.


Project(url='http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz',
        md5='70c9ccf9fac07f762c24f2df2290784d *hello-2.1.1.tar.gz',
        ).register()

Project(url='http://ftp.gnu.org/gnu/make/make-3.80.tar.bz2',
        md5='0bbd1df101bc0294d440471e50feca71 *make-3.80.tar.bz2'
        ).register()

Project(url='ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.7.tar.bz2',
        md5='5882b1e729f57cb18af653a2f504197b  glib-2.0.7.tar.bz2'
        ).register()

Project(url='http://us1.samba.org/samba/ftp/old-versions/samba-2.2.7.tar.gz',
        build_subdir='source',
        md5='824cd4e305f9b744f3eec702a7b96f7f  samba-2.2.7.tar.gz',
        ).register()

Project(url='http://us1.samba.org/samba/ftp/old-versions/samba-3.0.20.tar.gz',
        name='samba-3.0.20',
        build_subdir='source',
        # newer versions of popt can be incompatible
        configure_cmd='./configure --with-included-popt',
        pre_build_cmd = 'make proto', 
        ).register()

Project(url='http://archive.apache.org/dist/httpd/httpd-2.0.43.tar.gz',
        md5='8051de5d160c43d4ed2cc47dc9be6fd3  httpd-2.0.43.tar.gz'
        ).register()

Project(url='http://yate.null.ro/tarballs/yate2/yate-2.0.0-alpha2.tar.gz',
        name='yate',
        configure_cmd='./configure --without-libpq --without-mysql --without-wphwec --without-libgsm --without-libspeex --without-spandsp --without-pwlib --without-openh323 --without-libgtk2 --without-gtkmozilla --without-libqt4 --without-coredumper --without-doxygen --without-kdoc',
        md5='b9fd116bc5c8142de6e130931cd3bdf2  yate-2.0.0-alpha2.tar.gz'
        ).register()

Project(url='http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2',
        md5='db95a49a656a3247d4995a797d333153 *linux-2.6.25.tar.bz2',
        configure_cmd="make V=1 HOSTCC='$(CC)' defconfig",
        build_cmd="make V=1 HOSTCC='$(CC)' bzImage",
        include_server_args='--stat_reset_triggers=include/linux/compile.h:include/asm/asm-offsets.h'
        ).register()

Project(url='http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz',
        name='Python-2.5.2',
        ).register()

Project(url='http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2',
        configure_cmd = './configure --disable-werror',
        ).register()

# disable-sanity-checks is needed to stop it wanting linuxthreads --
# the resulting library is useless, but this is only a test.
Project(url = 'http://ftp.gnu.org/pub/gnu/glibc/glibc-2.6.tar.bz2',
        build_subdir = '_build',
        configure_cmd = '../configure --disable-sanity-checks',
        ).register()

Project(url='http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz',
        md5='e6715a878a7c102f7a4c323f9ef63e8f *mysql-5.0.51b.tar.gz',
        configure_cmd = './configure',
        ).register()

Project(url='http://sources-redhat.oc1.mirrors.redwire.net/gdb/old-releases/gdb-5.3.tar.gz',
        ).register()

#### Commented out: gimp 1.2.3 has makefile bugs that break -j
## Project(url='ftp://212.8.35.65/pub/FreeBSD/distfiles/gimp-1.2.3.tar.bz2',
##        md5='b19235f19f524f772a4aef597a69b1da *gimp-1.2.3.tar.bz2',
##        configure_cmd='./configure --disable-perl',
##        ).register()

Project(url='ftp://ftp.gimp.org/pub/gimp/v2.2/gimp-2.2.10.tar.bz2',
        md5='aa29506ed2272af02941a7a601a7a097  gimp-2.2.10.tar.bz2',
        configure_cmd='./configure --disable-perl --disable-print',
        ).register()

Project(url='http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.4.tar.bz2',
        md5='73205d83a5612a43441a8532683c0434  wine-0.9.4.tar.bz2',
        ).register()

Project(url='http://mirror.aarnet.edu.au/pub/mozilla/releases/mozilla1.4/src/mozilla-source-1.4.tar.bz2',
        name='mozilla-1.4',
        configure_cmd="LIBIDL_CONFIG=libIDL-config-2 ./configure",
        unpacked_subdir='mozilla',
        ).register()

Project(url='http://ftp.mozilla.org/pub/firebird/releases/0.6/MozillaFirebird-0.6-source.tar.bz2',
        name='MozillaFirebird',
        unpacked_subdir='mozilla',
        ).register()

#### Commented out: configure script hasn't kept up with modern gcc's.
#### For instance, they check whether setrlimit takes an enum as the
#### first argument by grepping for 'setrlimit(enum' in the .h file,
#### but crosstool gcc's use a typedef, so it's 'setrlimit(newtype'.
## Project(url='http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO+CIAO-5.6.5.tar.bz2',
##         name='ace-5.6.5',
##         unpacked_subdir='ACE_wrappers',
##         build_subdir = '_build',
##         configure_cmd='../configure',
##         md5='32157a0a4cc9bd8dc03d98b90b707759  ACE+TAO+CIAO-5.6.5.tar.bz2'
##         ).register()