summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Silverstein <csilvers@khanacademy.org>2008-06-03 05:32:36 +0000
committerCraig Silverstein <csilvers@khanacademy.org>2008-06-03 05:32:36 +0000
commit477f6a3a6c5815203c063440a95864b32665dc80 (patch)
tree685c6e33430dcaebe22323eeb5ec30a14d97a638
parentf7f852668d11e537d479be38d39b687ee429f07e (diff)
downloaddistcc-git-477f6a3a6c5815203c063440a95864b32665dc80.tar.gz
Add some new benchmark routines (including C++ projects like yate and
ACE), and normalize syntax for existing ones. I've tested that we can at least build all of these projects locally, as long as all neccesary dependent packages are installed. Reviewed by fergus
-rwxr-xr-xbench/ProjectDefs.py156
1 files changed, 77 insertions, 79 deletions
diff --git a/bench/ProjectDefs.py b/bench/ProjectDefs.py
index 9e51602..09568a8 100755
--- a/bench/ProjectDefs.py
+++ b/bench/ProjectDefs.py
@@ -2,72 +2,71 @@
# 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.
-
+# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
+# 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.
-# Would like to test glibc, but it needs a separate source and build
-# directory. TODO(csilvers): add build_subdir/configure_cmd to do this.
-
-# 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.3.2.tar.bz2',
-# configure_cmd = './configure --disable-sanity-checks'
-# ).register()
-#Project(url='http://mirror.aarnet.edu.au/pub/gnu/libc/glibc-2.3.tar.bz2',
-# configure_cmd='./configure --disable-sanity-checks',
-# md5='fd20b4a9feeb2b2f0f589b1a9ae8a5e2 glibc-2.3.tar.bz2').register()
+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://archive.apache.org/dist/httpd/httpd-2.0.43.tar.gz',
- md5='8051de5d160c43d4ed2cc47dc9be6fd3 httpd-2.0.43.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()
+ 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://ftp.gnu.org/gnu/make/make-3.80.tar.bz2',
- md5='0bbd1df101bc0294d440471e50feca71 *make-3.80.tar.bz2'
+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()
-# failed: "make: *** No rule to make target `defconfig'. Stop."
-#Project(url='http://public.ftp.planetmirror.com/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2',
-# configure_cmd='make defconfig',
-# build_cmd='make bzImage',
-# ).register()
+Project(url='http://archive.apache.org/dist/httpd/httpd-2.0.43.tar.gz',
+ md5='8051de5d160c43d4ed2cc47dc9be6fd3 httpd-2.0.43.tar.gz'
+ ).register()
-# failed: compilation error
-# scripts/kconfig/mconf.c:91: error: static declaration of 'current_menu' follows non-static declaration
-# scripts/kconfig/lkc.h:59: error: previous declaration of 'current_menu' was here
-#Project(url='http://www.kernel.org/pub/linux/kernel/v2.5/linux-2.5.51.tar.bz2',
-# md5='2300b7b7d2ce4c017fe6dae49717fd9a *linux-2.5.51.tar.bz2',
-# configure_cmd='make defconfig',
-# build_cmd='make bzImage'
-# ).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',
@@ -76,10 +75,30 @@ Project(url='http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2',
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()
-## gimp 1.2.3 has makefile bugs that break -j
+#### 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',
@@ -90,50 +109,29 @@ Project(url='ftp://ftp.gimp.org/pub/gimp/v2.2/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.3.tar.bz2',
-## ).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://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz',
- md5='70c9ccf9fac07f762c24f2df2290784d *hello-2.1.1.tar.gz',
+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()
-
-# XXX: Does not build on Debian at the moment, problem with libIDL-config
-
-# 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()
-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://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()
-
-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()
+#### 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()