Add OpenUSB support for Solaris etc.
Signed-off-by: Darran Kartaschew <chewy509@lycos.com>
Signed-off-by: Linus Walleij <triad@df.lth.se>
diff --git a/INSTALL b/INSTALL
index 090b2c8..b617f2d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -218,30 +218,28 @@
Compilation for Solaris/SunOS
-----------------------------
-libmtp builds on Solaris/SunOS with either gcc or SunStudio 12. It does
-require GNU Make (aka gmake) to be installed.
+libmtp builds on Solaris/SunOS with either gcc or SunStudio 12. It does
+require GNU Make (aka gmake) to be installed. Building libmtp on Solaris
+10 and Solaris 11 differ slightly, so alternate instructions are provided
+for each Solaris version.
+
+For Solaris 10
+--------------
To build using GCC:
+
% CFLAGS="I/usr/sfw/lib -L/usr/sfw/lib -R/usr/sfw/lib" MAKE=gmake \
INSTALL=/usr/ucb/install ./configure
% gmake
% gmake install
-Custom CLFAGS are required for libusb.so as it lives in /usr/sfw/lib,
-and this path is not in the default search path for ld. If these
-CFLAGS are not set, several components of ./configure will fail leading
+Custom CLFAGS are required for libusb.so as it lives in /usr/sfw/lib,
+and this path is not in the default search path for ld. If these
+CFLAGS are not set, several components of ./configure will fail leading
to a failed build.
To build using SunStudio 12:
-Comment out CFLAGS="$CFLAGS -Wall -Wmissing-prototypes" in configure.ac
-and rebuild ./configure using autoconf. Alternatively comment out line
- CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
-in ./configure if you want to save rebuilding ./configure. The -W
-options are not valid for SunStudio and will cause some tests in ./configure
-to fail and also create non-valid Makefiles which will cause building libmtp
-to fail as well. Then:
-
% CFLAGS="I/usr/sfw/lib -L/usr/sfw/lib -R/usr/sfw/lib" MAKE=gmake \
INSTALL=/usr/ucb/install CC=cc ./configure
% gmake
@@ -249,8 +247,43 @@
General Notes:
-All MTP devices on Solaris 10u2+ are driven by the usb_mid driver, which
-will automatically export ugen device interfaces with the correct device
-permissions. No special configuration is required. See the usb_mid(7D)
-and ugen(7D) manpages and /usr/sfw/share/doc/libusb/libusb.txt for
+All MTP devices on Solaris 10u2+ are driven by the usb_mid driver, which
+will automatically export ugen device interfaces with the correct device
+permissions. No special configuration is required. See the usb_mid(7D)
+and ugen(7D) manpages and /usr/sfw/share/doc/libusb/libusb.txt for
more information.
+
+For Solaris 11
+--------------
+
+Building libmtp on Solaris 11 is very similar to those instructions for
+Solaris 10, however libusb now lives in /usr/lib, and openusb is also
+available as an alternative USB library. Oracle does not provide a
+libusb v1.0 API compatible version of libusb, instead providing the older
+v0.1 API interface version of libusb. As mentioned, Oracle also provides
+the OpenUSB USB library as an alternate to libusb v1.0, however OpenUSB is
+not source or binary compatible with libusb.
+
+Before building/installing libmtp there are some components missing from
+the base Solaris 11 installation, and are required to be installed prior
+to building/installing libmtp. The 'libusbugen' package must be installed
+before libusb itself is usable on Solaris 11, alternatively the 'openusb'
+package may be used.
+
+To build using GCC:
+ % ./configure
+ % gmake
+ % sudo gmake install
+
+To build using SunStudio 12:
+ % CC=cc ./configure
+ % gmake
+ % sudo gmake install
+
+
+General Notes:
+All MTP devices on Solaris 11+ are driven by the usb_mid driver, which
+will automatically export ugen device interfaces with the correct device
+permissions. No special configuration is required. See the usb_mid(7D)
+and ugen(7D) manpages and /usr/share/doc/libusb/libusb.txt for more
+information.