mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
rpcgen - fall back to looking for cpp in system path
Fall back to the system cpp when /lib/cpp is not present. Removes searching for /usr/ccs/lib/cpp which is not supported on any system that uses glibc.
This commit is contained in:
parent
93df14eee8
commit
bf9b740a11
@ -1,3 +1,12 @@
|
||||
2012-08-07 Allan McRae <allan@archlinux.org>
|
||||
|
||||
[BZ #14303]
|
||||
* sunrpc/rpc_main.c (SVR4_CPP): Remove.
|
||||
(SUNOS_CPP): Likewise.
|
||||
(find_cpp): Fall back to selecting system cpp when /lib/cpp is
|
||||
not found.
|
||||
(open_input): Call CPP using execvp.
|
||||
|
||||
2012-08-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/kernel-features.h
|
||||
|
@ -75,12 +75,9 @@ struct commandline
|
||||
|
||||
static const char *cmdname;
|
||||
|
||||
#define SVR4_CPP "/usr/ccs/lib/cpp"
|
||||
#define SUNOS_CPP "/lib/cpp"
|
||||
|
||||
static const char *svcclosetime = "120";
|
||||
static int cppDefined; /* explicit path for C preprocessor */
|
||||
static const char *CPP = SUNOS_CPP;
|
||||
static const char *CPP = "/lib/cpp";
|
||||
static const char CPPFLAGS[] = "-C";
|
||||
static char *pathbuf;
|
||||
static int cpp_pid;
|
||||
@ -327,23 +324,17 @@ find_cpp (void)
|
||||
{
|
||||
struct stat buf;
|
||||
|
||||
if (stat (CPP, &buf) < 0)
|
||||
{ /* /lib/cpp or explicit cpp does not exist */
|
||||
if (cppDefined)
|
||||
{
|
||||
fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
|
||||
crash ();
|
||||
}
|
||||
else
|
||||
{ /* try the other one */
|
||||
CPP = SVR4_CPP;
|
||||
if (stat (CPP, &buf) < 0)
|
||||
{ /* can't find any cpp */
|
||||
fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
|
||||
crash ();
|
||||
}
|
||||
}
|
||||
if (stat (CPP, &buf) == 0)
|
||||
return;
|
||||
|
||||
if (cppDefined) /* user specified cpp but it does not exist */
|
||||
{
|
||||
fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
|
||||
crash ();
|
||||
}
|
||||
|
||||
/* fall back to system CPP */
|
||||
CPP = "cpp";
|
||||
}
|
||||
|
||||
/*
|
||||
@ -374,8 +365,13 @@ open_input (const char *infile, const char *define)
|
||||
close (1);
|
||||
dup2 (pd[1], 1);
|
||||
close (pd[0]);
|
||||
execv (arglist[0], (char **) arglist);
|
||||
perror ("execv");
|
||||
execvp (arglist[0], (char **) arglist);
|
||||
if (errno == ENOENT)
|
||||
{
|
||||
fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
|
||||
exit (1);
|
||||
}
|
||||
perror ("execvp");
|
||||
exit (1);
|
||||
case -1:
|
||||
perror ("fork");
|
||||
|
Loading…
Reference in New Issue
Block a user