summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-05-18 11:57:04 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2014-05-18 11:57:04 -0700
commit5eda3a751613a5a9338f4e316eda6e425aeae162 (patch)
treebc84f75e8358c55aa902df15add6379f7361bd7a /lib-src
parent0d1b87f90e06199963af1704a07f950c0184c0bd (diff)
downloademacs-5eda3a751613a5a9338f4e316eda6e425aeae162.tar.gz
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.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog11
-rw-r--r--lib-src/Makefile.in16
-rw-r--r--lib-src/ctags.c2
3 files changed, 21 insertions, 8 deletions
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 <eggert@cs.ucla.edu>
+
+ 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 <eggert@cs.ucla.edu>
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"