-SP_LIB_VERSION_AGE=0
-SP_LIB_VERSION="$SP_LIB_VERSION_CURRENT:$SP_LIB_VERSION_REVISION:$SP_LIB_VERSION_AGE"
-SP_LIB_LDFLAGS="-version-info $SP_LIB_VERSION"
-AC_SUBST(SP_LIB_VERSION_CURRENT)
-AC_SUBST(SP_LIB_VERSION_REVISION)
-AC_SUBST(SP_LIB_VERSION_AGE)
-AC_SUBST(SP_LIB_VERSION)
-AC_SUBST(SP_LIB_LDFLAGS)
-
-# Checks for libraries.
-
-# This variable collects the pkg-config names of all detected libs.
-# It is then used to construct the "Requires.private:" field in the
-# libserialport.pc file.
-SP_PKGLIBS=""
-SP_LIBS=""
-
-case $target_os in
-*linux*)
- AM_CONDITIONAL([LINUX], true)
- AM_CONDITIONAL([WIN32], false)
- AM_CONDITIONAL([MACOSX], false)
- ;;
-*darwin*)
- AM_CONDITIONAL([LINUX], false)
- AM_CONDITIONAL([WIN32], false)
- AM_CONDITIONAL([MACOSX], true)
- LDFLAGS="$LDFLAGS -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation"
- AC_CHECK_HEADER(IOKit/IOKitLib.h, [], [AC_MSG_ERROR([IOKit/IOKitLib.h not found])])
- ;;
-mingw* | cygwin*)
- AM_CONDITIONAL([LINUX], false)
- AM_CONDITIONAL([WIN32], true)
- AM_CONDITIONAL([MACOSX], false)
- SP_LIBS="-lsetupapi -luuid"
- ;;
-*)
- AM_CONDITIONAL([LINUX], false)
- AM_CONDITIONAL([WIN32], false)
- AM_CONDITIONAL([MACOSX], false)
- AC_DEFINE(NO_ENUMERATION)
- AC_DEFINE(NO_PORT_METADATA)
-esac
-
-AC_SUBST(SP_PKGLIBS)
-AC_SUBST(SP_LIBS)
+SP_LIB_VERSION_AGE=1
+AC_SUBST([SP_LIB_VERSION],
+ ["$SP_LIB_VERSION_CURRENT:$SP_LIB_VERSION_REVISION:$SP_LIB_VERSION_AGE"])
+
+AC_DEFINE_UNQUOTED([SP_LIB_VERSION_CURRENT], [$SP_LIB_VERSION_CURRENT], [.])
+AC_DEFINE_UNQUOTED([SP_LIB_VERSION_REVISION], [$SP_LIB_VERSION_REVISION], [.])
+AC_DEFINE_UNQUOTED([SP_LIB_VERSION_AGE], [$SP_LIB_VERSION_AGE], [.])
+AC_DEFINE_UNQUOTED([SP_LIB_VERSION_STRING], ["$SP_LIB_VERSION"], [.])
+
+AM_CONDITIONAL([LINUX], [test -z "${host_os##linux*}" || test -z "${host_os##uclinux*}"])
+AM_CONDITIONAL([WIN32], [test -z "${host_os##mingw*}" || test -z "${host_os##cygwin*}"])
+AM_CONDITIONAL([MACOSX], [test -z "${host_os##darwin*}"])
+AM_CONDITIONAL([FREEBSD], [test -z "${host_os##freebsd*}"])
+
+AM_COND_IF([WIN32], [SP_LIBS='-lsetupapi'], [SP_LIBS=])
+AC_SUBST([SP_LIBS])
+
+AM_COND_IF([FREEBSD], [SP_PKGLIBS='libusb-2.0'], [SP_PKGLIBS=])
+AC_SUBST([SP_PKGLIBS])
+
+AM_COND_IF([MACOSX], [AC_CHECK_HEADER([IOKit/IOKitLib.h], [],
+ [AC_MSG_ERROR([IOKit/IOKitLib.h not found])])])
+
+AS_CASE([$host_os], [linux*|darwin*|mingw*|cygwin*|freebsd*],, [
+ AC_DEFINE([NO_ENUMERATION], [1], [Enumeration is unsupported.])
+ AC_DEFINE([NO_PORT_METADATA], [1], [Port metadata is unavailable.])
+])
+
+AC_SYS_LARGEFILE