diff --git a/Externals/hidapi/.gitignore b/Externals/hidapi/.gitignore deleted file mode 100644 index b43ca58c25..0000000000 --- a/Externals/hidapi/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ - -# Autotools-added generated files -Makefile.in -aclocal.m4 -autom4te.cache/ -config.* -configure -depcomp -install-sh -libusb/Makefile.in -linux/Makefile.in -ltmain.sh -mac/Makefile.in -missing -testgui/Makefile.in -windows/Makefile.in - -Makefile -stamp-h1 -libtool diff --git a/Externals/hidapi/Makefile.am b/Externals/hidapi/Makefile.am deleted file mode 100644 index 196c991b66..0000000000 --- a/Externals/hidapi/Makefile.am +++ /dev/null @@ -1,81 +0,0 @@ - -ACLOCAL_AMFLAGS = -I m4 - -if OS_FREEBSD -pkgconfigdir=$(prefix)/libdata/pkgconfig -else -pkgconfigdir=$(libdir)/pkgconfig -endif - -if OS_LINUX -pkgconfig_DATA=pc/hidapi-hidraw.pc pc/hidapi-libusb.pc -else -pkgconfig_DATA=pc/hidapi.pc -endif - -SUBDIRS= - -if OS_LINUX -SUBDIRS += linux libusb -endif - -if OS_DARWIN -SUBDIRS += mac -endif - -if OS_FREEBSD -SUBDIRS += libusb -endif - -if OS_KFREEBSD -SUBDIRS += libusb -endif - -if OS_WINDOWS -SUBDIRS += windows -endif - -SUBDIRS += hidtest - -if BUILD_TESTGUI -SUBDIRS += testgui -endif - -EXTRA_DIST = udev doxygen - -dist_doc_DATA = \ - README.txt \ - AUTHORS.txt \ - LICENSE-bsd.txt \ - LICENSE-gpl3.txt \ - LICENSE-orig.txt \ - LICENSE.txt - -SCMCLEAN_TARGETS= \ - aclocal.m4 \ - config.guess \ - config.sub \ - configure \ - config.h.in \ - depcomp \ - install-sh \ - ltmain.sh \ - missing \ - mac/Makefile.in \ - testgui/Makefile.in \ - libusb/Makefile.in \ - Makefile.in \ - linux/Makefile.in \ - windows/Makefile.in \ - m4/libtool.m4 \ - m4/lt~obsolete.m4 \ - m4/ltoptions.m4 \ - m4/ltsugar.m4 \ - m4/ltversion.m4 - -SCMCLEAN_DIR_TARGETS = \ - autom4te.cache - -scm-clean: distclean - rm -f $(SCMCLEAN_TARGETS) - rm -Rf $(SCMCLEAN_DIR_TARGETS) diff --git a/Externals/hidapi/android/jni/Android.mk b/Externals/hidapi/android/jni/Android.mk deleted file mode 100644 index 527b43fd6c..0000000000 --- a/Externals/hidapi/android/jni/Android.mk +++ /dev/null @@ -1,19 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -HIDAPI_ROOT_REL:= ../.. -HIDAPI_ROOT_ABS:= $(LOCAL_PATH)/../.. - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(HIDAPI_ROOT_REL)/libusb/hid.c - -LOCAL_C_INCLUDES += \ - $(HIDAPI_ROOT_ABS)/hidapi \ - $(HIDAPI_ROOT_ABS)/android - -LOCAL_SHARED_LIBRARIES := libusb1.0 - -LOCAL_MODULE := libhidapi - -include $(BUILD_SHARED_LIBRARY) diff --git a/Externals/hidapi/bootstrap b/Externals/hidapi/bootstrap deleted file mode 100755 index 81e9b74b61..0000000000 --- a/Externals/hidapi/bootstrap +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -x -autoreconf --install --verbose --force diff --git a/Externals/hidapi/configure.ac b/Externals/hidapi/configure.ac deleted file mode 100644 index c6747f906a..0000000000 --- a/Externals/hidapi/configure.ac +++ /dev/null @@ -1,236 +0,0 @@ -AC_PREREQ(2.63) - -# Version number. This is currently the only place. -m4_define([HIDAPI_MAJOR], 0) -m4_define([HIDAPI_MINOR], 8) -m4_define([HIDAPI_RELEASE], 0) -m4_define([HIDAPI_RC], -rc1) -m4_define([VERSION_STRING], HIDAPI_MAJOR[.]HIDAPI_MINOR[.]HIDAPI_RELEASE[]HIDAPI_RC) - -AC_INIT([hidapi],[VERSION_STRING],[alan@signal11.us]) - -# Library soname version -# Follow the following rules (particularly the ones in the second link): -# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -# http://sourceware.org/autobook/autobook/autobook_91.html -lt_current="0" -lt_revision="0" -lt_age="0" -LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}" - -AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE([foreign -Wall -Werror]) -AC_CONFIG_MACRO_DIR([m4]) - -m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) -LT_INIT - -AC_PROG_CC -AC_PROG_CXX -AC_PROG_OBJC -PKG_PROG_PKG_CONFIG - - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -hidapi_lib_error() { - echo "" - echo " Library $1 was not found on this system." - echo " Please install it and re-run ./configure" - echo "" - exit 1 -} - -hidapi_prog_error() { - echo "" - echo " Program $1 was not found on this system." - echo " This program is part of $2." - echo " Please install it and re-run ./configure" - echo "" - exit 1 -} - -AC_MSG_CHECKING([operating system]) -AC_MSG_RESULT($host) -case $host in -*-linux*) - AC_MSG_RESULT([ (Linux back-end)]) - AC_DEFINE(OS_LINUX, 1, [Linux implementations]) - AC_SUBST(OS_LINUX) - backend="linux" - os="linux" - threads="pthreads" - - # HIDAPI/hidraw libs - PKG_CHECK_MODULES([libudev], [libudev], true, [hidapi_lib_error libudev]) - LIBS_HIDRAW_PR+=" $libudev_LIBS" - CFLAGS_HIDRAW+=" $libudev_CFLAGS" - - # HIDAPI/libusb libs - AC_CHECK_LIB([rt], [clock_gettime], [LIBS_LIBUSB_PRIVATE+=" -lrt"], [hidapi_lib_error librt]) - PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9], true, [hidapi_lib_error libusb-1.0]) - LIBS_LIBUSB_PRIVATE+=" $libusb_LIBS" - CFLAGS_LIBUSB+=" $libusb_CFLAGS" - ;; -*-darwin*) - AC_MSG_RESULT([ (Mac OS X back-end)]) - AC_DEFINE(OS_DARWIN, 1, [Mac implementation]) - AC_SUBST(OS_DARWIN) - backend="mac" - os="darwin" - threads="pthreads" - LIBS="${LIBS} -framework IOKit -framework CoreFoundation" - ;; -*-freebsd*) - AC_MSG_RESULT([ (FreeBSD back-end)]) - AC_DEFINE(OS_FREEBSD, 1, [FreeBSD implementation]) - AC_SUBST(OS_FREEBSD) - backend="libusb" - os="freebsd" - threads="pthreads" - - CFLAGS="$CFLAGS -I/usr/local/include" - LDFLAGS="$LDFLAGS -L/usr/local/lib" - LIBS="${LIBS}" - AC_CHECK_LIB([usb], [libusb_init], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -lusb"], [hidapi_lib_error libusb]) - AC_CHECK_LIB([iconv], [iconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv]) - echo libs_priv: $LIBS_LIBUSB_PRIVATE - ;; -*-kfreebsd*) - AC_MSG_RESULT([ (kFreeBSD back-end)]) - AC_DEFINE(OS_KFREEBSD, 1, [kFreeBSD implementation]) - AC_SUBST(OS_KFREEBSD) - backend="libusb" - os="kfreebsd" - threads="pthreads" - - AC_CHECK_LIB([usb], [libusb_init], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -lusb"], [hidapi_lib_error libusb]) - echo libs_priv: $LIBS_LIBUSB_PRIVATE - ;; -*-mingw*) - AC_MSG_RESULT([ (Windows back-end, using MinGW)]) - backend="windows" - os="windows" - threads="windows" - win_implementation="mingw" - ;; -*-cygwin*) - AC_MSG_RESULT([ (Windows back-end, using Cygwin)]) - backend="windows" - os="windows" - threads="windows" - win_implementation="cygwin" - ;; -*) - AC_MSG_ERROR([HIDAPI is not supported on your operating system yet]) -esac - -LIBS_HIDRAW="${LIBS} ${LIBS_HIDRAW_PR}" -LIBS_LIBUSB="${LIBS} ${LIBS_LIBUSB_PRIVATE}" -AC_SUBST([LIBS_HIDRAW]) -AC_SUBST([LIBS_LIBUSB]) -AC_SUBST([CFLAGS_LIBUSB]) -AC_SUBST([CFLAGS_HIDRAW]) - -if test "x$os" = xwindows; then - AC_DEFINE(OS_WINDOWS, 1, [Windows implementations]) - AC_SUBST(OS_WINDOWS) - LDFLAGS="${LDFLAGS} -no-undefined" - LIBS="${LIBS} -lsetupapi" -fi - -if test "x$threads" = xpthreads; then - AX_PTHREAD([found_pthreads=yes], [found_pthreads=no]) - - if test "x$found_pthreads" = xyes; then - if test "x$os" = xlinux; then - # Only use pthreads for libusb implementation on Linux. - LIBS_LIBUSB="$PTHREAD_LIBS $LIBS_LIBUSB" - CFLAGS_LIBUSB="$CFLAGS_LIBUSB $PTHREAD_CFLAGS" - # There's no separate CC on Linux for threading, - # so it's ok that both implementations use $PTHREAD_CC - CC="$PTHREAD_CC" - else - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - CC="$PTHREAD_CC" - fi - fi -fi - -# Test GUI -AC_ARG_ENABLE([testgui], - [AS_HELP_STRING([--enable-testgui], - [enable building of test GUI (default n)])], - [testgui_enabled=$enableval], - [testgui_enabled='no']) -AM_CONDITIONAL([BUILD_TESTGUI], [test "x$testgui_enabled" != "xno"]) - -# Configure the MacOS TestGUI app bundle -rm -Rf testgui/TestGUI.app -mkdir -p testgui/TestGUI.app -cp -R ${srcdir}/testgui/TestGUI.app.in/* testgui/TestGUI.app -chmod -R u+w testgui/TestGUI.app -mkdir testgui/TestGUI.app/Contents/MacOS/ - -if test "x$testgui_enabled" != "xno"; then - if test "x$os" = xdarwin; then - # On Mac OS, don't use pkg-config. - AC_CHECK_PROG([foxconfig], [fox-config], [fox-config], false) - if test "x$foxconfig" = "xfalse"; then - hidapi_prog_error fox-config "FOX Toolkit" - fi - LIBS_TESTGUI+=`$foxconfig --libs` - LIBS_TESTGUI+=" -framework Cocoa -L/usr/X11R6/lib" - CFLAGS_TESTGUI+=`$foxconfig --cflags` - OBJCFLAGS+=" -x objective-c++" - elif test "x$os" = xwindows; then - # On Windows, just set the paths for Fox toolkit - if test "x$win_implementation" = xmingw; then - CFLAGS_TESTGUI="-I\$(srcdir)/../../hidapi-externals/fox/include -g -c" - LIBS_TESTGUI=" -mwindows \$(srcdir)/../../hidapi-externals/fox/lib/libFOX-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32" - else - # Cygwin - CFLAGS_TESTGUI="-DWIN32 -I\$(srcdir)/../../hidapi-externals/fox/include -g -c" - LIBS_TESTGUI="\$(srcdir)/../../hidapi-externals/fox/lib/libFOX-cygwin-1.6.a -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32" - fi - else - # On Linux and FreeBSD platforms, use pkg-config to find fox. - PKG_CHECK_MODULES([fox], [fox17], [], [PKG_CHECK_MODULES([fox], [fox])]) - LIBS_TESTGUI="${LIBS_TESTGUI} $fox_LIBS" - if test "x$os" = xfreebsd; then - LIBS_TESTGUI="${LIBS_TESTGUI} -L/usr/local/lib" - fi - CFLAGS_TESTGUI="${CFLAGS_TESTGUI} $fox_CFLAGS" - fi -fi -AC_SUBST([LIBS_TESTGUI]) -AC_SUBST([CFLAGS_TESTGUI]) -AC_SUBST([backend]) - -# OS info for Automake -AM_CONDITIONAL(OS_LINUX, test "x$os" = xlinux) -AM_CONDITIONAL(OS_DARWIN, test "x$os" = xdarwin) -AM_CONDITIONAL(OS_FREEBSD, test "x$os" = xfreebsd) -AM_CONDITIONAL(OS_KFREEBSD, test "x$os" = xkfreebsd) -AM_CONDITIONAL(OS_WINDOWS, test "x$os" = xwindows) - -AC_CONFIG_HEADERS([config.h]) - -if test "x$os" = "xlinux"; then - AC_CONFIG_FILES([pc/hidapi-hidraw.pc]) - AC_CONFIG_FILES([pc/hidapi-libusb.pc]) -else - AC_CONFIG_FILES([pc/hidapi.pc]) -fi - -AC_SUBST(LTLDFLAGS) - -AC_CONFIG_FILES([Makefile \ - hidtest/Makefile \ - libusb/Makefile \ - linux/Makefile \ - mac/Makefile \ - testgui/Makefile \ - windows/Makefile]) -AC_OUTPUT diff --git a/Externals/hidapi/doxygen/Doxyfile b/Externals/hidapi/doxygen/Doxyfile deleted file mode 100644 index 9d983e9f27..0000000000 --- a/Externals/hidapi/doxygen/Doxyfile +++ /dev/null @@ -1,1630 +0,0 @@ -# Doxyfile 1.7.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = hidapi - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../hidapi - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans.ttf - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/Externals/hidapi/hidtest/.gitignore b/Externals/hidapi/hidtest/.gitignore deleted file mode 100644 index a9ce7a23b9..0000000000 --- a/Externals/hidapi/hidtest/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -Debug -Release -*.exp -*.ilk -*.lib -*.suo -*.vcproj.* -*.ncb -*.suo -*.dll -*.pdb -*.o -.deps/ -.libs/ -hidtest-hidraw -hidtest-libusb -hidtest diff --git a/Externals/hidapi/hidtest/Makefile.am b/Externals/hidapi/hidtest/Makefile.am deleted file mode 100644 index d2786445a3..0000000000 --- a/Externals/hidapi/hidtest/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ - -## Linux -if OS_LINUX -noinst_PROGRAMS = hidtest-libusb hidtest-hidraw - -hidtest_hidraw_SOURCES = hidtest.cpp -hidtest_hidraw_LDADD = $(top_builddir)/linux/libhidapi-hidraw.la - -hidtest_libusb_SOURCES = hidtest.cpp -hidtest_libusb_LDADD = $(top_builddir)/libusb/libhidapi-libusb.la -else - -# Other OS's -noinst_PROGRAMS = hidtest - -hidtest_SOURCES = hidtest.cpp -hidtest_LDADD = $(top_builddir)/$(backend)/libhidapi.la - -endif diff --git a/Externals/hidapi/hidtest/hidtest.cpp b/Externals/hidapi/hidtest/hidtest.cpp deleted file mode 100644 index 94f0a5c206..0000000000 --- a/Externals/hidapi/hidtest/hidtest.cpp +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************* - Windows HID simplification - - Alan Ott - Signal 11 Software - - 8/22/2009 - - Copyright 2009 - - This contents of this file may be used by anyone - for any reason without any conditions and may be - used as a starting point for your own applications - which use HIDAPI. -********************************************************/ - -#include -#include -#include -#include -#include "hidapi.h" - -// Headers needed for sleeping. -#ifdef _WIN32 - #include -#else - #include -#endif - -int main(int argc, char* argv[]) -{ - int res; - unsigned char buf[256]; - #define MAX_STR 255 - wchar_t wstr[MAX_STR]; - hid_device *handle; - int i; - -#ifdef WIN32 - UNREFERENCED_PARAMETER(argc); - UNREFERENCED_PARAMETER(argv); -#endif - - struct hid_device_info *devs, *cur_dev; - - if (hid_init()) - return -1; - - devs = hid_enumerate(0x0, 0x0); - cur_dev = devs; - while (cur_dev) { - printf("Device Found\n type: %04hx %04hx\n path: %s\n serial_number: %ls", cur_dev->vendor_id, cur_dev->product_id, cur_dev->path, cur_dev->serial_number); - printf("\n"); - printf(" Manufacturer: %ls\n", cur_dev->manufacturer_string); - printf(" Product: %ls\n", cur_dev->product_string); - printf(" Release: %hx\n", cur_dev->release_number); - printf(" Interface: %d\n", cur_dev->interface_number); - printf("\n"); - cur_dev = cur_dev->next; - } - hid_free_enumeration(devs); - - // Set up the command buffer. - memset(buf,0x00,sizeof(buf)); - buf[0] = 0x01; - buf[1] = 0x81; - - - // Open the device using the VID, PID, - // and optionally the Serial number. - ////handle = hid_open(0x4d8, 0x3f, L"12345"); - handle = hid_open(0x4d8, 0x3f, NULL); - if (!handle) { - printf("unable to open device\n"); - return 1; - } - - // Read the Manufacturer String - wstr[0] = 0x0000; - res = hid_get_manufacturer_string(handle, wstr, MAX_STR); - if (res < 0) - printf("Unable to read manufacturer string\n"); - printf("Manufacturer String: %ls\n", wstr); - - // Read the Product String - wstr[0] = 0x0000; - res = hid_get_product_string(handle, wstr, MAX_STR); - if (res < 0) - printf("Unable to read product string\n"); - printf("Product String: %ls\n", wstr); - - // Read the Serial Number String - wstr[0] = 0x0000; - res = hid_get_serial_number_string(handle, wstr, MAX_STR); - if (res < 0) - printf("Unable to read serial number string\n"); - printf("Serial Number String: (%d) %ls", wstr[0], wstr); - printf("\n"); - - // Read Indexed String 1 - wstr[0] = 0x0000; - res = hid_get_indexed_string(handle, 1, wstr, MAX_STR); - if (res < 0) - printf("Unable to read indexed string 1\n"); - printf("Indexed String 1: %ls\n", wstr); - - // Set the hid_read() function to be non-blocking. - hid_set_nonblocking(handle, 1); - - // Try to read from the device. There shoud be no - // data here, but execution should not block. - res = hid_read(handle, buf, 17); - - // Send a Feature Report to the device - buf[0] = 0x2; - buf[1] = 0xa0; - buf[2] = 0x0a; - buf[3] = 0x00; - buf[4] = 0x00; - res = hid_send_feature_report(handle, buf, 17); - if (res < 0) { - printf("Unable to send a feature report.\n"); - } - - memset(buf,0,sizeof(buf)); - - // Read a Feature Report from the device - buf[0] = 0x2; - res = hid_get_feature_report(handle, buf, sizeof(buf)); - if (res < 0) { - printf("Unable to get a feature report.\n"); - printf("%ls", hid_error(handle)); - } - else { - // Print out the returned buffer. - printf("Feature Report\n "); - for (i = 0; i < res; i++) - printf("%02hhx ", buf[i]); - printf("\n"); - } - - memset(buf,0,sizeof(buf)); - - // Toggle LED (cmd 0x80). The first byte is the report number (0x1). - buf[0] = 0x1; - buf[1] = 0x80; - res = hid_write(handle, buf, 17); - if (res < 0) { - printf("Unable to write()\n"); - printf("Error: %ls\n", hid_error(handle)); - } - - - // Request state (cmd 0x81). The first byte is the report number (0x1). - buf[0] = 0x1; - buf[1] = 0x81; - hid_write(handle, buf, 17); - if (res < 0) - printf("Unable to write() (2)\n"); - - // Read requested state. hid_read() has been set to be - // non-blocking by the call to hid_set_nonblocking() above. - // This loop demonstrates the non-blocking nature of hid_read(). - res = 0; - while (res == 0) { - res = hid_read(handle, buf, sizeof(buf)); - if (res == 0) - printf("waiting...\n"); - if (res < 0) - printf("Unable to read()\n"); - #ifdef WIN32 - Sleep(500); - #else - usleep(500*1000); - #endif - } - - printf("Data read:\n "); - // Print out the returned buffer. - for (i = 0; i < res; i++) - printf("%02hhx ", buf[i]); - printf("\n"); - - hid_close(handle); - - /* Free static HIDAPI objects. */ - hid_exit(); - -#ifdef WIN32 - system("pause"); -#endif - - return 0; -} diff --git a/Externals/hidapi/libusb/.gitignore b/Externals/hidapi/libusb/.gitignore deleted file mode 100644 index 67460db93e..0000000000 --- a/Externals/hidapi/libusb/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -*.o -*.so -*.la -*.lo -*.a -.libs -.deps -hidtest-libusb diff --git a/Externals/hidapi/libusb/Makefile-manual b/Externals/hidapi/libusb/Makefile-manual deleted file mode 100644 index c0fe86800d..0000000000 --- a/Externals/hidapi/libusb/Makefile-manual +++ /dev/null @@ -1,18 +0,0 @@ - - -OS=$(shell uname) - -ifeq ($(OS), Linux) - FILE=Makefile.linux -endif - -ifeq ($(OS), FreeBSD) - FILE=Makefile.freebsd -endif - -ifeq ($(FILE), ) -all: - $(error Your platform ${OS} is not supported by hidapi/libusb at this time.) -endif - -include $(FILE) diff --git a/Externals/hidapi/libusb/Makefile.am b/Externals/hidapi/libusb/Makefile.am deleted file mode 100644 index 13c9d35517..0000000000 --- a/Externals/hidapi/libusb/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -AM_CPPFLAGS = -I$(top_srcdir)/hidapi $(CFLAGS_LIBUSB) - -if OS_LINUX -lib_LTLIBRARIES = libhidapi-libusb.la -libhidapi_libusb_la_SOURCES = hid.c -libhidapi_libusb_la_LDFLAGS = $(LTLDFLAGS) $(PTHREAD_CFLAGS) -libhidapi_libusb_la_LIBADD = $(LIBS_LIBUSB) -endif - -if OS_FREEBSD -lib_LTLIBRARIES = libhidapi.la -libhidapi_la_SOURCES = hid.c -libhidapi_la_LDFLAGS = $(LTLDFLAGS) -libhidapi_la_LIBADD = $(LIBS_LIBUSB) -endif - -if OS_KFREEBSD -lib_LTLIBRARIES = libhidapi.la -libhidapi_la_SOURCES = hid.c -libhidapi_la_LDFLAGS = $(LTLDFLAGS) -libhidapi_la_LIBADD = $(LIBS_LIBUSB) -endif - -hdrdir = $(includedir)/hidapi -hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h - -EXTRA_DIST = Makefile-manual diff --git a/Externals/hidapi/libusb/Makefile.freebsd b/Externals/hidapi/libusb/Makefile.freebsd deleted file mode 100644 index 5e69e77d4e..0000000000 --- a/Externals/hidapi/libusb/Makefile.freebsd +++ /dev/null @@ -1,46 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: hidtest libs - -libs: libhidapi.so - -CC ?= cc -CFLAGS ?= -Wall -g -fPIC - -CXX ?= c++ -CXXFLAGS ?= -Wall -g - -COBJS = hid.o -CPPOBJS = ../hidtest/hidtest.o -OBJS = $(COBJS) $(CPPOBJS) -INCLUDES = -I../hidapi -I/usr/local/include -LDFLAGS = -L/usr/local/lib -LIBS = -lusb -liconv -pthread - - -# Console Test Program -hidtest: $(OBJS) - $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) - -# Shared Libs -libhidapi.so: $(COBJS) - $(CC) $(LDFLAGS) -shared -Wl,-soname,$@.0 $^ -o $@ $(LIBS) - -# Objects -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) -c $(INCLUDES) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CXXFLAGS) -c $(INCLUDES) $< -o $@ - - -clean: - rm -f $(OBJS) hidtest libhidapi.so ../hidtest/hidtest.o - -.PHONY: clean libs diff --git a/Externals/hidapi/libusb/Makefile.linux b/Externals/hidapi/libusb/Makefile.linux deleted file mode 100644 index 337b556e1c..0000000000 --- a/Externals/hidapi/libusb/Makefile.linux +++ /dev/null @@ -1,49 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: hidtest-libusb libs - -libs: libhidapi-libusb.so - -CC ?= gcc -CFLAGS ?= -Wall -g -fpic - -CXX ?= g++ -CXXFLAGS ?= -Wall -g -fpic - -LDFLAGS ?= -Wall -g - -COBJS_LIBUSB = hid.o -COBJS = $(COBJS_LIBUSB) -CPPOBJS = ../hidtest/hidtest.o -OBJS = $(COBJS) $(CPPOBJS) -LIBS_USB = `pkg-config libusb-1.0 --libs` -lrt -lpthread -LIBS = $(LIBS_USB) -INCLUDES ?= -I../hidapi `pkg-config libusb-1.0 --cflags` - - -# Console Test Program -hidtest-libusb: $(COBJS_LIBUSB) $(CPPOBJS) - $(CXX) $(LDFLAGS) $^ $(LIBS_USB) -o $@ - -# Shared Libs -libhidapi-libusb.so: $(COBJS_LIBUSB) - $(CC) $(LDFLAGS) $(LIBS_USB) -shared -fpic -Wl,-soname,$@.0 $^ -o $@ - -# Objects -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) -c $(INCLUDES) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CXXFLAGS) -c $(INCLUDES) $< -o $@ - - -clean: - rm -f $(OBJS) hidtest-libusb libhidapi-libusb.so ../hidtest/hidtest.o - -.PHONY: clean libs diff --git a/Externals/hidapi/linux/.gitignore b/Externals/hidapi/linux/.gitignore deleted file mode 100644 index 127bf37d9c..0000000000 --- a/Externals/hidapi/linux/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -Debug -Release -*.exp -*.ilk -*.lib -*.suo -*.vcproj.* -*.ncb -*.suo -*.dll -*.pdb -*.o -*.so -hidtest-hidraw -.deps -.libs -*.lo -*.la diff --git a/Externals/hidapi/linux/Makefile-manual b/Externals/hidapi/linux/Makefile-manual deleted file mode 100644 index 04ce1de45d..0000000000 --- a/Externals/hidapi/linux/Makefile-manual +++ /dev/null @@ -1,49 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: hidtest-hidraw libs - -libs: libhidapi-hidraw.so - -CC ?= gcc -CFLAGS ?= -Wall -g -fpic - -CXX ?= g++ -CXXFLAGS ?= -Wall -g -fpic - -LDFLAGS ?= -Wall -g - - -COBJS = hid.o -CPPOBJS = ../hidtest/hidtest.o -OBJS = $(COBJS) $(CPPOBJS) -LIBS_UDEV = `pkg-config libudev --libs` -lrt -LIBS = $(LIBS_UDEV) -INCLUDES ?= -I../hidapi `pkg-config libusb-1.0 --cflags` - - -# Console Test Program -hidtest-hidraw: $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $^ $(LIBS_UDEV) -o $@ - -# Shared Libs -libhidapi-hidraw.so: $(COBJS) - $(CC) $(LDFLAGS) $(LIBS_UDEV) -shared -fpic -Wl,-soname,$@.0 $^ -o $@ - -# Objects -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) -c $(INCLUDES) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CXXFLAGS) -c $(INCLUDES) $< -o $@ - - -clean: - rm -f $(OBJS) hidtest-hidraw libhidapi-hidraw.so ../hidtest/hidtest.o - -.PHONY: clean libs diff --git a/Externals/hidapi/linux/Makefile.am b/Externals/hidapi/linux/Makefile.am deleted file mode 100644 index 230eeb75a2..0000000000 --- a/Externals/hidapi/linux/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -lib_LTLIBRARIES = libhidapi-hidraw.la -libhidapi_hidraw_la_SOURCES = hid.c -libhidapi_hidraw_la_LDFLAGS = $(LTLDFLAGS) -AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ $(CFLAGS_HIDRAW) -libhidapi_hidraw_la_LIBADD = $(LIBS_HIDRAW) - -hdrdir = $(includedir)/hidapi -hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h - -EXTRA_DIST = Makefile-manual diff --git a/Externals/hidapi/m4/.gitignore b/Externals/hidapi/m4/.gitignore deleted file mode 100644 index 8f79b02044..0000000000 --- a/Externals/hidapi/m4/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore All, except pkg.m4, and of course this file. -* -!.gitignore -!pkg.m4 -!ax_pthread.m4 diff --git a/Externals/hidapi/m4/ax_pthread.m4 b/Externals/hidapi/m4/ax_pthread.m4 deleted file mode 100644 index d90de34d14..0000000000 --- a/Externals/hidapi/m4/ax_pthread.m4 +++ /dev/null @@ -1,309 +0,0 @@ -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_pthread.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -# -# DESCRIPTION -# -# This macro figures out how to build C programs using POSIX threads. It -# sets the PTHREAD_LIBS output variable to the threads library and linker -# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -# flags that are needed. (The user can also force certain compiler -# flags/libs to be tested by setting these environment variables.) -# -# Also sets PTHREAD_CC to any special C compiler that is needed for -# multi-threaded programs (defaults to the value of CC otherwise). (This -# is necessary on AIX to use the special cc_r compiler alias.) -# -# NOTE: You are assumed to not only compile your program with these flags, -# but also link it with them as well. e.g. you should link with -# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -# -# If you are only building threads programs, you may wish to use these -# variables in your default LIBS, CFLAGS, and CC: -# -# LIBS="$PTHREAD_LIBS $LIBS" -# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -# CC="$PTHREAD_CC" -# -# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -# -# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the -# PTHREAD_PRIO_INHERIT symbol is defined when compiling with -# PTHREAD_CFLAGS. -# -# ACTION-IF-FOUND is a list of shell commands to run if a threads library -# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -# is not found. If ACTION-IF-FOUND is not specified, the default action -# will define HAVE_PTHREAD. -# -# Please let the authors know if this macro fails on any platform, or if -# you have any other suggestions or comments. This macro was based on work -# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -# Alejandro Forero Cuervo to the autoconf macro repository. We are also -# grateful for the helpful feedback of numerous users. -# -# Updated for Autoconf 2.68 by Daniel Richard G. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2011 Daniel Richard G. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 18 - -AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -AC_DEFUN([AX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_PUSH([C]) -ax_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) - AC_MSG_RESULT($ax_pthread_ok) - if test x"$ax_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case ${host_os} in - solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" - ;; -esac - -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) - if test x"$ax_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - static void routine(void *a) { a = 0; } - static void *start_routine(void *a) { return a; }], - [pthread_t th; pthread_attr_t attr; - pthread_create(&th, 0, start_routine, 0); - pthread_join(th, 0); - pthread_attr_init(&attr); - pthread_cleanup_push(routine, 0); - pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT($ax_pthread_ok) - if test "x$ax_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT($attr_name) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - ax_cv_PTHREAD_PRIO_INHERIT, [ - AC_LINK_IFELSE([ - AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) - ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) - else - PTHREAD_CC=$CC - fi -else - PTHREAD_CC="$CC" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - ax_pthread_ok=no - $2 -fi -AC_LANG_POP -])dnl AX_PTHREAD diff --git a/Externals/hidapi/m4/pkg.m4 b/Externals/hidapi/m4/pkg.m4 deleted file mode 100644 index 0048a3fa05..0000000000 --- a/Externals/hidapi/m4/pkg.m4 +++ /dev/null @@ -1,157 +0,0 @@ -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES diff --git a/Externals/hidapi/mac/.gitignore b/Externals/hidapi/mac/.gitignore deleted file mode 100644 index 7cc3f0d0d6..0000000000 --- a/Externals/hidapi/mac/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -Debug -Release -*.exp -*.ilk -*.lib -*.suo -*.vcproj.* -*.ncb -*.suo -*.dll -*.pdb -*.o -hidapi-hidtest -.deps -.libs -*.la -*.lo diff --git a/Externals/hidapi/mac/Makefile-manual b/Externals/hidapi/mac/Makefile-manual deleted file mode 100644 index 5399b5a70f..0000000000 --- a/Externals/hidapi/mac/Makefile-manual +++ /dev/null @@ -1,32 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-07-03 -########################################### - -all: hidtest - -CC=gcc -CXX=g++ -COBJS=hid.o -CPPOBJS=../hidtest/hidtest.o -OBJS=$(COBJS) $(CPPOBJS) -CFLAGS+=-I../hidapi -Wall -g -c -LIBS=-framework IOKit -framework CoreFoundation - - -hidtest: $(OBJS) - g++ -Wall -g $^ $(LIBS) -o hidtest - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -clean: - rm -f *.o hidtest $(CPPOBJS) - -.PHONY: clean diff --git a/Externals/hidapi/mac/Makefile.am b/Externals/hidapi/mac/Makefile.am deleted file mode 100644 index 23d96e08fb..0000000000 --- a/Externals/hidapi/mac/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -lib_LTLIBRARIES = libhidapi.la -libhidapi_la_SOURCES = hid.c -libhidapi_la_LDFLAGS = $(LTLDFLAGS) -AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ - -hdrdir = $(includedir)/hidapi -hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h - -EXTRA_DIST = Makefile-manual diff --git a/Externals/hidapi/pc/.gitignore b/Externals/hidapi/pc/.gitignore deleted file mode 100644 index 6fd0ef029e..0000000000 --- a/Externals/hidapi/pc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pc diff --git a/Externals/hidapi/pc/hidapi-hidraw.pc.in b/Externals/hidapi/pc/hidapi-hidraw.pc.in deleted file mode 100644 index e20558d5a3..0000000000 --- a/Externals/hidapi/pc/hidapi-hidraw.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: hidapi-hidraw -Description: C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the hidraw implementation. -Version: @VERSION@ -Libs: -L${libdir} -lhidapi-hidraw -Cflags: -I${includedir}/hidapi diff --git a/Externals/hidapi/pc/hidapi-libusb.pc.in b/Externals/hidapi/pc/hidapi-libusb.pc.in deleted file mode 100644 index 2e49506553..0000000000 --- a/Externals/hidapi/pc/hidapi-libusb.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: hidapi-libusb -Description: C Library for USB HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the libusb implementation. -Version: @VERSION@ -Libs: -L${libdir} -lhidapi-libusb -Cflags: -I${includedir}/hidapi diff --git a/Externals/hidapi/pc/hidapi.pc.in b/Externals/hidapi/pc/hidapi.pc.in deleted file mode 100644 index 5835c99bf5..0000000000 --- a/Externals/hidapi/pc/hidapi.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: hidapi -Description: C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. -Version: @VERSION@ -Libs: -L${libdir} -lhidapi -Cflags: -I${includedir}/hidapi diff --git a/Externals/hidapi/testgui/.gitignore b/Externals/hidapi/testgui/.gitignore deleted file mode 100644 index f989ea8c2a..0000000000 --- a/Externals/hidapi/testgui/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -Debug -Release -*.exp -*.ilk -*.lib -*.suo -*.vcproj.* -*.ncb -*.suo -*.dll -*.pdb -*.o -hidapi-testgui -hidapi-hidraw-testgui -hidapi-libusb-testgui -.deps -.libs -*.la -*.lo -TestGUI.app diff --git a/Externals/hidapi/testgui/Makefile-manual b/Externals/hidapi/testgui/Makefile-manual deleted file mode 100644 index 3f61705f25..0000000000 --- a/Externals/hidapi/testgui/Makefile-manual +++ /dev/null @@ -1,26 +0,0 @@ - - -OS=$(shell uname) - -ifeq ($(OS), Darwin) - FILE=Makefile.mac -endif - -ifneq (,$(findstring MINGW,$(OS))) - FILE=Makefile.mingw -endif - -ifeq ($(OS), Linux) - FILE=Makefile.linux -endif - -ifeq ($(OS), FreeBSD) - FILE=Makefile.freebsd -endif - -ifeq ($(FILE), ) -all: - $(error Your platform ${OS} is not supported at this time.) -endif - -include $(FILE) diff --git a/Externals/hidapi/testgui/Makefile.am b/Externals/hidapi/testgui/Makefile.am deleted file mode 100644 index 1c02f3f2c3..0000000000 --- a/Externals/hidapi/testgui/Makefile.am +++ /dev/null @@ -1,43 +0,0 @@ - -AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ $(CFLAGS_TESTGUI) - -if OS_LINUX -## Linux -bin_PROGRAMS = hidapi-hidraw-testgui hidapi-libusb-testgui - -hidapi_hidraw_testgui_SOURCES = test.cpp -hidapi_hidraw_testgui_LDADD = $(top_builddir)/linux/libhidapi-hidraw.la $(LIBS_TESTGUI) - -hidapi_libusb_testgui_SOURCES = test.cpp -hidapi_libusb_testgui_LDADD = $(top_builddir)/libusb/libhidapi-libusb.la $(LIBS_TESTGUI) -else -## Other OS's -bin_PROGRAMS = hidapi-testgui - -hidapi_testgui_SOURCES = test.cpp -hidapi_testgui_LDADD = $(top_builddir)/$(backend)/libhidapi.la $(LIBS_TESTGUI) -endif - -if OS_DARWIN -hidapi_testgui_SOURCES = test.cpp mac_support_cocoa.m mac_support.h -# Rules for copying the binary and its dependencies into the app bundle. -TestGUI.app/Contents/MacOS/hidapi-testgui$(EXEEXT): hidapi-testgui$(EXEEXT) - $(srcdir)/copy_to_bundle.sh - -all: all-am TestGUI.app/Contents/MacOS/hidapi-testgui$(EXEEXT) - -endif - -EXTRA_DIST = \ - copy_to_bundle.sh \ - Makefile-manual \ - Makefile.freebsd \ - Makefile.linux \ - Makefile.mac \ - Makefile.mingw \ - TestGUI.app.in \ - testgui.sln \ - testgui.vcproj - -distclean-local: - rm -rf TestGUI.app diff --git a/Externals/hidapi/testgui/Makefile.freebsd b/Externals/hidapi/testgui/Makefile.freebsd deleted file mode 100644 index 09a24737cc..0000000000 --- a/Externals/hidapi/testgui/Makefile.freebsd +++ /dev/null @@ -1,33 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: testgui - -CC=cc -CXX=c++ -COBJS=../libusb/hid.o -CPPOBJS=test.o -OBJS=$(COBJS) $(CPPOBJS) -CFLAGS=-I../hidapi -I/usr/local/include `fox-config --cflags` -Wall -g -c -LDFLAGS= -L/usr/local/lib -LIBS= -lusb -liconv `fox-config --libs` -pthread - - -testgui: $(OBJS) - $(CXX) -Wall -g $^ $(LDFLAGS) -o $@ $(LIBS) - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -clean: - rm *.o testgui - -.PHONY: clean diff --git a/Externals/hidapi/testgui/Makefile.linux b/Externals/hidapi/testgui/Makefile.linux deleted file mode 100644 index d32e16317b..0000000000 --- a/Externals/hidapi/testgui/Makefile.linux +++ /dev/null @@ -1,32 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: testgui - -CC=gcc -CXX=g++ -COBJS=../libusb/hid.o -CPPOBJS=test.o -OBJS=$(COBJS) $(CPPOBJS) -CFLAGS=-I../hidapi -Wall -g -c `fox-config --cflags` `pkg-config libusb-1.0 --cflags` -LIBS=-ludev -lrt -lpthread `fox-config --libs` `pkg-config libusb-1.0 --libs` - - -testgui: $(OBJS) - g++ -Wall -g $^ $(LIBS) -o testgui - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -clean: - rm *.o testgui - -.PHONY: clean diff --git a/Externals/hidapi/testgui/Makefile.mac b/Externals/hidapi/testgui/Makefile.mac deleted file mode 100644 index cda7d49e93..0000000000 --- a/Externals/hidapi/testgui/Makefile.mac +++ /dev/null @@ -1,46 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-07-03 -########################################### - -all: hidapi-testgui - -CC=gcc -CXX=g++ -COBJS=../mac/hid.o -CPPOBJS=test.o -OBJCOBJS=mac_support_cocoa.o -OBJS=$(COBJS) $(CPPOBJS) $(OBJCOBJS) -CFLAGS=-I../hidapi -Wall -g -c `fox-config --cflags` -LDFLAGS=-L/usr/X11R6/lib -LIBS=`fox-config --libs` -framework IOKit -framework CoreFoundation -framework Cocoa - - -hidapi-testgui: $(OBJS) TestGUI.app - g++ -Wall -g $(OBJS) $(LIBS) $(LDFLAGS) -o hidapi-testgui - ./copy_to_bundle.sh - #cp TestGUI.app/Contents/MacOS/hidapi-testgui TestGUI.app/Contents/MacOS/tg - #cp start.sh TestGUI.app/Contents/MacOS/hidapi-testgui - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -$(OBJCOBJS): %.o: %.m - $(CXX) $(CFLAGS) -x objective-c++ $< -o $@ - -TestGUI.app: TestGUI.app.in - rm -Rf TestGUI.app - mkdir -p TestGUI.app - cp -R TestGUI.app.in/ TestGUI.app - -clean: - rm -f $(OBJS) hidapi-testgui - rm -Rf TestGUI.app - -.PHONY: clean diff --git a/Externals/hidapi/testgui/Makefile.mingw b/Externals/hidapi/testgui/Makefile.mingw deleted file mode 100644 index df0f69d1d0..0000000000 --- a/Externals/hidapi/testgui/Makefile.mingw +++ /dev/null @@ -1,32 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: hidapi-testgui - -CC=gcc -CXX=g++ -COBJS=../windows/hid.o -CPPOBJS=test.o -OBJS=$(COBJS) $(CPPOBJS) -CFLAGS=-I../hidapi -I../../hidapi-externals/fox/include -g -c -LIBS= -mwindows -lsetupapi -L../../hidapi-externals/fox/lib -Wl,-Bstatic -lFOX-1.6 -Wl,-Bdynamic -lgdi32 -Wl,--enable-auto-import -static-libgcc -static-libstdc++ -lkernel32 - - -hidapi-testgui: $(OBJS) - g++ -g $^ $(LIBS) -o hidapi-testgui - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -clean: - rm -f *.o hidapi-testgui.exe - -.PHONY: clean diff --git a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Info.plist b/Externals/hidapi/testgui/TestGUI.app.in/Contents/Info.plist deleted file mode 100644 index ab473d53a8..0000000000 --- a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - - CFBundleExecutable - hidapi-testgui - CFBundleIconFile - Signal11.icns - CFBundleIdentifier - us.signal11.hidtestgui - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - testgui - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - CSResourcesFileMapped - - - diff --git a/Externals/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo b/Externals/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo deleted file mode 100644 index bd04210fb4..0000000000 --- a/Externals/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings b/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index dea12de4ca..0000000000 Binary files a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns b/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns deleted file mode 100644 index bb6b7bd5f9..0000000000 Binary files a/Externals/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns and /dev/null differ diff --git a/Externals/hidapi/testgui/copy_to_bundle.sh b/Externals/hidapi/testgui/copy_to_bundle.sh deleted file mode 100755 index f0fc767a92..0000000000 --- a/Externals/hidapi/testgui/copy_to_bundle.sh +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/bash - -#### Configuration: -# The name of the executable. It is assumed -# that it is in the current working directory. -EXE_NAME=hidapi-testgui -# Path to the executable directory inside the bundle. -# This must be an absolute path, so use $PWD. -EXEPATH=$PWD/TestGUI.app/Contents/MacOS -# Libraries to explicitly bundle, even though they -# may not be in /opt/local. One per line. These -# are used with grep, so only a portion of the name -# is required. eg: libFOX, libz, etc. -LIBS_TO_BUNDLE=libFOX - - -function copydeps { - local file=$1 - # echo "Copying deps for $file...." - local BASE_OF_EXE=`basename $file` - - # A will contain the dependencies of this library - local A=`otool -LX $file |cut -f 1 -d " "` - local i - for i in $A; do - local BASE=`basename $i` - - # See if it's a lib we specifically want to bundle - local bundle_this_lib=0 - local j - for j in $LIBS_TO_BUNDLE; do - echo $i |grep -q $j - if [ $? -eq 0 ]; then - bundle_this_lib=1 - echo "bundling $i because it's in the list." - break; - fi - done - - # See if it's in /opt/local. Bundle all in /opt/local - local isOptLocal=0 - echo $i |grep -q /opt/local - if [ $? -eq 0 ]; then - isOptLocal=1 - echo "bundling $i because it's in /opt/local." - fi - - # Bundle the library - if [ $isOptLocal -ne 0 ] || [ $bundle_this_lib -ne 0 ]; then - - # Copy the file into the bundle if it exists. - if [ -f $EXEPATH/$BASE ]; then - z=0 - else - cp $i $EXEPATH - chmod 755 $EXEPATH/$BASE - fi - - - # echo "$BASE_OF_EXE depends on $BASE" - - # Fix the paths using install_name_tool and then - # call this function recursively for each dependency - # of this library. - if [ $BASE_OF_EXE != $BASE ]; then - - # Fix the paths - install_name_tool -id @executable_path/$BASE $EXEPATH/$BASE - install_name_tool -change $i @executable_path/$BASE $EXEPATH/$BASE_OF_EXE - - # Call this function (recursive) on - # on each dependency of this library. - copydeps $EXEPATH/$BASE - fi - fi - done -} - -rm -f $EXEPATH/* - -# Copy the binary into the bundle. Use ../libtool to do this if it's -# available beacuse if $EXE_NAME was built with autotools, it will be -# necessary. If ../libtool not available, just use cp to do the copy, but -# only if $EXE_NAME is a binary. -if [ -x ../libtool ]; then - ../libtool --mode=install cp $EXE_NAME $EXEPATH -else - file -bI $EXE_NAME |grep binary - if [ $? -ne 0 ]; then - echo "There is no ../libtool and $EXE_NAME is not a binary." - echo "I'm not sure what to do." - exit 1 - else - cp $EXE_NAME $EXEPATH - fi -fi -copydeps $EXEPATH/$EXE_NAME diff --git a/Externals/hidapi/testgui/mac_support.cpp b/Externals/hidapi/testgui/mac_support.cpp deleted file mode 100644 index e1e3874422..0000000000 --- a/Externals/hidapi/testgui/mac_support.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/******************************* - Mac support for HID Test GUI - - Alan Ott - Signal 11 Software - - Some of this code is from Apple Documentation, most notably - http://developer.apple.com/legacy/mac/library/documentation/AppleScript/Conceptual/AppleEvents/AppleEvents.pdf -*******************************/ - -#include -#include - - -extern FXMainWindow *g_main_window; - -static pascal OSErr HandleQuitMessage(const AppleEvent *theAppleEvent, AppleEvent - *reply, long handlerRefcon) -{ - puts("Quitting\n"); - FXApp::instance()->exit(); - return 0; -} - -static pascal OSErr HandleReopenMessage(const AppleEvent *theAppleEvent, AppleEvent - *reply, long handlerRefcon) -{ - puts("Showing"); - g_main_window->show(); - return 0; -} - -static pascal OSErr HandleWildCardMessage(const AppleEvent *theAppleEvent, AppleEvent - *reply, long handlerRefcon) -{ - puts("WildCard\n"); - return 0; -} - -OSStatus AEHandler(EventHandlerCallRef inCaller, EventRef inEvent, void* inRefcon) -{ - Boolean release = false; - EventRecord eventRecord; - OSErr ignoreErrForThisSample; - - // Events of type kEventAppleEvent must be removed from the queue - // before being passed to AEProcessAppleEvent. - if (IsEventInQueue(GetMainEventQueue(), inEvent)) - { - // RemoveEventFromQueue will release the event, which will - // destroy it if we don't retain it first. - RetainEvent(inEvent); - release = true; - RemoveEventFromQueue(GetMainEventQueue(), inEvent); - } - // Convert the event ref to the type AEProcessAppleEvent expects. - ConvertEventRefToEventRecord(inEvent, &eventRecord); - ignoreErrForThisSample = AEProcessAppleEvent(&eventRecord); - if (release) - ReleaseEvent(inEvent); - // This Carbon event has been handled, even if no AppleEvent handlers - // were installed for the Apple event. - return noErr; -} - -static void HandleEvent(EventRecord *event) -{ - //printf("What: %d message %x\n", event->what, event->message); - if (event->what == osEvt) { - if (((event->message >> 24) & 0xff) == suspendResumeMessage) { - if (event->message & resumeFlag) { - g_main_window->show(); - } - } - } - -#if 0 - switch (event->what) - { - case mouseDown: - //HandleMouseDown(event); - break; - case keyDown: - case autoKey: - //HandleKeyPress(event); - break; - case kHighLevelEvent: - puts("Calling ProcessAppleEvent\n"); - AEProcessAppleEvent(event); - break; - } -#endif -} - -void -init_apple_message_system() -{ - OSErr err; - static const EventTypeSpec appleEvents[] = - { - { kEventClassAppleEvent, kEventAppleEvent } - }; - - /* Install the handler for Apple Events */ - InstallApplicationEventHandler(NewEventHandlerUPP(AEHandler), - GetEventTypeCount(appleEvents), appleEvents, 0, NULL); - - /* Install handlers for the individual Apple Events that come - from the Dock icon: the Reopen (click), and the Quit messages. */ - err = AEInstallEventHandler(kCoreEventClass, kAEQuitApplication, - NewAEEventHandlerUPP(HandleQuitMessage), 0, false); - err = AEInstallEventHandler(kCoreEventClass, kAEReopenApplication, - NewAEEventHandlerUPP(HandleReopenMessage), 0, false); -#if 0 - // Left as an example of a wild card match. - err = AEInstallEventHandler(kCoreEventClass, typeWildCard, - NewAEEventHandlerUPP(HandleWildMessage), 0, false); -#endif -} - -void -check_apple_events() -{ - RgnHandle cursorRgn = NULL; - Boolean gotEvent=TRUE; - EventRecord event; - - while (gotEvent) { - gotEvent = WaitNextEvent(everyEvent, &event, 0L/*timeout*/, cursorRgn); - if (gotEvent) { - HandleEvent(&event); - } - } -} diff --git a/Externals/hidapi/testgui/mac_support.h b/Externals/hidapi/testgui/mac_support.h deleted file mode 100644 index 7d9ab493b5..0000000000 --- a/Externals/hidapi/testgui/mac_support.h +++ /dev/null @@ -1,17 +0,0 @@ -/******************************* - Mac support for HID Test GUI - - Alan Ott - Signal 11 Software - -*******************************/ - -#ifndef MAC_SUPPORT_H__ -#define MAC_SUPPORT_H__ - -extern "C" { - void init_apple_message_system(); - void check_apple_events(); -} - -#endif diff --git a/Externals/hidapi/testgui/mac_support_cocoa.m b/Externals/hidapi/testgui/mac_support_cocoa.m deleted file mode 100644 index 75de7e9c42..0000000000 --- a/Externals/hidapi/testgui/mac_support_cocoa.m +++ /dev/null @@ -1,94 +0,0 @@ -/******************************* - Mac support for HID Test GUI - - Alan Ott - Signal 11 Software -*******************************/ - -#include -#import - -extern FXMainWindow *g_main_window; - - -@interface MyAppDelegate : NSObject -{ -} -@end - -@implementation MyAppDelegate -- (void) applicationWillBecomeActive:(NSNotification*)notif -{ - printf("WillBecomeActive\n"); - g_main_window->show(); - -} - -- (void) applicationWillTerminate:(NSNotification*)notif -{ - /* Doesn't get called. Not sure why */ - printf("WillTerminate\n"); - FXApp::instance()->exit(); -} - -- (NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication*)sender -{ - /* Doesn't get called. Not sure why */ - printf("ShouldTerminate\n"); - return YES; -} - -- (void) applicationWillHide:(NSNotification*)notif -{ - printf("WillHide\n"); - g_main_window->hide(); -} - -- (void) handleQuitEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent -{ - printf("QuitEvent\n"); - FXApp::instance()->exit(); -} - -@end - -extern "C" { - -void -init_apple_message_system() -{ - static MyAppDelegate *d = [MyAppDelegate new]; - - [[NSApplication sharedApplication] setDelegate:d]; - - /* Register for Apple Events. */ - /* This is from - http://stackoverflow.com/questions/1768497/application-exit-event */ - NSAppleEventManager *aem = [NSAppleEventManager sharedAppleEventManager]; - [aem setEventHandler:d - andSelector:@selector(handleQuitEvent:withReplyEvent:) - forEventClass:kCoreEventClass andEventID:kAEQuitApplication]; -} - -void -check_apple_events() -{ - NSApplication *app = [NSApplication sharedApplication]; - - NSAutoreleasePool *pool = [NSAutoreleasePool new]; - while (1) { - NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask - untilDate:nil - inMode:NSDefaultRunLoopMode - dequeue:YES]; - if (event == NULL) - break; - else { - //printf("Event happened: Type: %d\n", event->_type); - [app sendEvent: event]; - } - } - [pool release]; -} - -} /* extern "C" */ diff --git a/Externals/hidapi/testgui/start.sh b/Externals/hidapi/testgui/start.sh deleted file mode 100755 index 980635d955..0000000000 --- a/Externals/hidapi/testgui/start.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -xterm -e /Users/alan/work/hidapi/testgui/TestGUI.app/Contents/MacOS/tg diff --git a/Externals/hidapi/testgui/test.cpp b/Externals/hidapi/testgui/test.cpp deleted file mode 100644 index 538db79172..0000000000 --- a/Externals/hidapi/testgui/test.cpp +++ /dev/null @@ -1,532 +0,0 @@ -/******************************************************* - Demo Program for HIDAPI - - Alan Ott - Signal 11 Software - - 2010-07-20 - - Copyright 2010, All Rights Reserved - - This contents of this file may be used by anyone - for any reason without any conditions and may be - used as a starting point for your own applications - which use HIDAPI. -********************************************************/ - - -#include - -#include "hidapi.h" -#include "mac_support.h" -#include -#include -#include - -#ifdef _WIN32 - // Thanks Microsoft, but I know how to use strncpy(). - #pragma warning(disable:4996) -#endif - -class MainWindow : public FXMainWindow { - FXDECLARE(MainWindow) - -public: - enum { - ID_FIRST = FXMainWindow::ID_LAST, - ID_CONNECT, - ID_DISCONNECT, - ID_RESCAN, - ID_SEND_OUTPUT_REPORT, - ID_SEND_FEATURE_REPORT, - ID_GET_FEATURE_REPORT, - ID_CLEAR, - ID_TIMER, - ID_MAC_TIMER, - ID_LAST, - }; - -private: - FXList *device_list; - FXButton *connect_button; - FXButton *disconnect_button; - FXButton *rescan_button; - FXButton *output_button; - FXLabel *connected_label; - FXTextField *output_text; - FXTextField *output_len; - FXButton *feature_button; - FXButton *get_feature_button; - FXTextField *feature_text; - FXTextField *feature_len; - FXTextField *get_feature_text; - FXText *input_text; - FXFont *title_font; - - struct hid_device_info *devices; - hid_device *connected_device; - size_t getDataFromTextField(FXTextField *tf, char *buf, size_t len); - int getLengthFromTextField(FXTextField *tf); - - -protected: - MainWindow() {}; -public: - MainWindow(FXApp *a); - ~MainWindow(); - virtual void create(); - - long onConnect(FXObject *sender, FXSelector sel, void *ptr); - long onDisconnect(FXObject *sender, FXSelector sel, void *ptr); - long onRescan(FXObject *sender, FXSelector sel, void *ptr); - long onSendOutputReport(FXObject *sender, FXSelector sel, void *ptr); - long onSendFeatureReport(FXObject *sender, FXSelector sel, void *ptr); - long onGetFeatureReport(FXObject *sender, FXSelector sel, void *ptr); - long onClear(FXObject *sender, FXSelector sel, void *ptr); - long onTimeout(FXObject *sender, FXSelector sel, void *ptr); - long onMacTimeout(FXObject *sender, FXSelector sel, void *ptr); -}; - -// FOX 1.7 changes the timeouts to all be nanoseconds. -// Fox 1.6 had all timeouts as milliseconds. -#if (FOX_MINOR >= 7) - const int timeout_scalar = 1000*1000; -#else - const int timeout_scalar = 1; -#endif - -FXMainWindow *g_main_window; - - -FXDEFMAP(MainWindow) MainWindowMap [] = { - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_CONNECT, MainWindow::onConnect ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_DISCONNECT, MainWindow::onDisconnect ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_RESCAN, MainWindow::onRescan ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_SEND_OUTPUT_REPORT, MainWindow::onSendOutputReport ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_SEND_FEATURE_REPORT, MainWindow::onSendFeatureReport ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_GET_FEATURE_REPORT, MainWindow::onGetFeatureReport ), - FXMAPFUNC(SEL_COMMAND, MainWindow::ID_CLEAR, MainWindow::onClear ), - FXMAPFUNC(SEL_TIMEOUT, MainWindow::ID_TIMER, MainWindow::onTimeout ), - FXMAPFUNC(SEL_TIMEOUT, MainWindow::ID_MAC_TIMER, MainWindow::onMacTimeout ), -}; - -FXIMPLEMENT(MainWindow, FXMainWindow, MainWindowMap, ARRAYNUMBER(MainWindowMap)); - -MainWindow::MainWindow(FXApp *app) - : FXMainWindow(app, "HIDAPI Test Application", NULL, NULL, DECOR_ALL, 200,100, 425,700) -{ - devices = NULL; - connected_device = NULL; - - FXVerticalFrame *vf = new FXVerticalFrame(this, LAYOUT_FILL_Y|LAYOUT_FILL_X); - - FXLabel *label = new FXLabel(vf, "HIDAPI Test Tool"); - title_font = new FXFont(getApp(), "Arial", 14, FXFont::Bold); - label->setFont(title_font); - - new FXLabel(vf, - "Select a device and press Connect.", NULL, JUSTIFY_LEFT); - new FXLabel(vf, - "Output data bytes can be entered in the Output section, \n" - "separated by space, comma or brackets. Data starting with 0x\n" - "is treated as hex. Data beginning with a 0 is treated as \n" - "octal. All other data is treated as decimal.", NULL, JUSTIFY_LEFT); - new FXLabel(vf, - "Data received from the device appears in the Input section.", - NULL, JUSTIFY_LEFT); - new FXLabel(vf, - "Optionally, a report length may be specified. Extra bytes are\n" - "padded with zeros. If no length is specified, the length is \n" - "inferred from the data.", - NULL, JUSTIFY_LEFT); - new FXLabel(vf, ""); - - // Device List and Connect/Disconnect buttons - FXHorizontalFrame *hf = new FXHorizontalFrame(vf, LAYOUT_FILL_X); - //device_list = new FXList(new FXHorizontalFrame(hf,FRAME_SUNKEN|FRAME_THICK, 0,0,0,0, 0,0,0,0), NULL, 0, LISTBOX_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0,0,300,200); - device_list = new FXList(new FXHorizontalFrame(hf,FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0,0,0,0, 0,0,0,0), NULL, 0, LISTBOX_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0,0,300,200); - FXVerticalFrame *buttonVF = new FXVerticalFrame(hf); - connect_button = new FXButton(buttonVF, "Connect", NULL, this, ID_CONNECT, BUTTON_NORMAL|LAYOUT_FILL_X); - disconnect_button = new FXButton(buttonVF, "Disconnect", NULL, this, ID_DISCONNECT, BUTTON_NORMAL|LAYOUT_FILL_X); - disconnect_button->disable(); - rescan_button = new FXButton(buttonVF, "Re-Scan devices", NULL, this, ID_RESCAN, BUTTON_NORMAL|LAYOUT_FILL_X); - new FXHorizontalFrame(buttonVF, 0, 0,0,0,0, 0,0,50,0); - - connected_label = new FXLabel(vf, "Disconnected"); - - new FXHorizontalFrame(vf); - - // Output Group Box - FXGroupBox *gb = new FXGroupBox(vf, "Output", FRAME_GROOVE|LAYOUT_FILL_X); - FXMatrix *matrix = new FXMatrix(gb, 3, MATRIX_BY_COLUMNS|LAYOUT_FILL_X); - new FXLabel(matrix, "Data"); - new FXLabel(matrix, "Length"); - new FXLabel(matrix, ""); - - //hf = new FXHorizontalFrame(gb, LAYOUT_FILL_X); - output_text = new FXTextField(matrix, 30, NULL, 0, TEXTFIELD_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); - output_text->setText("1 0x81 0"); - output_len = new FXTextField(matrix, 5, NULL, 0, TEXTFIELD_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); - output_button = new FXButton(matrix, "Send Output Report", NULL, this, ID_SEND_OUTPUT_REPORT, BUTTON_NORMAL|LAYOUT_FILL_X); - output_button->disable(); - //new FXHorizontalFrame(matrix, LAYOUT_FILL_X); - - //hf = new FXHorizontalFrame(gb, LAYOUT_FILL_X); - feature_text = new FXTextField(matrix, 30, NULL, 0, TEXTFIELD_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); - feature_len = new FXTextField(matrix, 5, NULL, 0, TEXTFIELD_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); - feature_button = new FXButton(matrix, "Send Feature Report", NULL, this, ID_SEND_FEATURE_REPORT, BUTTON_NORMAL|LAYOUT_FILL_X); - feature_button->disable(); - - get_feature_text = new FXTextField(matrix, 30, NULL, 0, TEXTFIELD_NORMAL|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); - new FXWindow(matrix); - get_feature_button = new FXButton(matrix, "Get Feature Report", NULL, this, ID_GET_FEATURE_REPORT, BUTTON_NORMAL|LAYOUT_FILL_X); - get_feature_button->disable(); - - - // Input Group Box - gb = new FXGroupBox(vf, "Input", FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); - FXVerticalFrame *innerVF = new FXVerticalFrame(gb, LAYOUT_FILL_X|LAYOUT_FILL_Y); - input_text = new FXText(new FXHorizontalFrame(innerVF,LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK, 0,0,0,0, 0,0,0,0), NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y); - input_text->setEditable(false); - new FXButton(innerVF, "Clear", NULL, this, ID_CLEAR, BUTTON_NORMAL|LAYOUT_RIGHT); - - -} - -MainWindow::~MainWindow() -{ - if (connected_device) - hid_close(connected_device); - hid_exit(); - delete title_font; -} - -void -MainWindow::create() -{ - FXMainWindow::create(); - show(); - - onRescan(NULL, 0, NULL); - - -#ifdef __APPLE__ - init_apple_message_system(); -#endif - - getApp()->addTimeout(this, ID_MAC_TIMER, - 50 * timeout_scalar /*50ms*/); -} - -long -MainWindow::onConnect(FXObject *sender, FXSelector sel, void *ptr) -{ - if (connected_device != NULL) - return 1; - - FXint cur_item = device_list->getCurrentItem(); - if (cur_item < 0) - return -1; - FXListItem *item = device_list->getItem(cur_item); - if (!item) - return -1; - struct hid_device_info *device_info = (struct hid_device_info*) item->getData(); - if (!device_info) - return -1; - - connected_device = hid_open_path(device_info->path); - - if (!connected_device) { - FXMessageBox::error(this, MBOX_OK, "Device Error", "Unable To Connect to Device"); - return -1; - } - - hid_set_nonblocking(connected_device, 1); - - getApp()->addTimeout(this, ID_TIMER, - 5 * timeout_scalar /*5ms*/); - - FXString s; - s.format("Connected to: %04hx:%04hx -", device_info->vendor_id, device_info->product_id); - s += FXString(" ") + device_info->manufacturer_string; - s += FXString(" ") + device_info->product_string; - connected_label->setText(s); - output_button->enable(); - feature_button->enable(); - get_feature_button->enable(); - connect_button->disable(); - disconnect_button->enable(); - input_text->setText(""); - - - return 1; -} - -long -MainWindow::onDisconnect(FXObject *sender, FXSelector sel, void *ptr) -{ - hid_close(connected_device); - connected_device = NULL; - connected_label->setText("Disconnected"); - output_button->disable(); - feature_button->disable(); - get_feature_button->disable(); - connect_button->enable(); - disconnect_button->disable(); - - getApp()->removeTimeout(this, ID_TIMER); - - return 1; -} - -long -MainWindow::onRescan(FXObject *sender, FXSelector sel, void *ptr) -{ - struct hid_device_info *cur_dev; - - device_list->clearItems(); - - // List the Devices - hid_free_enumeration(devices); - devices = hid_enumerate(0x0, 0x0); - cur_dev = devices; - while (cur_dev) { - // Add it to the List Box. - FXString s; - FXString usage_str; - s.format("%04hx:%04hx -", cur_dev->vendor_id, cur_dev->product_id); - s += FXString(" ") + cur_dev->manufacturer_string; - s += FXString(" ") + cur_dev->product_string; - usage_str.format(" (usage: %04hx:%04hx) ", cur_dev->usage_page, cur_dev->usage); - s += usage_str; - FXListItem *li = new FXListItem(s, NULL, cur_dev); - device_list->appendItem(li); - - cur_dev = cur_dev->next; - } - - if (device_list->getNumItems() == 0) - device_list->appendItem("*** No Devices Connected ***"); - else { - device_list->selectItem(0); - } - - return 1; -} - -size_t -MainWindow::getDataFromTextField(FXTextField *tf, char *buf, size_t len) -{ - const char *delim = " ,{}\t\r\n"; - FXString data = tf->getText(); - const FXchar *d = data.text(); - size_t i = 0; - - // Copy the string from the GUI. - size_t sz = strlen(d); - char *str = (char*) malloc(sz+1); - strcpy(str, d); - - // For each token in the string, parse and store in buf[]. - char *token = strtok(str, delim); - while (token) { - char *endptr; - long int val = strtol(token, &endptr, 0); - buf[i++] = val; - token = strtok(NULL, delim); - } - - free(str); - return i; -} - -/* getLengthFromTextField() - Returns length: - 0: empty text field - >0: valid length - -1: invalid length */ -int -MainWindow::getLengthFromTextField(FXTextField *tf) -{ - long int len; - FXString str = tf->getText(); - size_t sz = str.length(); - - if (sz > 0) { - char *endptr; - len = strtol(str.text(), &endptr, 0); - if (endptr != str.text() && *endptr == '\0') { - if (len <= 0) { - FXMessageBox::error(this, MBOX_OK, "Invalid length", "Enter a length greater than zero."); - return -1; - } - return len; - } - else - return -1; - } - - return 0; -} - -long -MainWindow::onSendOutputReport(FXObject *sender, FXSelector sel, void *ptr) -{ - char buf[256]; - size_t data_len, len; - int textfield_len; - - memset(buf, 0x0, sizeof(buf)); - textfield_len = getLengthFromTextField(output_len); - data_len = getDataFromTextField(output_text, buf, sizeof(buf)); - - if (textfield_len < 0) { - FXMessageBox::error(this, MBOX_OK, "Invalid length", "Length field is invalid. Please enter a number in hex, octal, or decimal."); - return 1; - } - - if (textfield_len > sizeof(buf)) { - FXMessageBox::error(this, MBOX_OK, "Invalid length", "Length field is too long."); - return 1; - } - - len = (textfield_len)? textfield_len: data_len; - - int res = hid_write(connected_device, (const unsigned char*)buf, len); - if (res < 0) { - FXMessageBox::error(this, MBOX_OK, "Error Writing", "Could not write to device. Error reported was: %ls", hid_error(connected_device)); - } - - return 1; -} - -long -MainWindow::onSendFeatureReport(FXObject *sender, FXSelector sel, void *ptr) -{ - char buf[256]; - size_t data_len, len; - int textfield_len; - - memset(buf, 0x0, sizeof(buf)); - textfield_len = getLengthFromTextField(feature_len); - data_len = getDataFromTextField(feature_text, buf, sizeof(buf)); - - if (textfield_len < 0) { - FXMessageBox::error(this, MBOX_OK, "Invalid length", "Length field is invalid. Please enter a number in hex, octal, or decimal."); - return 1; - } - - if (textfield_len > sizeof(buf)) { - FXMessageBox::error(this, MBOX_OK, "Invalid length", "Length field is too long."); - return 1; - } - - len = (textfield_len)? textfield_len: data_len; - - int res = hid_send_feature_report(connected_device, (const unsigned char*)buf, len); - if (res < 0) { - FXMessageBox::error(this, MBOX_OK, "Error Writing", "Could not send feature report to device. Error reported was: %ls", hid_error(connected_device)); - } - - return 1; -} - -long -MainWindow::onGetFeatureReport(FXObject *sender, FXSelector sel, void *ptr) -{ - char buf[256]; - size_t len; - - memset(buf, 0x0, sizeof(buf)); - len = getDataFromTextField(get_feature_text, buf, sizeof(buf)); - - if (len != 1) { - FXMessageBox::error(this, MBOX_OK, "Too many numbers", "Enter only a single report number in the text field"); - } - - int res = hid_get_feature_report(connected_device, (unsigned char*)buf, sizeof(buf)); - if (res < 0) { - FXMessageBox::error(this, MBOX_OK, "Error Getting Report", "Could not get feature report from device. Error reported was: %ls", hid_error(connected_device)); - } - - if (res > 0) { - FXString s; - s.format("Returned Feature Report. %d bytes:\n", res); - for (int i = 0; i < res; i++) { - FXString t; - t.format("%02hhx ", buf[i]); - s += t; - if ((i+1) % 4 == 0) - s += " "; - if ((i+1) % 16 == 0) - s += "\n"; - } - s += "\n"; - input_text->appendText(s); - input_text->setBottomLine(INT_MAX); - } - - return 1; -} - -long -MainWindow::onClear(FXObject *sender, FXSelector sel, void *ptr) -{ - input_text->setText(""); - return 1; -} - -long -MainWindow::onTimeout(FXObject *sender, FXSelector sel, void *ptr) -{ - unsigned char buf[256]; - int res = hid_read(connected_device, buf, sizeof(buf)); - - if (res > 0) { - FXString s; - s.format("Received %d bytes:\n", res); - for (int i = 0; i < res; i++) { - FXString t; - t.format("%02hhx ", buf[i]); - s += t; - if ((i+1) % 4 == 0) - s += " "; - if ((i+1) % 16 == 0) - s += "\n"; - } - s += "\n"; - input_text->appendText(s); - input_text->setBottomLine(INT_MAX); - } - if (res < 0) { - input_text->appendText("hid_read() returned error\n"); - input_text->setBottomLine(INT_MAX); - } - - getApp()->addTimeout(this, ID_TIMER, - 5 * timeout_scalar /*5ms*/); - return 1; -} - -long -MainWindow::onMacTimeout(FXObject *sender, FXSelector sel, void *ptr) -{ -#ifdef __APPLE__ - check_apple_events(); - - getApp()->addTimeout(this, ID_MAC_TIMER, - 50 * timeout_scalar /*50ms*/); -#endif - - return 1; -} - -int main(int argc, char **argv) -{ - FXApp app("HIDAPI Test Application", "Signal 11 Software"); - app.init(argc, argv); - g_main_window = new MainWindow(&app); - app.create(); - app.run(); - return 0; -} diff --git a/Externals/hidapi/testgui/testgui.sln b/Externals/hidapi/testgui/testgui.sln deleted file mode 100644 index 56be6c6a57..0000000000 --- a/Externals/hidapi/testgui/testgui.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgui", "testgui.vcproj", "{08769AC3-785A-4DDC-BFC7-1775414B7AB7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Debug|Win32.ActiveCfg = Debug|Win32 - {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Debug|Win32.Build.0 = Debug|Win32 - {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Release|Win32.ActiveCfg = Release|Win32 - {08769AC3-785A-4DDC-BFC7-1775414B7AB7}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Externals/hidapi/testgui/testgui.vcproj b/Externals/hidapi/testgui/testgui.vcproj deleted file mode 100644 index 0f73a013fa..0000000000 --- a/Externals/hidapi/testgui/testgui.vcproj +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Externals/hidapi/udev/99-hid.rules b/Externals/hidapi/udev/99-hid.rules deleted file mode 100644 index 09e7c0280c..0000000000 --- a/Externals/hidapi/udev/99-hid.rules +++ /dev/null @@ -1,32 +0,0 @@ -# This is a sample udev file for HIDAPI devices which changes the permissions -# to 0666 (world readable/writable) for a specified device on Linux systems. - - -# If you are using the libusb implementation of hidapi (hid-libusb.c), then -# use something like the following line, substituting the VID and PID with -# those of your device. Note that for kernels before 2.6.24, you will need -# to substitute "usb" with "usb_device". It shouldn't hurt to use two lines -# (one each way) for compatibility with older systems. - -# HIDAPI/libusb -SUBSYSTEM=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="003f", MODE="0666" - - -# If you are using the hidraw implementation, then do something like the -# following, substituting the VID and PID with your device. Busnum 1 is USB. - -# HIDAPI/hidraw -KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="003f", MODE="0666" - -# Once done, optionally rename this file for your device, and drop it into -# /etc/udev/rules.d and unplug and re-plug your device. This is all that is -# necessary to see the new permissions. Udev does not have to be restarted. - -# Note that the hexadecimal values for VID and PID are case sensitive and -# must be lower case. - -# If you think permissions of 0666 are too loose, then see: -# http://reactivated.net/writing_udev_rules.html for more information on finer -# grained permission setting. For example, it might be sufficient to just -# set the group or user owner for specific devices (for example the plugdev -# group on some systems). diff --git a/Externals/hidapi/windows/.gitignore b/Externals/hidapi/windows/.gitignore deleted file mode 100644 index a3f6d875c5..0000000000 --- a/Externals/hidapi/windows/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -Debug -Release -*.exp -*.ilk -*.lib -*.suo -*.vcproj.* -*.ncb -*.suo -*.dll -*.pdb -.deps -.libs -*.lo -*.la diff --git a/Externals/hidapi/windows/Makefile-manual b/Externals/hidapi/windows/Makefile-manual deleted file mode 100644 index ac471d66da..0000000000 --- a/Externals/hidapi/windows/Makefile-manual +++ /dev/null @@ -1,14 +0,0 @@ - - -OS=$(shell uname) - -ifneq (,$(findstring MINGW,$(OS))) - FILE=Makefile.mingw -endif - -ifeq ($(FILE), ) -all: - $(error Your platform ${OS} is not supported at this time.) -endif - -include $(FILE) diff --git a/Externals/hidapi/windows/Makefile.am b/Externals/hidapi/windows/Makefile.am deleted file mode 100644 index 97e261ac9e..0000000000 --- a/Externals/hidapi/windows/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -lib_LTLIBRARIES = libhidapi.la -libhidapi_la_SOURCES = hid.c -libhidapi_la_LDFLAGS = $(LTLDFLAGS) -AM_CPPFLAGS = -I$(top_srcdir)/hidapi/ -libhidapi_la_LIBADD = $(LIBS) - -hdrdir = $(includedir)/hidapi -hdr_HEADERS = $(top_srcdir)/hidapi/hidapi.h - -EXTRA_DIST = \ - ddk_build \ - hidapi.vcproj \ - hidtest.vcproj \ - Makefile-manual \ - Makefile.mingw \ - hidapi.sln diff --git a/Externals/hidapi/windows/Makefile.mingw b/Externals/hidapi/windows/Makefile.mingw deleted file mode 100644 index b8000041dd..0000000000 --- a/Externals/hidapi/windows/Makefile.mingw +++ /dev/null @@ -1,35 +0,0 @@ -########################################### -# Simple Makefile for HIDAPI test program -# -# Alan Ott -# Signal 11 Software -# 2010-06-01 -########################################### - -all: hidtest libhidapi.dll - -CC=gcc -CXX=g++ -COBJS=hid.o -CPPOBJS=../hidtest/hidtest.o -OBJS=$(COBJS) $(CPPOBJS) -CFLAGS=-I../hidapi -g -c -LIBS= -lsetupapi -DLL_LDFLAGS = -mwindows -lsetupapi - -hidtest: $(OBJS) - g++ -g $^ $(LIBS) -o hidtest - -libhidapi.dll: $(OBJS) - $(CC) -g $^ $(DLL_LDFLAGS) -o libhidapi.dll - -$(COBJS): %.o: %.c - $(CC) $(CFLAGS) $< -o $@ - -$(CPPOBJS): %.o: %.cpp - $(CXX) $(CFLAGS) $< -o $@ - -clean: - rm *.o ../hidtest/*.o hidtest.exe - -.PHONY: clean diff --git a/Externals/hidapi/windows/ddk_build/.gitignore b/Externals/hidapi/windows/ddk_build/.gitignore deleted file mode 100644 index 823ff0b2ce..0000000000 --- a/Externals/hidapi/windows/ddk_build/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.log -obj*_*_* \ No newline at end of file diff --git a/Externals/hidapi/windows/ddk_build/hidapi.def b/Externals/hidapi/windows/ddk_build/hidapi.def deleted file mode 100644 index 05e35afd68..0000000000 --- a/Externals/hidapi/windows/ddk_build/hidapi.def +++ /dev/null @@ -1,17 +0,0 @@ -LIBRARY hidapi -EXPORTS - hid_open @1 - hid_write @2 - hid_read @3 - hid_close @4 - hid_get_product_string @5 - hid_get_manufacturer_string @6 - hid_get_serial_number_string @7 - hid_get_indexed_string @8 - hid_error @9 - hid_set_nonblocking @10 - hid_enumerate @11 - hid_open_path @12 - hid_send_feature_report @13 - hid_get_feature_report @14 - \ No newline at end of file diff --git a/Externals/hidapi/windows/ddk_build/makefile b/Externals/hidapi/windows/ddk_build/makefile deleted file mode 100644 index 637f712a42..0000000000 --- a/Externals/hidapi/windows/ddk_build/makefile +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################# -# -# Copyright (C) Microsoft Corporation 1995, 1996 -# All Rights Reserved. -# -# MAKEFILE for HID directory -# -############################################################################# - -!IFDEF WIN95_BUILD - -ROOT=..\..\..\.. - -VERSIONLIST = debug retail -IS_32 = TRUE -IS_SDK = TRUE -IS_PRIVATE = TRUE -IS_SDK = TRUE -IS_DDK = TRUE -WIN32 = TRUE -COMMONMKFILE = hidapi.mk - -!include $(ROOT)\dev\master.mk - - -!ELSE - -# -# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source -# file to this component. This file merely indirects to the real make file -# that is shared by all the driver components of the Windows NT DDK -# - -!IF DEFINED(_NT_TARGET_VERSION) -! IF $(_NT_TARGET_VERSION)>=0x501 -! INCLUDE $(NTMAKEENV)\makefile.def -! ELSE -# Only warn once per directory -! INCLUDE $(NTMAKEENV)\makefile.plt -! IF "$(BUILD_PASS)"=="PASS1" -! message BUILDMSG: Warning : The sample "$(MAKEDIR)" is not valid for the current OS target. -! ENDIF -! ENDIF -!ELSE -! INCLUDE $(NTMAKEENV)\makefile.def -!ENDIF - -!ENDIF - diff --git a/Externals/hidapi/windows/ddk_build/sources b/Externals/hidapi/windows/ddk_build/sources deleted file mode 100644 index 7f06a0963e..0000000000 --- a/Externals/hidapi/windows/ddk_build/sources +++ /dev/null @@ -1,23 +0,0 @@ -TARGETNAME=hidapi -TARGETTYPE=DYNLINK -UMTYPE=console -UMENTRY=main - -MSC_WARNING_LEVEL=/W3 /WX - -TARGETLIBS=$(SDK_LIB_PATH)\hid.lib \ - $(SDK_LIB_PATH)\setupapi.lib \ - $(SDK_LIB_PATH)\kernel32.lib \ - $(SDK_LIB_PATH)\comdlg32.lib - -USE_MSVCRT=1 - -INCLUDES= ..\..\hidapi -SOURCES= ..\hid.c \ - - -TARGET_DESTINATION=retail - -MUI=0 -MUI_COMMENT="HID Interface DLL" -