From: Paul Eggert Date: Sun, 18 May 2014 18:57:04 +0000 (-0700) Subject: Port ctags+etags build to Sun C 5.12. X-Git-Tag: emacs-25.0.90~2640^2~87 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5eda3a751613a5a9338f4e316eda6e425aeae162;p=emacs.git 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. --- diff --git a/ChangeLog b/ChangeLog index 1e6f9cdabd8..53ac1d96fde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2014-05-18 Paul Eggert + Port ctags+etags build to Sun C 5.12. + * .bzrignore: Remove lib-src/ctags.c. + Port recent libpng changes to hosts with missing png.h. * configure.ac (HAVE_PNG): Port to platforms where libpng-config succeeds but png.h is absent, by testing libpng-config's output 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"