WOBBLE

Web Of Binary Building and Linking Engines


What is it?   Latest news   Server setup   Client setup   Example

What is it?

WOBBLE is a software development tool to build binaries remotely. This is based on one or more HTTP-based Wobble servers running a CGI script, handling the following simple tasks (and a bit more): A local Wobble client script acts as the interface for all remote compiles and link steps. One of its tasks is to insert project header files before shipping source code to a server for compilation.

All processing is stateless: the server does not track or store anything - it takes some input, transforms it, and returns the result. The client also does not need to track progress, this is handled by a simple makefile.

Wobble is in the early trial phase, both the server (Perl) and the client (Tcl) are still highly experimental.

Latest news

September 12, 1998
Client now catches and reports build errors, server can guess its configuration
Download files:
Client script: wobble 7985 bytes Sep 12 1998, 19:07:10 GMT
Server script: wobbles 29663 bytes Sep 13 1998, 01:48:45 GMT
Example files: wexample.tar.gz 738 bytes Sep 5 1998, 15:06:50 GMT
Note: there's a serious url-encoding performance bottleneck in the client.
It works fine, but I use a small custom C extension to speed things up -- JC

Server setup

To handle remote compilations and links, your system needs to support the following: With that out of the way, setting up a server is trivial:
  1. Download the latest "wobbles" server Perl script.
  2. Then, store it in your web server's cgi-bin directory as "cgi-bin/wobbles".
  3. Or store it as wobbles.cgi if your server can run CGI scripts that way.
  4. Test the script by accessing its URL through a web browser.
  5. You now have a new Wobble server up and running...

Client setup

The client side is currently a Tcl script. To use it, you must: With that out of the way, setting up a client is also quite simple:
  1. Download the latest "wobble" client Tcl script.
  2. Install it in a place where you can launch it from.
  3. Possible places include /usr/local/bin, /usr/bin, or ~/bin.
  4. Test the script by typing "wobble" at the command prompt.
  5. You have just installed a new Wobble client...

Example

For remote compilation and linking to work, you need to deal with several issues: There's an example project with everything in place to do a remote build:
  1. Download the example named wexample.tar.gz, and unpack it.
  2. Change to the newly created "wexample" directory.
  3. Type "wobble make sol26" and stand back while it builds.
  4. Look at the freshly created ../w_sol26 directory to see the results.
  5. Then go back to the wexample directory to see how this was done.
If all went well, you will end up with a Solaris executable called myhello, linked to a shared library called myworld.so, both of which were created remotely (compiled and linked) during the make process.


Wobble is currently being developed by
Kyler Laird (server) and Coen Siegerink (client)
with the help of Cameron Laird and Mark Roseman.