From 1ec104280d4a4b0a7544a99a7366f59cd3a2cc5f Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Tue, 1 Jul 2008 00:00:40 +0000 Subject: [PATCH] cpp-fixes-20080630 LICENSE BSD When probing in configure for cpp, use the user's PATH first and then the /lib and /usr/ccs/lib directories. Set PATH_CPP instead of CPP, since the latter is just overwritten by Autoconf. Use PATH_CPP by preference in rxgen and when pre-processing assembly, since otherwise newer gcc will treat the input file as linker input and not do anything with it. Don't assume that cpp writes to the second argument; gcc apparently doesn't always do this. Instead, redirect standard output. --- configure.in | 3 ++- src/config/Makefile.config.in | 1 + src/libafsrpc/Makefile.in | 2 +- src/rxgen/Makefile.in | 2 +- src/rxgen/rpc_main.c | 4 ++-- src/shlibafsrpc/Makefile.in | 2 +- src/sys/Makefile.in | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/configure.in b/configure.in index e380f7e7a..db1806f71 100644 --- a/configure.in +++ b/configure.in @@ -11,7 +11,8 @@ AC_SUBST(LINUX_PKGVER) AC_SUBST(LINUX_PKGREL) AC_PROG_CC -AC_CHECK_PROGS(CPP,[/lib/cpp /usr/bin/cpp /usr/ccs/lib/cpp cpp],,[$PATH:/]) +AC_PATH_PROGS([PATH_CPP], [cpp], , [$PATH:/lib:/usr/ccs/lib]) +AC_SUBST([PATH_CPP]) OPENAFS_CONFIGURE_COMMON if test -d 'doc/man-pages' ; then diff --git a/src/config/Makefile.config.in b/src/config/Makefile.config.in index 81e619850..5f1308513 100644 --- a/src/config/Makefile.config.in +++ b/src/config/Makefile.config.in @@ -65,6 +65,7 @@ PAM_CFLAGS = @PAM_CFLAGS@ PAM_LIBS = @PAM_LIBS@ PAM_OPTMZ = @PAM_OPTMZ@ PAM_DBG = @PAM_DBG@ +PATH_CPP = @PATH_CPP@ RANLIB = @RANLIB@ REGEX_OBJ = @REGEX_OBJ@ RM = @RM@ diff --git a/src/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index 478eb3f0a..a541c91a6 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -372,7 +372,7 @@ syscall.o: ${SYS}/syscall.s *bsd* ) \ touch syscall.o ;; \ *) \ - $(CPP) ${SFLAGS} ${SYS}/syscall.s syscall.ss; \ + $(PATH_CPP) ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \ as -o syscall.o syscall.ss; \ $(RM) syscall.ss;; \ esac diff --git a/src/rxgen/Makefile.in b/src/rxgen/Makefile.in index c528811e9..9240f2fed 100644 --- a/src/rxgen/Makefile.in +++ b/src/rxgen/Makefile.in @@ -26,7 +26,7 @@ rxgen: $(OBJS) AFS_component_version_number.c $(HDRS) $(CC) $(CFLAGS) $(OBJS) $(XLIBS) -o $@ rpc_main.o: rpc_main.c - $(CCOBJ) $(CFLAGS) -c $< -D__PROG_CPP__="\"$(CPP)\"" + $(CCOBJ) $(CFLAGS) -c $< -DPATH_CPP="\"$(PATH_CPP)\"" # # Install targets diff --git a/src/rxgen/rpc_main.c b/src/rxgen/rpc_main.c index facdba942..e2d2b563b 100644 --- a/src/rxgen/rpc_main.c +++ b/src/rxgen/rpc_main.c @@ -94,8 +94,8 @@ char xflag = 0; /* if set, add stats code to stubs */ char yflag = 0; /* if set, only emit function name arrays to xdr file */ int debug = 0; static char *cmdname; -#ifdef __PROG_CPP__ -static char CPP[] = __PROG_CPP__; +#ifdef PATH_CPP +static char CPP[] = PATH_CPP; #else static char CPP[] = "/lib/cpp"; #endif diff --git a/src/shlibafsrpc/Makefile.in b/src/shlibafsrpc/Makefile.in index e632eac8b..62c417085 100644 --- a/src/shlibafsrpc/Makefile.in +++ b/src/shlibafsrpc/Makefile.in @@ -378,7 +378,7 @@ syscall.o: ${SYS}/syscall.s *fbsd* ) \ touch syscall.o ;; \ *) \ - $(CPP) ${SFLAGS} ${SYS}/syscall.s syscall.ss; \ + $(PATH_CPP) ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \ as -o syscall.o syscall.ss; \ $(RM) syscall.ss;; \ esac diff --git a/src/sys/Makefile.in b/src/sys/Makefile.in index a3580d0cd..a7b5a2a26 100644 --- a/src/sys/Makefile.in +++ b/src/sys/Makefile.in @@ -99,7 +99,7 @@ syscall.o: syscall.s ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \ ;; \ rs_aix* | hp_ux10*) \ - $(CPP) -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \ + $(PATH_CPP) -P ${SFLAGS} ${srcdir}/syscall.s > syscall.ss; \ as -o syscall.o syscall.ss; \ $(RM) syscall.ss; \ ;; \ -- 2.39.5