<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/Makefile.local, branch 0.5</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.5</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.5'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2010-11-02T06:24:44Z</updated>
<entry>
<title>Makefile: Move the -Wl,-as-needed option earlier in the command line.</title>
<updated>2010-11-02T06:24:44Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-02T06:17:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=122539a57bbb921211c9d4c8a83c0ef34d9abcdd'/>
<id>urn:sha1:122539a57bbb921211c9d4c8a83c0ef34d9abcdd</id>
<content type='text'>
This option wasn't having the desired effect, and sure enough, the
documentation states that it only affects the linking of libraries
that appear after this option on the command line. So put it early for
the desired effect.
</content>
</entry>
<entry>
<title>lib: Add GCC visibility(hidden) pragmas to private header files.</title>
<updated>2010-11-02T05:35:48Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-02T05:01:15Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c81cecf620d506653a1ead83858b8b3fc240abb5'/>
<id>urn:sha1:c81cecf620d506653a1ead83858b8b3fc240abb5</id>
<content type='text'>
This prevents any of the private functions from being leaked out
through the library interface (at least when compiling with a
recent-enough gcc to support the visibility pragma).
</content>
</entry>
<entry>
<title>Makefile: Build library with -Wl,--as-needed</title>
<updated>2010-11-01T23:52:22Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-01T23:52:22Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ffae2dc9da12d9492be143ca9c7e9e609a2de2be'/>
<id>urn:sha1:ffae2dc9da12d9492be143ca9c7e9e609a2de2be</id>
<content type='text'>
Previously, we were building the final binary with this option, but not
the library. The library can benefit from it as well, (as pointed out
by Debian's lintian).
</content>
</entry>
<entry>
<title>configure: Add a check for the -Wl,--as-needed flag.</title>
<updated>2010-10-30T20:20:33Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-10-30T20:20:33Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6b9a717c26229accc6d871b3c7d77cb34d5a68ac'/>
<id>urn:sha1:6b9a717c26229accc6d871b3c7d77cb34d5a68ac</id>
<content type='text'>
This fits with our general build philosophy of checking at configure
time for desired support, (rather than putting platform-specific
conditionals into our Makefiles).
</content>
</entry>
<entry>
<title>build: only link to what we really use</title>
<updated>2010-10-30T20:15:51Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2010-10-29T23:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=73fbce61d7f51e2873db4fcd665681e6dfad02ea'/>
<id>urn:sha1:73fbce61d7f51e2873db4fcd665681e6dfad02ea</id>
<content type='text'>
At least linux has the -Wl,--as-needed option.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
</content>
</entry>
<entry>
<title>configure: Test for flag to set rpath</title>
<updated>2010-10-30T20:15:00Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-10-30T19:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8753b9defa14bdc320ccb3b57b01a4ee7b81df00'/>
<id>urn:sha1:8753b9defa14bdc320ccb3b57b01a4ee7b81df00</id>
<content type='text'>
This is better than the previous approach which had a hardcoded Linux-specific
value in the Makefile.
</content>
</entry>
<entry>
<title>Makefile: Fix notmuch binary to directly link against Xapian and GMime.</title>
<updated>2010-10-29T21:32:48Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-10-29T21:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0b4474f4fa0b30fba6a9b1c0014d87212bad1e20'/>
<id>urn:sha1:0b4474f4fa0b30fba6a9b1c0014d87212bad1e20</id>
<content type='text'>
Without this, trying to link with the gold linker would fail, (which meant
that notmuch could not be compiled out of the box on recent Fedora, nor
even on Debian when the binutils-gold package is installed).
</content>
</entry>
<entry>
<title>test: Fix test suite to integrate with our non-recursive Makefile system.</title>
<updated>2010-09-17T19:16:10Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-09-17T19:10:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e6ba2c63c9ba3d8999bd2f1c5eac3c5bf7c14167'/>
<id>urn:sha1:e6ba2c63c9ba3d8999bd2f1c5eac3c5bf7c14167</id>
<content type='text'>
This avoids "make test" emitting messages from three (3!) recursive
invocations of make. We change the invocations of the tests themselves
to occur directly from the shell script rather than having the shell
script invoke make again and using wildcards in the Makefile.
</content>
</entry>
<entry>
<title>make install: Run ldconfig or install a DT_RUNPATH in binary as appropriate.</title>
<updated>2010-06-04T23:52:56Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-06-04T23:52:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d64d0cc8d9f9e9f23fa4432328db2ea4739bae0f'/>
<id>urn:sha1:d64d0cc8d9f9e9f23fa4432328db2ea4739bae0f</id>
<content type='text'>
Various users were confused as to why they couldn't run notmuch
immediately after "make install", (with linker errors saying that
libnotmuch.so could not be found). The errors came from two different
causes:

1. The user had installed to a system library directory, but had not
   yet run ldconfig.

2. The user had installed to some non-system directory, and had not
   set the LD_LIBRARY_PATH variable.

With this change we fix both problems (on Linux) without the user
having to do anything additional. We first use ldconfig to find the
system library directories. If the user is installing to one of these,
then we run ldconfig as part of "make install".

For case (2) we use the -rpath and --enable-new-dtags linker options
to install a DT_RUNPATH entry in the binary. This entry tells the
dynamic linker where to find libnotmuch. Without the
--enable-new-dtags option only a DT_RPATH option would be installed,
(which has the drawback of not allowing any override with the
LD_LIBRARY_PATH variable).

Distributions (such as Debian and Fedora) don't want to see binaries
packaged with a DT_RPATH or DT_RUNPATH entry. This should be avoided
automatically as long as the packages install to standard locations,
(such as /usr/lib).
</content>
</entry>
<entry>
<title>Makefile: Improve the "what to do now" message from "make install"</title>
<updated>2010-06-01T17:51:42Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-06-01T17:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1d528f890ad34d0de596b09024f35216947de063'/>
<id>urn:sha1:1d528f890ad34d0de596b09024f35216947de063</id>
<content type='text'>
This was already telling the user how to run notmuch within emacs, but
not how to just run the notmuch command-line interface, (which, as it
turns out, is a prerequisite for running the emacs interface anyway).

So add a small paragraph here.
</content>
</entry>
</feed>
