mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
build-system/android: remove libusb at QTest
We no longer use libusb to access USB devices on Android, therefore there's no point including libusb in our build. Also, we have never even attempted to run the tests on Android, so let's not even pretend to support building them. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
d3e495efd0
commit
0fe02af0e8
4 changed files with 13 additions and 128 deletions
|
@ -152,7 +152,10 @@ else()
|
|||
pkg_config_library(LIBXSLT libxslt REQUIRED)
|
||||
endif()
|
||||
pkg_config_library(LIBZIP libzip REQUIRED)
|
||||
pkg_config_library(LIBUSB libusb-1.0 QUIET)
|
||||
|
||||
if(NOT ANDROID)
|
||||
pkg_config_library(LIBUSB libusb-1.0 QUIET)
|
||||
endif()
|
||||
|
||||
include_directories(.
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
|
@ -190,6 +193,7 @@ endif()
|
|||
if(ANDROID)
|
||||
set(NO_PRINTING ON)
|
||||
set(NO_USERMANUAL ON)
|
||||
set(MAKE_TESTS OFF)
|
||||
list(APPEND QT_EXTRA_COMPONENTS AndroidExtras)
|
||||
set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} -llog)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
|
@ -257,12 +261,18 @@ if (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopExecutable")
|
|||
find_package(Qt5 5.9.1 REQUIRED COMPONENTS ${QT_FIND_COMPONENTS} LinguistTools Test QuickTest)
|
||||
else()
|
||||
# Kirigami 5.62 and newer require at least Qt 5.12
|
||||
find_package(Qt5 5.12 REQUIRED COMPONENTS ${QT_FIND_COMPONENTS} LinguistTools Test QuickTest)
|
||||
if(ANDROID)
|
||||
find_package(Qt5 5.12 REQUIRED COMPONENTS ${QT_FIND_COMPONENTS} LinguistTools)
|
||||
else()
|
||||
find_package(Qt5 5.12 REQUIRED COMPONENTS ${QT_FIND_COMPONENTS} LinguistTools Test QuickTest)
|
||||
endif()
|
||||
endif()
|
||||
foreach(_QT_COMPONENT ${QT_FIND_COMPONENTS})
|
||||
list(APPEND QT_LIBRARIES Qt5::${_QT_COMPONENT})
|
||||
endforeach()
|
||||
set(QT_TEST_LIBRARIES ${QT_LIBRARIES} Qt5::Test Qt5::QuickTest)
|
||||
if(NOT ANDROID)
|
||||
set(QT_TEST_LIBRARIES ${QT_LIBRARIES} Qt5::Test Qt5::QuickTest)
|
||||
endif()
|
||||
|
||||
#set up the subsurface_link_libraries variable
|
||||
set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} ${LIBDIVECOMPUTER_LIBRARIES} ${LIBGIT2_LIBRARIES} ${LIBUSB_LIBRARIES})
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
#include <fcntl.h>
|
||||
#include <libusb.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <zip.h>
|
||||
|
@ -38,13 +37,6 @@ double system_divelist_default_font_size = -1;
|
|||
int get_usb_fd(uint16_t idVendor, uint16_t idProduct);
|
||||
void subsurface_OS_pref_setup(void)
|
||||
{
|
||||
// Abusing this function to get a decent place where we can wire in
|
||||
// our open callback into libusb
|
||||
#ifdef libusb_android_open_callback_func
|
||||
libusb_set_android_open_callback(get_usb_fd);
|
||||
#elif __ANDROID__
|
||||
#error we need libusb_android_open_callback
|
||||
#endif
|
||||
}
|
||||
|
||||
bool subsurface_ignore_font(const char *font)
|
||||
|
|
|
@ -315,29 +315,6 @@ if [ "$QUICK" = "" ] ; then
|
|||
popd
|
||||
fi
|
||||
|
||||
"${SUBSURFACE_SOURCE}"/scripts/get-dep-lib.sh singleAndroid . libusb
|
||||
if ! grep -q libusb_set_android_open_callback libusb/libusb/libusb.h ; then
|
||||
# Patch in our libusb callback
|
||||
pushd libusb
|
||||
patch -p1 < "$SUBSURFACE_SOURCE"/packaging/android/patches/libusb-android.patch
|
||||
popd
|
||||
fi
|
||||
if [ ! -e libusb/configure ] ; then
|
||||
pushd libusb
|
||||
mkdir m4
|
||||
autoreconf -i
|
||||
popd
|
||||
fi
|
||||
if [ ! -e "$PKG_CONFIG_LIBDIR/libusb-1.0.pc" ] ; then
|
||||
mkdir -p libusb-build-"$ARCH"
|
||||
pushd libusb-build-"$ARCH"
|
||||
../libusb/configure --host=${BUILDCHAIN} --prefix="$PREFIX" --enable-static --disable-shared --disable-udev --enable-system-log
|
||||
# --enable-debug-log
|
||||
make
|
||||
make install
|
||||
popd
|
||||
fi
|
||||
|
||||
fi # QUICK
|
||||
|
||||
pushd "$SUBSURFACE_SOURCE"
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
diff -ur libusb-1.0.19.orig/libusb/libusb.h libusb-1.0.19/libusb/libusb.h
|
||||
--- libusb-1.0.19.orig/libusb/libusb.h 2014-06-13 20:31:35.000000000 +0200
|
||||
+++ libusb-1.0.19/libusb/libusb.h 2015-08-20 22:26:15.851840655 +0200
|
||||
@@ -1991,6 +1991,14 @@
|
||||
void LIBUSB_CALL libusb_hotplug_deregister_callback(libusb_context *ctx,
|
||||
libusb_hotplug_callback_handle handle);
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+typedef int (*libusb_android_open_callback_func)(uint16_t idVendor, uint16_t idProduct);
|
||||
+/* Make the darn thing ifdef'able */
|
||||
+#define libusb_android_open_callback_func libusb_android_open_callback_func
|
||||
+
|
||||
+void libusb_set_android_open_callback(libusb_android_open_callback_func aocf);
|
||||
+#endif
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
diff -ur libusb-1.0.19.orig/libusb/os/linux_usbfs.c libusb-1.0.19/libusb/os/linux_usbfs.c
|
||||
--- libusb-1.0.19.orig/libusb/os/linux_usbfs.c 2014-06-13 20:31:35.000000000 +0200
|
||||
+++ libusb-1.0.19/libusb/os/linux_usbfs.c 2015-08-20 22:24:26.841479417 +0200
|
||||
@@ -179,6 +179,14 @@
|
||||
int iso_packet_offset;
|
||||
};
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+static libusb_android_open_callback_func _android_open_callback = NULL;
|
||||
+
|
||||
+void libusb_set_android_open_callback(libusb_android_open_callback_func aocf) {
|
||||
+ _android_open_callback = aocf;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int _get_usbfs_fd(struct libusb_device *dev, mode_t mode, int silent)
|
||||
{
|
||||
struct libusb_context *ctx = DEVICE_CTX(dev);
|
||||
@@ -186,14 +194,25 @@
|
||||
int fd;
|
||||
int delay = 10000;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
if (usbdev_names)
|
||||
snprintf(path, PATH_MAX, "%s/usbdev%d.%d",
|
||||
usbfs_path, dev->bus_number, dev->device_address);
|
||||
else
|
||||
snprintf(path, PATH_MAX, "%s/%03d/%03d",
|
||||
usbfs_path, dev->bus_number, dev->device_address);
|
||||
+#endif
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+ if (_android_open_callback) {
|
||||
+ fd = _android_open_callback(dev->device_descriptor.idVendor, dev->device_descriptor.idProduct);
|
||||
+ } else {
|
||||
+ usbi_err(ctx, "_android_open_callback not set");
|
||||
+ return LIBUSB_ERROR_OTHER;
|
||||
+ }
|
||||
+#else
|
||||
fd = open(path, mode);
|
||||
+#endif
|
||||
if (fd != -1)
|
||||
return fd; /* Success */
|
||||
|
||||
@@ -369,11 +388,13 @@
|
||||
struct stat statbuf;
|
||||
int r;
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
usbfs_path = find_usbfs_path();
|
||||
if (!usbfs_path) {
|
||||
usbi_err(ctx, "could not find usbfs");
|
||||
return LIBUSB_ERROR_OTHER;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (monotonic_clkid == -1)
|
||||
monotonic_clkid = find_monotonic_clock();
|
||||
@@ -469,6 +490,8 @@
|
||||
{
|
||||
#if defined(USE_UDEV)
|
||||
return linux_udev_start_event_monitor();
|
||||
+#elif __ANDROID__
|
||||
+ return LIBUSB_SUCCESS;
|
||||
#else
|
||||
return linux_netlink_start_event_monitor();
|
||||
#endif
|
||||
@@ -478,6 +501,8 @@
|
||||
{
|
||||
#if defined(USE_UDEV)
|
||||
return linux_udev_stop_event_monitor();
|
||||
+#elif __ANDROID__
|
||||
+ return LIBUSB_SUCCESS;
|
||||
#else
|
||||
return linux_netlink_stop_event_monitor();
|
||||
#endif
|
Loading…
Reference in a new issue