From 5eda3a751613a5a9338f4e316eda6e425aeae162 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 18 May 2014 11:57:04 -0700 Subject: Port ctags+etags build to Sun C 5.12. * .bzrignore: Remove lib-src/ctags.c. * lib-src/Makefile.in (etags_args): Remove, replacing with ... (etags_cflags, etags_libs): New macros. All uses changed. (ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in parallel (once for ctags, once for etags) breaks parallel makes with compilers that use the source file name to name temporaries, such as Sun C 5.12. Instead, compile ctags.c. * lib-src/ctags.c: New file. --- lib-src/ChangeLog | 11 +++++++++++ lib-src/Makefile.in | 16 ++++++++-------- lib-src/ctags.c | 2 ++ 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 lib-src/ctags.c (limited to 'lib-src') diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index f571b401584..3fac70b3f73 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,14 @@ +2014-05-18 Paul Eggert + + Port ctags+etags build to Sun C 5.12. + * Makefile.in (etags_args): Remove, replacing with ... + (etags_cflags, etags_libs): New macros. All uses changed. + (ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in + parallel (once for ctags, once for etags) breaks parallel makes + with compilers that use the source file name to name temporaries, + such as Sun C 5.12. Instead, compile ctags.c. + * ctags.c: New file. + 2014-05-04 Paul Eggert Handle systems without WCONTINUED consistently. (Bug#15110, 17339) diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index 6f25d75db76..3009ff26745 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -311,18 +311,18 @@ regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h) etags_deps = ${srcdir}/etags.c regex.o $(NTLIB) $(config_h) -etags_args = -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" \ - ${srcdir}/etags.c regex.o $(LOADLIBES) $(NTLIB) -o $@ +etags_cflags = -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" -o $@ +etags_libs = regex.o $(LOADLIBES) $(NTLIB) etags${EXEEXT}: ${etags_deps} - $(CC) ${ALL_CFLAGS} ${etags_args} + $(CC) ${ALL_CFLAGS} $(etags_cflags) $(srcdir)/etags.c $(etags_libs) +## ctags.c is distinct from etags.c so that parallel makes do not write two +## etags.o files on top of each other. ## FIXME? -## Can't we use a symlink ctags -> etags, and make etags check for argv[0]? -## Or a wrapper script that calls etags --ctags? -ctags${EXEEXT}: ${etags_deps} - $(CC) ${ALL_CFLAGS} -DCTAGS ${etags_args} - +## Can't we use a wrapper that calls 'etags --ctags'? +ctags${EXEEXT}: ctags.c ${etags_deps} + $(CC) ${ALL_CFLAGS} $(etags_cflags) $(srcdir)/ctags.c $(etags_libs) ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \ $(config_h) diff --git a/lib-src/ctags.c b/lib-src/ctags.c new file mode 100644 index 00000000000..0a6838a9dbb --- /dev/null +++ b/lib-src/ctags.c @@ -0,0 +1,2 @@ +#define CTAGS 1 +#include "etags.c" -- cgit v1.2.1