GNU bug report logs - #30198
26.0.91; [PATCH] Fix emacs-module-tests to work with out of tree build directory

Previous Next

Package: emacs;

Reported by: Andy Moreton <andrewjmoreton <at> gmail.com>

Date: Sun, 21 Jan 2018 18:45:01 UTC

Severity: normal

Tags: patch

Found in version 26.0.91

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andy Moreton <andrewjmoreton <at> gmail.com>
Subject: bug#30198: closed (Re: bug#30198: 26.0.91; [PATCH] Fix
 emacs-module-tests to work with out of tree build directory)
Date: Fri, 26 Jan 2018 13:32:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30198: 26.0.91; [PATCH] Fix emacs-module-tests to work with out of tree build directory

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 30198 <at> debbugs.gnu.org.

-- 
30198: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30198
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Andy Moreton <andrewjmoreton <at> gmail.com>
Cc: 30198-done <at> debbugs.gnu.org
Subject: Re: bug#30198: 26.0.91;
 [PATCH] Fix emacs-module-tests to work with out of tree build
 directory
Date: Fri, 26 Jan 2018 12:12:34 +0200
> From: Andy Moreton <andrewjmoreton <at> gmail.com>
> Date: Sun, 21 Jan 2018 18:44:16 +0000
> 
> Currently the emacs module tests fail to build when using an out of tree
> build directory. The following patch moves the location of the module
> library mod-test.{so,dll} from test/data/emacs-module to
> <builddir>/test/data/emacs-module, as build outputs do not belong in the
> source tree. It also fixes the test module build to find the module header
> at the correct lcoation, namely <builddir>/src/emacs-module.h.
> 
> Tested on Windows with the mingw64-x86_64 toolchain (msys2) for both
> both in-tree and out-of-tree build directories:

Thanks, pushed to the master branch.

(Note that your mailer caused the patch fail to apply due to changes
in whitespace.)

[Message part 3 (message/rfc822, inline)]
From: Andy Moreton <andrewjmoreton <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.91; [PATCH] Fix emacs-module-tests to work with out of tree
 build directory
Date: Sun, 21 Jan 2018 18:44:16 +0000
Currently the emacs module tests fail to build when using an out of tree
build directory. The following patch moves the location of the module
library mod-test.{so,dll} from test/data/emacs-module to
<builddir>/test/data/emacs-module, as build outputs do not belong in the
source tree. It also fixes the test module build to find the module header
at the correct lcoation, namely <builddir>/src/emacs-module.h.

Tested on Windows with the mingw64-x86_64 toolchain (msys2) for both
both in-tree and out-of-tree build directories:


Fix emacs-module-tests to work with an out of tree build directory

* test/Makefile.in(test_module_dir): Build the test module library in
a subdirectory of the build directory (not the source tree).
(MODULE_CFLAGS): Fix location of emacs-module.h header file.
(test_module): Move built library out of the source tree.
* test/src/emacs-module-tests.el(mod-test-file): Locate the test module
library relative to the running emacs executable.

diff --git a/test/Makefile.in b/test/Makefile.in
index 341b09b03f..7c5976435c 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -119,7 +119,7 @@ emacs =
  EMACS_TEST_DIRECTORY=$(abspath $(srcdir)) \
  $(GDB) "$(EMACS)" $(MODULES_EMACSOPT) $(EMACSOPT)

-test_module_dir := $(srcdir)/data/emacs-module
+test_module_dir := data/emacs-module

 .PHONY: all check

@@ -222,12 +222,13 @@ FPIC_CFLAGS =
 FPIC_CFLAGS = -fPIC
 endif

-MODULE_CFLAGS = -I$(srcdir)/../src $(FPIC_CFLAGS) $(PROFILING_CFLAGS) \
+MODULE_CFLAGS = -I../src $(FPIC_CFLAGS) $(PROFILING_CFLAGS) \
   $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS)

 test_module = $(test_module_dir)/mod-test${SO}
 src/emacs-module-tests.log: $(test_module)
-$(test_module): $(test_module:${SO}=.c) $(srcdir)/../src/emacs-module.h
+$(test_module): ${srcdir}/$(test_module:${SO}=.c) ../src/emacs-module.h
+    $(AM_V_at)${MKDIR_P} $(dir $@)
     $(AM_V_CCLD)$(CC) -shared $(CPPFLAGS) $(MODULE_CFLAGS) $(LDFLAGS) \
       -o $@ $<
 endif
diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el
index d9406a9609..85d6305386 100644
--- a/test/src/emacs-module-tests.el
+++ b/test/src/emacs-module-tests.el
@@ -25,8 +25,7 @@ mod-test-emacs

 (eval-and-compile
   (defconst mod-test-file
-    (substitute-in-file-name
-     "$EMACS_TEST_DIRECTORY/data/emacs-module/mod-test")
+    (expand-file-name "../test/data/emacs-module/mod-test" 
invocation-directory)
     "File name of the module test file."))

 (require 'mod-test mod-test-file)




This bug report was last modified 7 years and 178 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.