summaryrefslogtreecommitdiff
path: root/devel/gecc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/gecc')
-rw-r--r--devel/gecc/Makefile67
-rw-r--r--devel/gecc/distinfo1
-rw-r--r--devel/gecc/files/README115
-rw-r--r--devel/gecc/files/dashboard.h99
-rw-r--r--devel/gecc/files/patch-cache.h12
-rw-r--r--devel/gecc/files/patch-con.h19
-rw-r--r--devel/gecc/files/patch-io.cpp22
-rw-r--r--devel/gecc/files/patch-server.cpp12
-rw-r--r--devel/gecc/pkg-descr6
9 files changed, 0 insertions, 353 deletions
diff --git a/devel/gecc/Makefile b/devel/gecc/Makefile
deleted file mode 100644
index 4d2de531b8fb..000000000000
--- a/devel/gecc/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# New ports collection makefile for: gecc
-# Date created: 2002-11-07
-# Whom: trevor
-#
-# $FreeBSD$
-#
-
-PORTNAME= gecc
-PORTVERSION= 20021119
-CATEGORIES= devel
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
-MASTER_SITE_SUBDIR= gecc
-
-MAINTAINER= trevor@FreeBSD.org
-COMMENT=Group-enabled cluster compiler for cached, distributed compilation
-
-.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 500039
-LIB_DEPENDS= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
-BROKEN= "only works as a wrapper"
-.else
-BROKEN= "getopt_long() problems"
-.endif
-
-BINS= gecc geccd
-DOCS= AUTHORS COPYING ChangeLog NEWS TODO
-DOCDIR= share/doc/${PORTNAME}
-.if ${OSVERSION} < 500039
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
- LDFLAGS="-L${LOCALBASE}/lib -lgnugetopt"
-.endif
-GNU_CONFIGURE= yes
-PLIST= ${WRKDIR}/pkg-plist
-USE_PYTHON= yes
-USE_REINPLACE= yes
-REINPLACE_ARGS= -i'' -E
-
-post-extract:
- ${CP} ${FILESDIR}/README ${FILESDIR}/dashboard.h ${WRKSRC}
- ${REINPLACE_CMD} "s=usr/bin=${LOCALBASE}/bin=g" ${WRKSRC}/geccmon
-
-pre-install:
- ${RM} -f ${PLIST}
-.for ii in ${BINS} geccmon
- ${ECHO_CMD} bin/`${BASENAME} ${ii}` >> ${PLIST}
-.endfor
-.if !defined(NOPORTDOCS)
-.for ii in ${DOCS} README
- ${ECHO_CMD} ${DOCDIR}/${ii} >> ${PLIST}
-.endfor
- ${ECHO_CMD} "@dirrm " ${DOCDIR} >> ${PLIST}
-.endif
-
-do-install:
-.for ii in ${BINS}
- ${INSTALL_PROGRAM} ${WRKSRC}/${ii} ${PREFIX}/bin
-.endfor
- ${INSTALL_SCRIPT} ${WRKSRC}/geccmon ${PREFIX}/bin
-.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/${DOCDIR}
-.for ii in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/${ii} ${PREFIX}/${DOCDIR}
-.endfor
- ${INSTALL_DATA} ${FILESDIR}/README ${PREFIX}/${DOCDIR}
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/devel/gecc/distinfo b/devel/gecc/distinfo
deleted file mode 100644
index 50f232736ca8..000000000000
--- a/devel/gecc/distinfo
+++ /dev/null
@@ -1 +0,0 @@
-MD5 (gecc-20021119.tar.gz) = 74ee17b3cf3cd0736377e02e89c39f8b
diff --git a/devel/gecc/files/README b/devel/gecc/files/README
deleted file mode 100644
index 9b8e96a35275..000000000000
--- a/devel/gecc/files/README
+++ /dev/null
@@ -1,115 +0,0 @@
-The group enabled cluster compiler (gecc) is a tool to make build faster. This
-tool is inspired by distcc (<URL:http://distcc.samba.org>) and ccache
-(<URL:httpd://ccache.samba.org>). It helps in two ways:
-
-- not doing unneeded compiles and
-- distributing builds on a cluster of hosts.
-
-These two optimizations are unrelated and both of them are optional to gecc.
-Not doing unneeded compiles means that gecc caches the build of object files
-and distributing means putting compiles on more than one host (not a big
-surprise).
-
-For a more detailed look, please refer to the Web pages at
-<URL:http://gecc.sf.net>, which are included in the CVS repository. Take a
-look at the htdocs directory.
-
-building:
-
-I have compiled gecc with gcc 2.95.3. Then I got a report that gecc does not
-compile with gcc-3.2 (thanks for that), so I fixed gecc to compile with both.
-There are problems using the std::string::compare member functions. They have
-changed from gcc 2.95.x to gcc 3.y (I have been told that gcc3 is correct, but
-I have not checked with the ANSI standard). My normal CXX is gcc 2.95.3. If I
-break compatibilty with gcc-3.x again, please drop me a note and I will fix it,
-if anybody cares.
-
-The usual commands:
-
- ./configure
- make
-
-should build two binaries: gecc and geccd. The client is gecc. It's called
-instead of your usual C/C++ compiler, which means gcc in almost every case.
-There are two ways to call it:
-
-1.) gecc gcc file.c -c -o file.o -O2 ...
-That is, prepend your usual command line with "gecc". gecc will find out which
-C/C++ compiler you would have called. It crawls your PATH for the next token on
-the command line ("gcc" in our example). It will take a look, which version it
-is, by calling it with "--version" as the only parameter. The name and the
-version should identify the compiler. There are plans to take also care of the
-architecture of your host, so cross compiles could be done (this is one of my
-needs, but not implemented now).
-
-2.) If you make a link from the name of your compiler to gecc, then gecc will
-behave as above. The advantage is that this works with libtool, which is a bit
-picky about chained tools. I have a ~/bin directory, which is the very first in
-my $PATH. There are links like this:
-
- c++ -> gecc
- g++ -> gecc
- gcc -> gecc
- cc -> gecc
-
-Also, gecc is in the path.
-
-Either way, the source file is preprocessed and a hash of the preprocessed file
-and your command line is calculated. This hash is looked up in a
-on-disk-cache. For a cache hit, the object file, the stderr, and the compiler
-return code of the original compiler run are taken from cache and the original
-result is "reproduced". On a cache miss the compiler is called and the result
-is recorded for the cache.
-
-If there are nodes registered to help in the compiling than for every cache
-miss, the host to do the compilation is calculated by a scheduler algorithm
-(right now it's round robin, but there will be feedback on the basis of
-compilation speed).
-
-testing:
-To test gecc, you need to start a geccd (the gecc daemon). For example:
-
- geccd -C /tmp/gecc-cache --compile -d
-
-will start geccd in debugging mode (-d), that is, without forking. A Ctrl-C
-will terminate the program. Then, on another shell, you need to set some
-environment variables:
-
-either:
- export GECCD_SOCKFILE=/tmp/geccd.sockfile
-or:
- export GECCD_HOSTNAME=localhost
- export GECCD_PORT=42042
-
-Now do this:
-
- gecc gcc hello.c -o hello.o
-
-Assuming you have a hello.c, it will be compiled to hello.o. You can see geccd
-act and print debugging stuff on stderr. If you now remove the hello.o and
-repeat the same command line, hello.o will be taken from cache.
-
-If you have a second machine available, then you could start a second geccd on
-this second machine. Let's assume the first machine is named dilbert and the
-second is named asok. Then the command line on asok will be:
-
- geccd --compile -a dilbert -A 42042 --compile --port 42042 -d
-
-this means announce yourself to a geccd, running on dilbert (port -A 42042) and
-help him to compile. Right now it is important to start the geccd on the helper
-host _after_ the main geccd (yes, this has to change). If you now do
-compilation of more source files, then they will be distributed on all
-machines.
-
-The compile nodes don't need the includes or libs installed, but the same
-version of the compiler. If not all compile nodes have all needed compilers
-installed, that's OK, since they only get jobs for the compilers they announce
-to the main geccd. For this, they scan the $PATH and collect all known compiler
-binaries, which right now is all binaries that gecc installs.
-
-If you try this out, please be so nice as to mail me your feedback (either
-positive or negative, any feedback is better than none). You can reach me as
-<j.beyer@web.de>.
-
- Yours,
- Joerg
diff --git a/devel/gecc/files/dashboard.h b/devel/gecc/files/dashboard.h
deleted file mode 100644
index a90c358b2506..000000000000
--- a/devel/gecc/files/dashboard.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Group Enabled Cluster Compiler (gecc)
- *
- * Copyright (C) 2002 by Jörg Beyer <j.beyer@web.de>
- *
- * This project was inspired by:
- * distcc by Martin Pool <mbp@samba.org> http://distcc.samba.org
- * ccache by Andrew Tridgell (tridge@samba.org) http://ccache.samba.org
- * please visit their projects also!
- *
- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
- */
-
-/*
- * inspired by the apache dashboard, this implements a monitoring
- * interface to geccd, the server part of gecc.
- *
- */
-#ifndef _DASHBOARD_H_
-#define _DASHBOARD_H_
-
-struct dashb_cache {
- // number of files in cache
- unsigned long file_count;
-
- // number of cache hits
- unsigned long hit_counter;
-
- // number of cache misses
- unsigned long miss_counter;
-};
-
-const int max_compile_node_id_len=50;
-
-struct dashboard_compile_node {
- char name[max_compile_node_id_len+1];
-
- // how many files has this special node compiled _for_ _this_ _master_
- unsigned long compiled_files;
- // and how many source is that in kilo/mega/giga bytes.
- unsigned long compiled_size;
-};
-
-const int dashboard_max_job_text_size=100;
-
-struct dashboard_job
-{
- // the comandline (or a part of it)
- char job_text[dashboard_max_job_text_size+1];
-};
-
-const int dashboard_number_of_compile_nodes=20;
-const int dashboard_number_of_parallel_compile_jobs=100;
-
-struct geccd_dashboard_memory_layout {
- // make sure that client and server agree about the memory layout.
- int version;
-
- // true if cache is on, false otherwise
- bool cache_on;
-
- // true if local compilation is on, false otherwise
- bool compile_on;
-
- // how many compile jobs are currently running?
- int number_of_current_compile_jobs;
-
- int number_of_compile_nodes;
- struct dashboard_compile_node compile_nodes[dashboard_number_of_compile_nodes];
-
- int number_of_parallel_compile_jobs;
- struct dashboard_job jobs[dashboard_number_of_parallel_compile_jobs];
-};
-
-class Dashboard
-{
-public:
- Dashboard();
- ~Dashboard();
-
-private:
- struct geccd_dashboard_memory_layout memory;
-
-};
-
-#endif
diff --git a/devel/gecc/files/patch-cache.h b/devel/gecc/files/patch-cache.h
deleted file mode 100644
index 6cf6f634c462..000000000000
--- a/devel/gecc/files/patch-cache.h
+++ /dev/null
@@ -1,12 +0,0 @@
-$FreeBSD$
-
---- cache.h.orig Sun Oct 13 03:42:50 2002
-+++ cache.h Thu Nov 7 15:32:39 2002
-@@ -31,6 +31,7 @@
-
- #include <string>
- #include <map>
-+#include <sys/types.h>
-
- using std::ostream;
- using std::map;
diff --git a/devel/gecc/files/patch-con.h b/devel/gecc/files/patch-con.h
deleted file mode 100644
index 93970d23385d..000000000000
--- a/devel/gecc/files/patch-con.h
+++ /dev/null
@@ -1,19 +0,0 @@
-$FreeBSD$
-
---- con.h.orig Fri Oct 25 11:25:17 2002
-+++ con.h Thu Nov 7 15:29:13 2002
-@@ -29,8 +29,14 @@
- #include "config.h"
-
- #include <string>
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <sys/cdefs.h>
-+#include <sys/socket.h>
- #include <netdb.h>
-+#include <arpa/inet.h>
- #include <sys/un.h>
-+#include <netinet/in.h>
-
- using std::string;
-
diff --git a/devel/gecc/files/patch-io.cpp b/devel/gecc/files/patch-io.cpp
deleted file mode 100644
index f75f54620c5b..000000000000
--- a/devel/gecc/files/patch-io.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-$FreeBSD$
-
---- io.cpp.orig Sat Oct 19 11:51:21 2002
-+++ io.cpp Thu Nov 7 15:29:13 2002
-@@ -36,7 +36,7 @@
- #include "util.h"
- #include <stdio.h>
- #ifdef HAVE_SENDFILE
--#include <sys/sendfile.h>
-+#include <sys/socket.h>
- #endif
-
- using namespace std;
-@@ -162,7 +163,7 @@ size_t write_file(int fd, const string&
- throw TransportException(__FILE__, __LINE__, tmp);
- }
- #ifdef HAVE_SENDFILE
-- int rc = sendfile(fd, in, 0, filesize);
-+ int rc = sendfile(fd, in, 0, filesize, 0, 0, 0);
- if (rc<0) {
- perror("sendfile");
- assert(0);
diff --git a/devel/gecc/files/patch-server.cpp b/devel/gecc/files/patch-server.cpp
deleted file mode 100644
index 4aacc7c54022..000000000000
--- a/devel/gecc/files/patch-server.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-$FreeBSD$
-
---- server.cpp.orig Sat Nov 16 07:55:37 2002
-+++ server.cpp Fri Nov 22 14:20:07 2002
-@@ -24,6 +24,7 @@
- * USA
- */
-
-+#include <errno.h>
- #include <cache.h>
- #include <sys/types.h>
- #include <sys/stat.h>
diff --git a/devel/gecc/pkg-descr b/devel/gecc/pkg-descr
deleted file mode 100644
index ba8eda46019e..000000000000
--- a/devel/gecc/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-This is the group-enabled cluster compiler, for cached, distributed compilation.
-It is intended to work like ccache, distcc, or a combination of the two (this
-port does not yet work). Use it cautiously, because it is at an early stage of
-development.
-
-WWW: http://gecc.sourceforge.net