From a706aa146c92298339d48100a1236909aecee265 Mon Sep 17 00:00:00 2001 From: FUTATSUKI YASUHITO Date: Mon, 19 Jun 2017 18:34:38 +0900 Subject: [PATCH 1/5] CCache: take care of program prefix/suffix on configure --- CCache/Makefile.in | 43 ++++++++++++++++++++++--------------------- CCache/ccache.h | 2 -- CCache/configure.ac | 14 ++++++++++++++ CCache/test.sh | 7 ++++++- 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/CCache/Makefile.in b/CCache/Makefile.in index 67fd3f363..845b9c6ef 100644 --- a/CCache/Makefile.in +++ b/CCache/Makefile.in @@ -8,6 +8,7 @@ bindir=@bindir@ mandir=@mandir@ INSTALLCMD=@INSTALL@ PACKAGE_NAME=@PACKAGE_NAME@ +MYNAME=@MYNAME@ # Soft link test can be skipped on systems that don't support soft linking NOSOFTLINKSTEST= @@ -25,46 +26,46 @@ OBJS= ccache.o mdfour.o hash.o execute.o util.o args.o stats.o \ cleanup.o snprintf.o unify.o HEADERS = ccache.h mdfour.h -all: $(PACKAGE_NAME)$(EXEEXT) +all: $(MYNAME)$(EXEEXT) # Regenerate Makefile if Makefile.in or config.status have changed. Makefile: $(srcdir)/Makefile.in ./config.status $(SHELL) ./config.status # Note that HTML documentation is actually generated and used from the main SWIG documentation Makefile -docs: $(srcdir)/$(PACKAGE_NAME).1 $(srcdir)/web/ccache-man.html +docs: $(srcdir)/$(MYNAME).1 $(srcdir)/web/$(MYNAME)-man.html -$(PACKAGE_NAME)$(EXEEXT): $(OBJS) $(HEADERS) +$(MYNAME)$(EXEEXT): $(OBJS) $(HEADERS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(srcdir)/$(PACKAGE_NAME).1: $(srcdir)/ccache.yo - -yodl2man -o $(srcdir)/$(PACKAGE_NAME).1 $(srcdir)/ccache.yo +$(srcdir)/$(MYNAME).1: $(srcdir)/ccache.yo + -yodl2man -o $(srcdir)/$(MYNAME).1 $(srcdir)/ccache.yo -$(srcdir)/web/ccache-man.html: $(srcdir)/ccache.yo - yodl2html -o $(srcdir)/web/ccache-man.html $(srcdir)/ccache.yo +$(srcdir)/web/$(MYNAME)-man.html: $(srcdir)/ccache.yo + yodl2html -o $(srcdir)/web/$(MYNMAE)-man.html $(srcdir)/ccache.yo -install: $(PACKAGE_NAME)$(EXEEXT) - @echo "Installing $(PACKAGE_NAME)" - @echo "Installing $(DESTDIR)${bindir}/`echo $(PACKAGE_NAME) | sed '$(transform)'`$(EXEEXT)" +install: $(MYNAME)$(EXEEXT) + @echo "Installing $(MYNAME)" + @echo "Installing $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT)" ${INSTALLCMD} -d $(DESTDIR)${bindir} - ${INSTALLCMD} -m 755 $(PACKAGE_NAME)$(EXEEXT) $(DESTDIR)${bindir}/`echo $(PACKAGE_NAME) | sed '$(transform)'`$(EXEEXT) + ${INSTALLCMD} -m 755 $(MYNAME)$(EXEEXT) $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT) -install-docs: $(srcdir)/$(PACKAGE_NAME).1 - @echo "Installing $(DESTDIR)${mandir}/man1/`echo $(PACKAGE_NAME) | sed '$(transform)'`.1" +install-docs: $(srcdir)/$(MYNAME).1 + @echo "Installing $(DESTDIR)${mandir}/man1/$(MYNAME).1" ${INSTALLCMD} -d $(DESTDIR)${mandir}/man1 - ${INSTALLCMD} -m 644 $(srcdir)/$(PACKAGE_NAME).1 $(DESTDIR)${mandir}/man1/`echo $(PACKAGE_NAME) | sed '$(transform)'`.1 + ${INSTALLCMD} -m 644 $(srcdir)/$(MYNAME).1 $(DESTDIR)${mandir}/man1/$(MYNAME).1 -uninstall: $(PACKAGE_NAME)$(EXEEXT) - rm -f $(DESTDIR)${bindir}/`echo $(PACKAGE_NAME) | sed '$(transform)'`$(EXEEXT) +uninstall: $(MYNAME)$(EXEEXT) + rm -f $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT) -uninstall-docs: $(srcdir)/$(PACKAGE_NAME).1 - rm -f $(DESTDIR)${mandir}/man1/`echo $(PACKAGE_NAME) | sed '$(transform)'`.1 +uninstall-docs: $(srcdir)/$(MYNAME).1 + rm -f $(DESTDIR)${mandir}/man1/$(MYNAME).1 clean: - /bin/rm -f $(OBJS) *~ $(PACKAGE_NAME)$(EXEEXT) + /bin/rm -f $(OBJS) *~ $(MYNAME)$(EXEEXT) test: test.sh - SWIG_LIB='$(SWIG_LIB)' PATH=../..:$$PATH SWIG='$(SWIG)' CC='$(CC)' NOSOFTLINKSTEST='$(NOSOFTLINKSTEST)' $(srcdir)/test.sh + SWIG_LIB='$(SWIG_LIB)' PATH=../..:$$PATH SWIG='$(SWIG)' CC='$(CC)' NOSOFTLINKSTEST='$(NOSOFTLINKSTEST)' CCACHE='../$(MYNAME)' $(srcdir)/test.sh check: test @@ -73,7 +74,7 @@ distclean: clean /bin/rm -rf autom4te.cache maintainer-clean: distclean - /bin/rm -f $(srcdir)/$(PACKAGE_NAME).1 $(srcdir)/web/ccache-man.html + /bin/rm -f $(srcdir)/$(MYNAME).1 $(srcdir)/web/$(MYNAME)-man.html # FIXME: To fix this, test.sh needs to be able to take ccache from the diff --git a/CCache/ccache.h b/CCache/ccache.h index a79d88322..99a63483b 100644 --- a/CCache/ccache.h +++ b/CCache/ccache.h @@ -51,8 +51,6 @@ #define STATUS_FATAL 4 #define STATUS_NOCACHE 5 -#define MYNAME PACKAGE_NAME - #define LIMIT_MULTIPLE 0.8 /* default maximum cache size */ diff --git a/CCache/configure.ac b/CCache/configure.ac index dfbf86dbc..d5f0c38c2 100644 --- a/CCache/configure.ac +++ b/CCache/configure.ac @@ -14,6 +14,20 @@ AC_PROG_CPP AC_PROG_INSTALL AC_ARG_PROGRAM # for program_transform_name +AC_SUBST(MYNAME) +if test "x$program_prefix" != "xNONE" -a "x$program_prefix" != "x" +then + MYNAME="$program_prefix$PACKAGE_NAME" +else + MYNAME="$PACKAGE_NAME" +fi +if test "x$program_suffix" != "xNONE" -a "x$program_suffix" != "x" +then + MYNAME="$MYNAME$program_suffix" +fi + +AC_DEFINE_UNQUOTED(MYNAME, "$MYNAME", [Define my program name]) + AC_DEFINE([_GNU_SOURCE], 1, [Define _GNU_SOURCE so that we get all necessary prototypes]) diff --git a/CCache/test.sh b/CCache/test.sh index 438e782cd..7e69149ff 100755 --- a/CCache/test.sh +++ b/CCache/test.sh @@ -20,7 +20,12 @@ fi PATH="`echo $PATH | \ sed -e 's!:/usr\(/local\)*/lib\([0-9]\)*/ccache\(/\)*!!g'`" -CCACHE=../ccache-swig +if test -n "$CCACHE"; then + CCACHE="$CCACHE" +else + CCACHE=../ccache-swig +fi + TESTDIR=test.$$ test_failed() { From 93895f5a5101ba77e599f25ed241d60a85de290d Mon Sep 17 00:00:00 2001 From: FUTATSUKI YASUHITO Date: Tue, 20 Jun 2017 01:33:10 +0900 Subject: [PATCH 2/5] Add header file in CCache for _WIN32 environment --- CCache/Makefile.in | 2 +- CCache/ccache.h | 2 +- CCache/config_w32.h.in | 3 +++ CCache/configure.ac | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 CCache/config_w32.h.in diff --git a/CCache/Makefile.in b/CCache/Makefile.in index 845b9c6ef..a718c8985 100644 --- a/CCache/Makefile.in +++ b/CCache/Makefile.in @@ -70,7 +70,7 @@ test: test.sh check: test distclean: clean - /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h + /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h config_win32.h /bin/rm -rf autom4te.cache maintainer-clean: distclean diff --git a/CCache/ccache.h b/CCache/ccache.h index 99a63483b..f1c7f3eef 100644 --- a/CCache/ccache.h +++ b/CCache/ccache.h @@ -6,7 +6,7 @@ #include "config.h" #else #include -#define PACKAGE_NAME "ccache-swig.exe" +#include "config_w32.h" #endif #include diff --git a/CCache/config_w32.h.in b/CCache/config_w32.h.in new file mode 100644 index 000000000..35b1c5571 --- /dev/null +++ b/CCache/config_w32.h.in @@ -0,0 +1,3 @@ +#if !defined(MYNAME) +#define MYNAME "@MYNAME@@EXEEXT@" +#endif diff --git a/CCache/configure.ac b/CCache/configure.ac index d5f0c38c2..84d8fe835 100644 --- a/CCache/configure.ac +++ b/CCache/configure.ac @@ -7,6 +7,7 @@ AC_CONFIG_SRCDIR([ccache.h]) AC_MSG_NOTICE([Configuring ccache]) AC_CONFIG_HEADER(config.h) +AC_CONFIG_FILES([config_w32.h]) dnl Checks for programs. AC_PROG_CC From 529906f181249e5def19f7a9d0f6e48b7c3d101b Mon Sep 17 00:00:00 2001 From: FUTATSUKI YASUHITO Date: Tue, 20 Jun 2017 01:47:07 +0900 Subject: [PATCH 3/5] Embed fixed string '.exe' to CCache/config_win32.h even if EXEEXT is empty. --- CCache/config_w32.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CCache/config_w32.h.in b/CCache/config_w32.h.in index 35b1c5571..74094b4bd 100644 --- a/CCache/config_w32.h.in +++ b/CCache/config_w32.h.in @@ -1,3 +1,3 @@ #if !defined(MYNAME) -#define MYNAME "@MYNAME@@EXEEXT@" +#define MYNAME "@MYNAME@.exe" #endif From 36b61dd0f27da90465b2b67ae5a136d2ff61274b Mon Sep 17 00:00:00 2001 From: FUTATSUKI YASUHITO Date: Tue, 20 Jun 2017 07:57:54 +0900 Subject: [PATCH 4/5] fix typo --- CCache/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CCache/Makefile.in b/CCache/Makefile.in index a718c8985..3e4609101 100644 --- a/CCache/Makefile.in +++ b/CCache/Makefile.in @@ -70,7 +70,7 @@ test: test.sh check: test distclean: clean - /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h config_win32.h + /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h config_w32.h /bin/rm -rf autom4te.cache maintainer-clean: distclean From 7be53b769237bf8f818b3f426b03655c2d3b1a1f Mon Sep 17 00:00:00 2001 From: FUTATSUKI YASUHITO Date: Wed, 21 Jun 2017 08:07:08 +0900 Subject: [PATCH 5/5] Apply changes requested for this pull request --- CCache/Makefile.in | 46 ++++++++++++++++++++-------------------- CCache/ccache.h | 4 +++- CCache/config_w32.h.in | 3 --- CCache/config_win32.h.in | 3 +++ CCache/configure.ac | 12 +++++------ 5 files changed, 35 insertions(+), 33 deletions(-) delete mode 100644 CCache/config_w32.h.in create mode 100644 CCache/config_win32.h.in diff --git a/CCache/Makefile.in b/CCache/Makefile.in index 3e4609101..1a6feb40f 100644 --- a/CCache/Makefile.in +++ b/CCache/Makefile.in @@ -8,7 +8,7 @@ bindir=@bindir@ mandir=@mandir@ INSTALLCMD=@INSTALL@ PACKAGE_NAME=@PACKAGE_NAME@ -MYNAME=@MYNAME@ +PROGRAM_NAME=@PROGRAM_NAME@ # Soft link test can be skipped on systems that don't support soft linking NOSOFTLINKSTEST= @@ -26,55 +26,55 @@ OBJS= ccache.o mdfour.o hash.o execute.o util.o args.o stats.o \ cleanup.o snprintf.o unify.o HEADERS = ccache.h mdfour.h -all: $(MYNAME)$(EXEEXT) +all: $(PROGRAM_NAME)$(EXEEXT) # Regenerate Makefile if Makefile.in or config.status have changed. Makefile: $(srcdir)/Makefile.in ./config.status $(SHELL) ./config.status # Note that HTML documentation is actually generated and used from the main SWIG documentation Makefile -docs: $(srcdir)/$(MYNAME).1 $(srcdir)/web/$(MYNAME)-man.html +docs: $(srcdir)/$(PROGRAM_NAME).1 $(srcdir)/web/$(PROGRAM_NAME)-man.html -$(MYNAME)$(EXEEXT): $(OBJS) $(HEADERS) +$(PROGRAM_NAME)$(EXEEXT): $(OBJS) $(HEADERS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(srcdir)/$(MYNAME).1: $(srcdir)/ccache.yo - -yodl2man -o $(srcdir)/$(MYNAME).1 $(srcdir)/ccache.yo +$(srcdir)/$(PROGRAM_NAME).1: $(srcdir)/ccache.yo + -yodl2man -o $(srcdir)/$(PROGRAM_NAME).1 $(srcdir)/ccache.yo -$(srcdir)/web/$(MYNAME)-man.html: $(srcdir)/ccache.yo - yodl2html -o $(srcdir)/web/$(MYNMAE)-man.html $(srcdir)/ccache.yo +$(srcdir)/web/$(PROGRAM_NAME)-man.html: $(srcdir)/ccache.yo + yodl2html -o $(srcdir)/web/$(PROGRAM_NAME)-man.html $(srcdir)/ccache.yo -install: $(MYNAME)$(EXEEXT) - @echo "Installing $(MYNAME)" - @echo "Installing $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT)" +install: $(PROGRAM_NAME)$(EXEEXT) + @echo "Installing $(PROGRAM_NAME)" + @echo "Installing $(DESTDIR)${bindir}/$(PROGRAM_NAME)$(EXEEXT)" ${INSTALLCMD} -d $(DESTDIR)${bindir} - ${INSTALLCMD} -m 755 $(MYNAME)$(EXEEXT) $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT) + ${INSTALLCMD} -m 755 $(PROGRAM_NAME)$(EXEEXT) $(DESTDIR)${bindir}/$(PROGRAM_NAME)$(EXEEXT) -install-docs: $(srcdir)/$(MYNAME).1 - @echo "Installing $(DESTDIR)${mandir}/man1/$(MYNAME).1" +install-docs: $(srcdir)/$(PROGRAM_NAME).1 + @echo "Installing $(DESTDIR)${mandir}/man1/$(PROGRAM_NAME).1" ${INSTALLCMD} -d $(DESTDIR)${mandir}/man1 - ${INSTALLCMD} -m 644 $(srcdir)/$(MYNAME).1 $(DESTDIR)${mandir}/man1/$(MYNAME).1 + ${INSTALLCMD} -m 644 $(srcdir)/$(PROGRAM_NAME).1 $(DESTDIR)${mandir}/man1/$(PROGRAM_NAME).1 -uninstall: $(MYNAME)$(EXEEXT) - rm -f $(DESTDIR)${bindir}/$(MYNAME)$(EXEEXT) +uninstall: $(PROGRAM_NAME)$(EXEEXT) + rm -f $(DESTDIR)${bindir}/$(PROGRAM_NAME)$(EXEEXT) -uninstall-docs: $(srcdir)/$(MYNAME).1 - rm -f $(DESTDIR)${mandir}/man1/$(MYNAME).1 +uninstall-docs: $(srcdir)/$(PROGRAM_NAME).1 + rm -f $(DESTDIR)${mandir}/man1/$(PROGRAM_NAME).1 clean: - /bin/rm -f $(OBJS) *~ $(MYNAME)$(EXEEXT) + /bin/rm -f $(OBJS) *~ $(PROGRAM_NAME)$(EXEEXT) test: test.sh - SWIG_LIB='$(SWIG_LIB)' PATH=../..:$$PATH SWIG='$(SWIG)' CC='$(CC)' NOSOFTLINKSTEST='$(NOSOFTLINKSTEST)' CCACHE='../$(MYNAME)' $(srcdir)/test.sh + SWIG_LIB='$(SWIG_LIB)' PATH=../..:$$PATH SWIG='$(SWIG)' CC='$(CC)' NOSOFTLINKSTEST='$(NOSOFTLINKSTEST)' CCACHE='../$(PROGRAM_NAME)' $(srcdir)/test.sh check: test distclean: clean - /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h config_w32.h + /bin/rm -f Makefile config.h config.sub config.log build-stamp config.status ccache_swig_config.h config_win32.h /bin/rm -rf autom4te.cache maintainer-clean: distclean - /bin/rm -f $(srcdir)/$(MYNAME).1 $(srcdir)/web/$(MYNAME)-man.html + /bin/rm -f $(srcdir)/$(PROGRAM_NAME).1 $(srcdir)/web/$(PROGRAM_NAME)-man.html # FIXME: To fix this, test.sh needs to be able to take ccache from the diff --git a/CCache/ccache.h b/CCache/ccache.h index f1c7f3eef..25e786496 100644 --- a/CCache/ccache.h +++ b/CCache/ccache.h @@ -6,7 +6,7 @@ #include "config.h" #else #include -#include "config_w32.h" +#include "config_win32.h" #endif #include @@ -51,6 +51,8 @@ #define STATUS_FATAL 4 #define STATUS_NOCACHE 5 +#define MYNAME PROGRAM_NAME + #define LIMIT_MULTIPLE 0.8 /* default maximum cache size */ diff --git a/CCache/config_w32.h.in b/CCache/config_w32.h.in deleted file mode 100644 index 74094b4bd..000000000 --- a/CCache/config_w32.h.in +++ /dev/null @@ -1,3 +0,0 @@ -#if !defined(MYNAME) -#define MYNAME "@MYNAME@.exe" -#endif diff --git a/CCache/config_win32.h.in b/CCache/config_win32.h.in new file mode 100644 index 000000000..2d5ab97e3 --- /dev/null +++ b/CCache/config_win32.h.in @@ -0,0 +1,3 @@ +#if !defined(PROGRAM_NAME) +#define PROGRAM_NAME "@PROGRAM_NAME@.exe" +#endif diff --git a/CCache/configure.ac b/CCache/configure.ac index 84d8fe835..e1c761860 100644 --- a/CCache/configure.ac +++ b/CCache/configure.ac @@ -7,7 +7,7 @@ AC_CONFIG_SRCDIR([ccache.h]) AC_MSG_NOTICE([Configuring ccache]) AC_CONFIG_HEADER(config.h) -AC_CONFIG_FILES([config_w32.h]) +AC_CONFIG_FILES([config_win32.h]) dnl Checks for programs. AC_PROG_CC @@ -15,19 +15,19 @@ AC_PROG_CPP AC_PROG_INSTALL AC_ARG_PROGRAM # for program_transform_name -AC_SUBST(MYNAME) +AC_SUBST(PROGRAM_NAME) if test "x$program_prefix" != "xNONE" -a "x$program_prefix" != "x" then - MYNAME="$program_prefix$PACKAGE_NAME" + PROGRAM_NAME="$program_prefix$PACKAGE_NAME" else - MYNAME="$PACKAGE_NAME" + PROGRAM_NAME="$PACKAGE_NAME" fi if test "x$program_suffix" != "xNONE" -a "x$program_suffix" != "x" then - MYNAME="$MYNAME$program_suffix" + PROGRAM_NAME="$PROGRAM_NAME$program_suffix" fi -AC_DEFINE_UNQUOTED(MYNAME, "$MYNAME", [Define my program name]) +AC_DEFINE_UNQUOTED(PROGRAM_NAME, "$PROGRAM_NAME", [Define my program name]) AC_DEFINE([_GNU_SOURCE], 1, [Define _GNU_SOURCE so that we get all necessary prototypes])