29 Commits

Author SHA1 Message Date
Jef Driesen
5f13759b6f Post release version bump to 0.2.1. 2012-11-14 09:28:17 +01:00
Jef Driesen
2ed54a204b Release version 0.2.0. 2012-09-21 22:46:30 +02:00
Jef Driesen
2511ebea3f Use the ifset macro to append the version suffix.
The version suffix is always defined. The correct condition for
appending the version suffix is whether it's defined as the empty
string or not.
2012-09-21 22:37:01 +02:00
Jef Driesen
fab606b00a Add an option to enable support for pseudo terminals.
Pseudo terminals are very convenient for testing purposes, but they are
not fully compatible with real serial (or even usb-serial) hardware.
With the new option, some workarounds can be enabled to hide the
differences and increase compatibility. Although these workarounds
shouldn't cause any problems in production builds, the advise is to
disable this feature.

A few ioctl's are not supported for pseudo terminals. They fail with
EINVAL (Linux) or ENOTTY (Mac OS X). Since these specific error codes
should not occur under normal conditions, they are simply ignored when
pseudo terminal support is enabled.

The TIOCEXCL ioctl (exclusive access) is also problematic. The TIOCEXCL
setting is shared between the master and slave side of the pty. When the
setting is applied on the slave side, it persists for as long as the
master side remains open. The result is that re-opening the slave side
will fail with EBUSY, unless the process has root priviliges. Since this
is very inconvenient, the TIOCEXCL setting is not used when pseudo
terminal support is enabled.
2012-08-28 23:30:43 +02:00
Jef Driesen
b1b30f068c Add an option to disable the logging.
With the new option, the library can be compiled with the entire
logging infrastructure disabled. The public api remains unchanged, but
the internal logging functions will have no effect anymore.

In practice the overhead of the logging functions should be quite
small, and disabling the logging at runtime might be more convenient.
Especially because troubleshooting will become much harder without any
logging.
2012-08-27 23:08:38 +02:00
Jef Driesen
3311960795 Add a convenience function for logging system errors.
The new convenience function provides a centralized and threadsafe
function for logging system errors. The previous functions are
deprecated and will be removed after the transition to the new context
based logging.
2012-08-27 23:02:44 +02:00
Jef Driesen
2095a2d10e Merge branch 'release-0.1'
Integrate the bugfixes from the stable branch.
2012-08-27 22:58:52 +02:00
Grischa Toedt
2f4a9abf88 Fix a build error with automake 1.12 or newer.
Since automake 1.12, the warnings in the category 'extra-portability'
are now enabled by '-Wall'. Because of this change, linking libtool
archives requires the new AM_PROG_AR macro.
2012-07-07 22:54:42 +02:00
Jef Driesen
e65025b501 Separate private and public headers.
The public header files are moved to a new subdirectory, to separate
the definition of the public interface from the actual implementation.
Using an identical directory layout as the final installation has the
advantage that the example code can be build outside the project tree
without any modifications to the #include statements.
2012-06-21 21:39:24 +02:00
Jef Driesen
fa54a55a89 Add a version suffix.
For development snapshots, a 'devel' suffix is added to distinguish from
the final release. If necessary, the suffix can also be used for 'alpha'
and 'beta' releases.
2012-06-19 21:27:46 +02:00
Jef Driesen
53b4a1c225 Post release version bump to 0.1.1 2012-06-03 22:13:38 +02:00
Jef Driesen
bb87198622 Add a version suffix.
For development snapshots, a 'devel' suffix is added to distinguish from
the final release. If necessary, the suffix can also be used for 'alpha'
and 'beta' releases.
2012-04-27 23:56:20 +02:00
Jef Driesen
631f2d4a3d Post release version bump to 0.2.0 2012-04-27 23:50:41 +02:00
Jef Driesen
c3ea5a16e4 Release version 0.1.0 2012-04-27 23:33:57 +02:00
Jef Driesen
eda03255a8 Add the libusb dependency to the pkg-config file.
When linking dynamically, the shared library contains a reference to all
external dependencies, and the linker can easily resolve them. However
when linking statically, all external dependencies have to be specified
explicitly. This rule also applies to dependencies that are not exposed
through the public api.

The pkg-config Requires.private field is used to support both static and
dynamic linking correctly.
2011-10-23 00:03:58 +02:00
Jef Driesen
088ea6d054 Add support for non standard baudrates. 2011-08-12 22:47:07 +02:00
Jef Driesen
dcfbcfbb9b Allow building on systems that don't have pkg-config. 2011-03-12 10:37:56 +01:00
Jef Driesen
5614aff3ee Add a libusb based implementation. 2011-03-12 10:37:50 +01:00
Jef Driesen
bec8c5581e Prepare the libtool shared library versioning. 2010-05-03 22:09:52 +00:00
Jef Driesen
996bfb2b48 Move the subversion revision number to a private header. 2010-05-03 14:20:05 +00:00
Jef Driesen
85dd9d8bd3 Add the subversion revision number to the version info. 2010-04-15 14:25:16 +00:00
Jef Driesen
de1bdd456c Add a version resource on Windows. 2010-03-09 15:18:45 +00:00
Jef Driesen
f265c04161 Prepare for a more flexible versioning system. 2010-03-09 15:18:25 +00:00
Jef Driesen
33dbf8034f Modernize the autotools build system. 2010-03-09 15:18:05 +00:00
Jef Driesen
b295f71536 Add a dummy backend for systems without IrDA support. 2010-02-18 09:26:32 +00:00
Jef Driesen
54410dab8d Add a datetime module. 2010-02-01 21:19:55 +00:00
Jef Driesen
8d808e99bb Enable automake silent build rules by default.
Support for silent build rules requires at least automake 1.11.
Disable by either passing --disable-silent-rules to configure or
passing V=1 to make.
2009-11-01 17:27:24 +00:00
Jef Driesen
ab5a3ffa55 Added pkg-config support. 2008-06-05 08:44:35 +00:00
Jef Driesen
5b8410f98b Start using autotools to build the project. 2008-06-04 13:56:41 +00:00