summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormandyke@gmail.com <mandyke@gmail.com@01de4be4-8c4a-0410-9132-4925637da917>2013-05-08 14:21:45 +0000
committermandyke@gmail.com <mandyke@gmail.com@01de4be4-8c4a-0410-9132-4925637da917>2013-05-08 14:21:45 +0000
commit94c67622e95ce5a80dbae56b9c26832b2ee4f182 (patch)
treefdfe74439a77f9f4f6e0e8db331ba67e54097c2c
parent0bef5ec96a9261131f3757962c7740ee2fb36c54 (diff)
downloaddistcc-94c67622e95ce5a80dbae56b9c26832b2ee4f182.tar.gz
Support @FILE arguments correctly. Requires GNU libiberty.
Fixes issue 85 git-svn-id: http://distcc.googlecode.com/svn/trunk@774 01de4be4-8c4a-0410-9132-4925637da917
-rw-r--r--INSTALL3
-rw-r--r--configure.ac3
-rw-r--r--src/distcc.c5
3 files changed, 10 insertions, 1 deletions
diff --git a/INSTALL b/INSTALL
index fc4a134..4e89782 100644
--- a/INSTALL
+++ b/INSTALL
@@ -14,7 +14,7 @@ QUICK SUMMARY
0. Install prerequisites. For example, on Debian or Ubuntu, you could use
- sudo apt-get install gcc make python python-dev
+ sudo apt-get install gcc make python python-dev binutils-dev
1. Build and install
@@ -51,6 +51,7 @@ To build distcc you need
GNU Make
A C compiler
+ GNU libiberty (distributed with GNU Binutils and GCC)
It is also highly desireable to have
diff --git a/configure.ac b/configure.ac
index a7041c6..04e48b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -356,6 +356,9 @@ else
POPT_INCLUDES=''
fi
+AC_CHECK_LIB([iberty], [expandargv],
+ ,
+ AC_MSG_ERROR([Cannot find libiberty]))
########################################################################
diff --git a/src/distcc.c b/src/distcc.c
index ee05617..812e4ad 100644
--- a/src/distcc.c
+++ b/src/distcc.c
@@ -41,6 +41,8 @@
#include <errno.h>
#include <signal.h>
+#include <libiberty.h>
+
#include "distcc.h"
#include "trace.h"
#include "exitcode.h"
@@ -233,6 +235,9 @@ int main(int argc, char **argv)
compiler_name = (char *) dcc_find_basename(argv[0]);
+ /* Expand @FILE arguments. */
+ expandargv(&argc, &argv);
+
/* Ignore SIGPIPE; we consistently check error codes and will
* see the EPIPE. */
dcc_ignore_sigpipe(1);