#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>

#define DEBUG 0

int main(int argc, char *argv[]) {
  char **args;

  args = malloc(sizeof(char*) * (argc + 2));
  memset(args, 0, sizeof(char*) * (argc + 2));

  args[0] = strdup("ccache");
  args[1] = strdup("distcc");
  memcpy(args + 2, argv + 1, sizeof(char*) * (argc - 1));

  if (DEBUG) {
    int i = 0;
    for (i = 0; args[i]; i++)
      fprintf(stderr, "args[%d] = \"%s\"\n", i, args[i]);
  }
    
  execvp(args[0], args);
  fprintf(stderr, "ccdc error: couldn't exec(): \"%s\"\n", strerror(errno));

  return EXIT_FAILURE;
}
