aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Makefile.local
Commit message (Collapse)AuthorAge
* lib: bump sonameGravatar Peter Wang2014-09-16
| | | | | Adding return values to notmuch_database_close and notmuch_database_destroy may require bumping the soname.
* lib: Bump library version from 3.0.0 to 3.1.0Gravatar Austin Clements2013-12-07
| | | | | | This version of the library introduces LIBNOTMUCH_CHECK_VERSION and the *_VERSION macros. Bumping the version number is also necessary to make the comment on LIBNOTMUCH_CHECK_VERSION no longer a lie.
* lib: Make VERSION macros agree with soname versionGravatar Austin Clements2013-12-07
| | | | | | | | | | | | | | | | | | We have two distinct "library version" numbers: the soname version and the version macros. We need both for different reasons: the version macros enable easy compile-time version detection (and conditional compilation), while the soname version enables runtime version detection (which includes the version checking done by things like the Python bindings). However, currently, these two version numbers are different, which is unnecessary and can lead to confusion (especially in things like Debian, which include the soname version in the package name). This patch makes them the same by bumping the version macros up to agree with the soname version. (We should probably keep the version number in just one place so they can't get out of sync, but that can be done in another patch.)
* lib/Makefile.local: depend on libs we are linking withGravatar Amadeusz Żołnowski2013-01-22
|
* lib: add date range query supportGravatar Jani Nikula2012-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a custom value range processor to enable date and time searches of the form date:since..until, where "since" and "until" are expressions understood by the previously added date/time parser, to restrict the results to messages within a particular time range (based on the Date: header). If "since" or "until" describes date/time at an accuracy of days or less, the values are rounded according to the accuracy, towards past for "since" and towards future for "until". For example, date:november..yesterday would match from the beginning of November until the end of yesterday. Expressions such as date:today..today means since the beginning of today until the end of today. Open-ended ranges are supported (since Xapian 1.2.1), i.e. you can specify date:..until or date:since.. to not limit the start or end date, respectively. CAVEATS: Xapian does not support spaces in range expressions. You can replace the spaces with '_', or (in most cases) '-', or (in some cases) leave the spaces out altogether. Entering date:expr without ".." (for example date:yesterday) will not work as you might expect. You can achieve the expected result by duplicating the expr both sides of ".." (for example date:yesterday..yesterday). Open-ended ranges won't work with pre-1.2.1 Xapian, but they don't produce an error either. Signed-off-by: Jani Nikula <jani@nikula.org>
* build: build parse-time-string as part of the notmuch lib and static cliGravatar Jani Nikula2012-10-31
|
* Support OpenBSDGravatar Austin Clements2012-10-27
| | | | | | | | OpenBSD's build flags are identical to FreeBSD, except that libraries need to be explicitly linked against libc. No code changes are necessary. From: Cody Cutler <ccutler@csail.mit.edu>
* lib: Bump SO version from 2.0.0 to 3.0.0Gravatar Austin Clements2012-05-05
| | | | | | | We've changed the APIs of notmuch_database_open, notmuch_database_create, and notmuch_database_close. Amended by db: also bump string in bindings/python/notmuch/globals.py
* Don't link libnotmuch if libutil isn't linked in properly.Gravatar Tom Prince2011-11-19
| | | | | | | For some reason, on my machine, the link is picking up /usr/lib/libutil.so instead of util/libutil.a. This causes there to be undefined symbols in libnotmuch, making it unuseable. This patch causes the link to fail instead.
* Link libutil using filenmae, rather than using -l.Gravatar Tom Prince2011-11-13
| | | | | glibc includes a libutil, so if the wrong -L options get passed, we will pick up glibc's version, rather than our own.
* xutil.c: remove duplicate copies, create new library libutil.a to contain xutil.Gravatar David Bremner2011-10-30
| | | | | | | We keep the lib/xutil.c version. As a consequence, also factor out _internal_error and associated macros. It might be overkill to make a new file error_util.c for this, but _internal_error does not really belong in database.cc.
* Prefix lib/notmuch.h and lib/gen-version-script.sh with $(srcdir)Gravatar Amadeusz Żołnowski2011-10-24
| | | | | lib/notmuch.h and lib/gen-version-script.sh couldn't have been found when building out of sources directory.
* lib: bump SONAMEGravatar David Bremner2011-10-04
| | | | | | | | | | | Based on discussions with amdragon, tschwinge, and others on IRC, I concluded that 1) symbol versioning was probably overkill for libnotmuch 2) It was also probably GNU ld specific 3) Most importantly, nobody could tell me on short notice how exactly it works. So since the change to the notmuch_database_find_message breaks the previous ABI, we need to bump the SONAME.
* lib: bump library minor version because of new symbols.Gravatar David Bremner2011-09-24
| | | | | This bump is because of the new symbols introduced by the atomicity patches.
* libnotmuch: only build symbols list after the modules are builtGravatar Thomas Jost2011-07-20
| | | | | | If the notmuch.sym target does not explicitly depend on $(libnotmuch_modules), gen-version-script.sh may be run before all the .o files are created, for example when doing a parallel build on a machine with many cores.
* Merge commit '0.6.1'Gravatar David Bremner2011-07-17
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/Makefile.local The conflicts are from three kinds of commits not merged into release: - typo fixes - removal of debug output - fix for CLEAN rule That were never merged into the release branch.
| * libnotmuch: export Xapian typeinfo symbolsGravatar David Bremner2011-07-16
| | | | | | | | | | | | | | | | | | | | | | The lack of such exporting seems to cause problems catching exceptions, as suggested by http://gcc.gnu.org/wiki/Visibility This manifested in the symbol-hiding test failing when notmuch was compile with gcc 4.4.5. On i386, this further manifested as notmuch new failing to run (crashing with an uncaught exception on first run).
* | Use POSIX sed invocationGravatar Robin Green2011-07-03
| | | | | | | | | | | | Fixes broken build on DragonFly BSD Signed-off-by: Robin Green <greenrd@greenrd.org>
* | lib/Makefile.local: remove leftover debugging output.Gravatar David Bremner2011-06-29
| | | | | | | | | | | | The removed "echo $(libnotmuch_modules)" was strictly for debugging. Thanks to Austin Clements for the hint.
| * libnotmuch: build symbols list without relying on gcc -aux-info.Gravatar David Bremner2011-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Carl reports "gcc -aux-info notmuch.aux lib/notmuch.h" does not generate notmuch.aux for him with Debian gcc 4.6.0-8. A small modification of the original sed regular expression allows us to work directly from lib/notmuch.h, rather than preprocessing with gcc. As with most such simple regex based "parsing", this is quite sensitive to the input format, and needs that each symbol to be exported from libnotmuch should - start with "notmuch_" - be the first non-whitespace token on the line - be followed by an open parenthesis. (Cherry-picked from 51b7ab69687, with conflicts resolved by db)
* | libnotmuch: build symbols list without relying on gcc -aux-info.Gravatar David Bremner2011-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Carl reports "gcc -aux-info notmuch.aux lib/notmuch.h" does not generate notmuch.aux for him with Debian gcc 4.6.0-8. A small modification of the original sed regular expression allows us to work directly from lib/notmuch.h, rather than preprocessing with gcc. As with most such simple regex based "parsing", this is quite sensitive to the input format, and needs that each symbol to be exported from libnotmuch should - start with "notmuch_" - be the first non-whitespace token on the line - be followed by an open parenthesis.
* | libnotmuch: fix typos in CLEAN setting, add fileGravatar David Bremner2011-06-28
| | | | | | | | | | | | | | - c0961e6 introduced a missing slash between $(dir)$(LIBNAME) and missing $(dir) in front of libnotmuch.a - cdf1c70a created a file $(dir)/notmuch.h.gch and neglected to add it to CLEAN
* | fix sum moar typos [build scripts, Makefiles]Gravatar Pieter Praet2011-06-23
|/ | | | | | | | Various typo fixes in comments within the Makefile and other build scripts. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just build files.
* libnotmuch: add linker script to declare only notmuch_* symbols as global.Gravatar David Bremner2011-06-23
| | | | | | | | | | | This is closely tied to gcc and particularly gnu ld, but I guess the shared library linking code would need to be adjusted to work on a non-gnu linker anyay. I had to make a few not-obviously related changes to the lib/Makefile.local to make this work: libnotmuch_modules is defined with := and used in place of $^ (cherry picked from commit 014bf85b1c06ff49be2bde5a26433d2cf376cf70)
* Implement an internal generic string list and use it.Gravatar Austin Clements2011-03-21
| | | | | | | | | | | | This replaces the guts of the filename list and tag list, making those interfaces simple iterators over the generic string list. The directory, message filename, and tags-related code now build generic string lists and then wraps them in specific iterators. The real wins come in later patches, when we use these for even more generic functionality. As a nice side-effect, this also eliminates the annoying dependency on GList in the tag list.
* build: Add support for non-source-directory builds.Gravatar Carl Worth2011-03-09
| | | | | | | | | | | | | | Such as: mkdir build cd build ../configure make This is implemented by having the configure script set a srcdir variable in Makefile.config, and then sprinkling $(srcdir) into various make rules. We also use vpath directives to convince GNU make to find the source files from the original source directory.
* Makefile: Quote variables used as filenames in shell commandsGravatar Carl Worth2011-01-26
| | | | This allows support for filenames with spaces in them.
* Increment library version to 1.3.0Gravatar Carl Worth2010-11-11
| | | | | | | | For the addition of three functions: notmuch_message_get_filenames notmuch_message_tags_to_maildir_flags notmuch_message_maildir_flags_to_tags
* lib: Add new implementation of notmuch_filenames_tGravatar Carl Worth2010-11-11
| | | | | | | | | | | | The new implementation is simply a talloc-based list of strings. The former support (a list of database terms with a common prefix) is implemented by simply pre-iterating over the terms and populating the list. This should provide no performance disadvantage as callers of thigns like notmuch_directory_get_child_files are very likely to always iterate over all filenames anyway. This new implementation of notmuch_filenames_t is in preparation for adding API to query all of the filenames for a single message.
* Update library version to 1.2.0Gravatar Carl Worth2010-11-01
| | | | | | | | | | This increment is for the recently-added functions: notmuch_query_get_query_string notmuch_query_get_sort These were recently added to the library interface, but the library version was not incremented at that time, (shame on me).
* Do not call ldconfig when building Debian packageGravatar Michal Sojka2010-10-28
| | | | | | | | | | | | | | | | | Hi, If I want to build Debian package, it fails with the following message: ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied make[1]: *** [install-lib] Error 1 The reason is that I build the package as a non-root user and make install invokes ldconfig unconditionally. The following patch contains a workaround, but I think that a more correct solution would be to check the condition LIBDIR_IN_LDCONFIG directly when make install is invoked rather than in configure as it is done now. Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
* lib: Fix "make install"Gravatar Carl Worth2010-09-21
| | | | | This has been broken since the addition of the test sub-directory to our non-recursive make system.
* make install: Run ldconfig or install a DT_RUNPATH in binary as appropriate.Gravatar Carl Worth2010-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Add support for the Solaris platformGravatar Tomas Carnecky2010-06-03
| | | | | | Like on Mac OS X, the linker doesn't automatically resolve dependencies. Signed-off-by: Tomas Carnecky <tom@dbservice.com>
* lib: Increment library version to 1.1.0Gravatar Carl Worth2010-04-27
| | | | For the addition of the new NOTMUCH_SORT_UNSORTED value.
* Makefile: Add library version information on OS X.Gravatar Carl Worth2010-04-14
| | | | | | | This encodes the library version into the library, where the linking binary can pick it up, and the linker can even enforce mismatches in the minor release, (such as linking a binary against version 1.2 and then attempting to run it against version 1.1).
* Makefile: Fix library linking command for OS XGravatar Carl Worth2010-04-14
| | | | | | | | | I'm not sure which system Aaron used, but on the machine I have access to, (Darwin 8.11.0), the -shared and -dylib_install_name options are not recognized. Instead I use -dynamic_lib and -install_name as documented here: http://www.finkproject.org/doc/porting/shared.php
* Add infrastructure for building shared library on OS X.Gravatar Aaron Ecay2010-04-14
| | | | | | | | This patch adds a configure check for OS X (actually Darwin), and sets up the Makefiles to build a proper shared library on that platform. Signed-off-by: Aaron Ecay <aaronecay@gmail.com>
* Makefile: Move compat sources from the client code to the library.Gravatar Carl Worth2010-04-14
| | | | Since the library code needs these as well.
* Avoid needlessly linking final notmuch binary against libXapian.Gravatar Carl Worth2010-04-06
| | | | | | The libnotmuch.so library already does, so we don't need to do it again. (Thanks to a Debian debhelper warning for pointing this out.)
* configure: Add support for a --includedir optionGravatar Carl Worth2010-04-06
| | | | Very similar to the existing --libdir option.
* Makefiles: Eliminate the useless quiet_* functions.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | | | | | | | With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself.
* RELEASING: Add this file describing the steps to make a release.Gravatar Carl Worth2010-04-05
| | | | | These steps might be changing a bit as we work on making the initial 0.1 release.
* Makefile.local: Automatically use makefile modeGravatar David Edmondson2010-04-03
| | | | | | | | | We add a magic line to the beginning of each Makefile.local file to help the editor know that it should use makefile mode for editing the file, (even though the filename isn't exactly "Makefile"). Edited-by: Carl Worth <cworth@cworth.org>: Expand treatment from emacs/Makefile.local to each instance of Makefile.local.
* Compile a static notmuch binary (but only install the shared version)Gravatar Carl Worth2010-04-01
| | | | | | | | The idea here is to allow a new user of notmuch to be able to run notmuch immediately after compiling, (without having to install the shared library first). This also ensures that the test suite tests the locally compiled library, and not whatever installled version of the library the dynamic linker happens to find.
* Makefile: Create include directory when installing headersGravatar Michal Sojka2010-04-01
| | | | | | When I wanted to create a debian package from the current master, make install failed because of non-existent include directory. This patch fixes this minor issue.
* lib: Switch to a 3-part version number for the library interface.Gravatar Carl Worth2010-04-01
| | | | | With a carefully documented description of how to increment the various version components.
* Makefiles: Make the install rules quiet like the compilation rules.Gravatar Carl Worth2010-03-31
| | | | | The output from make is looking better all the time, (though the columns still aren't lined up).
* Move installation of library from top-level to lib/Makefile.localGravatar Carl Worth2010-03-31
| | | | | | We had a fairly ugly violation of modularity with the top-level Makefile.local isntalling everything, (even when the build commands for the library were down in lib/Makefile.local).
* Fix target dependencies for multiple jobsGravatar Saleem Abdulrasool2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>