[PATCH 2/3] ruby: allow build with RUNPATH
[notmuch-archives.git] / 70 / 1f0e9d59d74b002525934de27e2f3b5322e029
1 Return-Path: <too@guru-group.fi>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id B75D8431FCB\r
6         for <notmuch@notmuchmail.org>; Mon,  2 Sep 2013 12:37:35 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 0\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
12         autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id 2gRLT0pZwEUs for <notmuch@notmuchmail.org>;\r
16         Mon,  2 Sep 2013 12:37:29 -0700 (PDT)\r
17 Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
18         by olra.theworths.org (Postfix) with ESMTP id 6AC54431FC7\r
19         for <notmuch@notmuchmail.org>; Mon,  2 Sep 2013 12:37:29 -0700 (PDT)\r
20 Received: by guru.guru-group.fi (Postfix, from userid 501)\r
21         id A6DA7100063; Mon,  2 Sep 2013 22:37:17 +0300 (EEST)\r
22 From: Tomi Ollila <tomi.ollila@iki.fi>\r
23 To: notmuch@notmuchmail.org\r
24 Subject: [PATCH] emacs: target notmuch-one.el[c] -- emacs client in one .el[c]\r
25         file\r
26 Date: Mon,  2 Sep 2013 22:37:16 +0300\r
27 Message-Id: <1378150636-26822-1-git-send-email-tomi.ollila@iki.fi>\r
28 X-Mailer: git-send-email 1.8.0\r
29 Cc: tomi.ollila@iki.fi\r
30 X-BeenThere: notmuch@notmuchmail.org\r
31 X-Mailman-Version: 2.1.13\r
32 Precedence: list\r
33 List-Id: "Use and development of the notmuch mail system."\r
34         <notmuch.notmuchmail.org>\r
35 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
36         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
37 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
38 List-Post: <mailto:notmuch@notmuchmail.org>\r
39 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
40 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
41         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
42 X-List-Received-Date: Mon, 02 Sep 2013 19:37:35 -0000\r
43 \r
44 Added Makefile recipes to create notmuch emacs client in just one\r
45 .el[c] file.\r
46 \r
47 This is an experimental feature and not built by default.\r
48 \r
49 This is useful for example when one wants to build the latest\r
50 emacs client and then distribute the elisp file to many machines.\r
51 \r
52 This is also useful for (initial) testing:\r
53 \r
54      make emacs/notmuch-one.elc\r
55      emacs -q -l emacs/notmuch-one.elc -f notmuch\r
56 \r
57 can be used to quickly experiment with new development.\r
58 ---\r
59 \r
60 I've used one-file notmuch.elc since Fri Nov 4 11:03:33 2011 +0200\r
61 when I created perl script to combine all .el files together\r
62 and had only minor problems (if any, cannot be sure).\r
63 \r
64 I build notmuch.elc in one machine and then distribute it to 2\r
65 others.\r
66 \r
67 Now with the .eldeps target Austin created the same can be done\r
68 by utilizing the dependency information it provied.\r
69 \r
70 Now I build notmuch using something like the following sequence:\r
71 \r
72     ./configure --without-emacs\r
73     make\r
74     make install\r
75     make emacs/notmuch-one.elc\r
76     cp emacs/notmuch-one.elc ~/local/elisp-ext/notmuch.elc\r
77 \r
78 ... but most often I do last 2 of the above and then continue with:\r
79 \r
80     scp ~/local/elisp-ext/notmuch.elc host2:local/elisp-ext\r
81     scp ~/local/elisp-ext/notmuch.elc host3:local/elisp-ext\r
82 \r
83  emacs/Makefile.local | 14 ++++++++++++++\r
84  1 file changed, 14 insertions(+)\r
85 \r
86 diff --git a/emacs/Makefile.local b/emacs/Makefile.local\r
87 index a910aff..9e3d409 100644\r
88 --- a/emacs/Makefile.local\r
89 +++ b/emacs/Makefile.local\r
90 @@ -46,6 +46,20 @@ endif\r
91  install: install-emacs\r
92  endif\r
93  \r
94 +# Unsupported hack to provide notmuch emacs client in one *.elc file.\r
95 +# It probably works -- or then it fails mysteriously. YMMV.\r
96 +# Enter `make emacs/notmuch-one.elc' in top level directory to build it.\r
97 +ifeq ($(HAVE_EMACS),1)\r
98 +$(dir)/notmuch-one.el: $(emacs_sources)\r
99 +       rm -f $(emacs_bytecode) # XXX\r
100 +       make -n all WITH_EMACS=1 | sed -n '/printf.*EMACS/ s/.* //p' | \\r
101 +               xargs grep -vh '(declare-function.*"notmuch' > '$@' || :\r
102 +       { echo ';; Local Variables:'; \\r
103 +         echo ';; byte-compile-warnings: (not cl-functions)'; \\r
104 +         echo ';; End:'; } >> '$@'\r
105 +endif\r
106 +CLEAN+=$(dir)/notmuch-one.el $(dir)/notmuch-one.elc\r
107 +\r
108  .PHONY: install-emacs\r
109  install-emacs:\r
110         mkdir -p "$(DESTDIR)$(emacslispdir)"\r
111 -- \r
112 1.8.0\r
113 \r