You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
258 lines
7.5 KiB
258 lines
7.5 KiB
diff -up ./.gitignore.fedora ./.gitignore
|
|
--- ./.gitignore.fedora 2013-11-12 11:30:03.000000000 -0500
|
|
+++ ./.gitignore 2014-06-01 18:21:35.911632579 -0400
|
|
@@ -1,3 +1,11 @@
|
|
+*~
|
|
+Release/
|
|
+/Source/DoxyGen/html
|
|
+/Platform/Linux/Bin
|
|
+/Platform/Linux/CreateRedist/Final
|
|
+/Platform/Linux/CreateRedist/Output
|
|
+/Platform/Linux/Redist
|
|
+/Platform/Linux/Build
|
|
x64-Release
|
|
Manifest.txt
|
|
Platform/Linux/CreateRedist/Final
|
|
diff -up ./Platform/Linux/Build/Modules/nimCodecs/Makefile.fedora ./Platform/Linux/Build/Modules/nimCodecs/Makefile
|
|
--- ./Platform/Linux/Build/Modules/nimCodecs/Makefile.fedora 2014-06-01 18:21:35.912632616 -0400
|
|
+++ ./Platform/Linux/Build/Modules/nimCodecs/Makefile 2014-06-01 18:23:56.634016624 -0400
|
|
@@ -2,16 +2,22 @@ BIN_DIR = ../../../Bin
|
|
|
|
INC_DIRS = \
|
|
../../../../../Include \
|
|
- ../../../../../Source \
|
|
- ../../../../../Externals/LibJPEG
|
|
+ ../../../../../Source
|
|
|
|
SRC_FILES = \
|
|
- ../../../../../Source/Modules/nimCodecs/*.cpp \
|
|
- ../../../../../Externals/LibJPEG/*.c
|
|
+ ../../../../../Source/Modules/nimCodecs/*.cpp
|
|
|
|
LIB_NAME = nimCodecs
|
|
USED_LIBS = OpenNI
|
|
|
|
+ifneq ($(wildcard /usr/lib/libjpeg.so /usr/lib32/libjpeg.so /usr/lib64/libjpeg.so /usr/local/lib/libjpeg.so /usr/local/lib32/libjpeg.so /usr/local/lib64/libjpeg.so),)
|
|
+ USED_LIBS += jpeg
|
|
+else
|
|
+ INC_DIRS += ../../../../../Source/External/LibJPEG
|
|
+ SRC_FILES += ../../../../../Source/External/LibJPEG/*.c
|
|
+endif
|
|
+
|
|
+
|
|
include ../../Common/CommonCppMakefile
|
|
|
|
|
|
diff -up ./Platform/Linux/Build/OpenNI/Makefile.fedora ./Platform/Linux/Build/OpenNI/Makefile
|
|
--- ./Platform/Linux/Build/OpenNI/Makefile.fedora 2013-11-12 11:30:03.000000000 -0500
|
|
+++ ./Platform/Linux/Build/OpenNI/Makefile 2014-06-01 18:24:57.078466204 -0400
|
|
@@ -4,13 +4,11 @@ BIN_DIR = ../../Bin
|
|
|
|
INC_DIRS = \
|
|
../../../../Include \
|
|
- ../../../../Source \
|
|
- ../../../../Externals/TinyXml
|
|
+ ../../../../Source
|
|
|
|
SRC_FILES = \
|
|
../../../../Source/OpenNI/*.cpp \
|
|
- ../../../../Source/OpenNI/Linux/*.cpp \
|
|
- ../../../../Externals/TinyXml/*.cpp
|
|
+ ../../../../Source/OpenNI/Linux/*.cpp
|
|
|
|
ifeq ("$(OSTYPE)","Darwin")
|
|
INC_DIRS += /opt/local/include
|
|
@@ -25,6 +23,14 @@ ifneq ("$(OSTYPE)","Darwin")
|
|
endif
|
|
DEFINES = XN_EXPORTS
|
|
|
|
+ifneq ($(wildcard /usr/include/tinyxml.h /usr/local/include/tinyxml.h),)
|
|
+ USED_LIBS += tinyxml
|
|
+else
|
|
+ INC_DIRS += ../../../../Source/External/TinyXml
|
|
+ SRC_FILES += ../../../../Source/External/TinyXml/*.cpp
|
|
+endif
|
|
+
|
|
+
|
|
include ../Common/CommonCppMakefile
|
|
|
|
|
|
diff -up ./Platform/Linux/CreateRedist/install.sh.fedora ./Platform/Linux/CreateRedist/install.sh
|
|
--- ./Platform/Linux/CreateRedist/install.sh.fedora 2013-11-12 11:30:03.000000000 -0500
|
|
+++ ./Platform/Linux/CreateRedist/install.sh 2014-06-01 18:21:51.388203971 -0400
|
|
@@ -8,6 +8,8 @@ Installs OpenNI to current machine.
|
|
Installs OpenNI (default mode)
|
|
-u,--uninstall
|
|
Uninstalls OpenNI.
|
|
+-n,--noregister
|
|
+ Do not (un)register the modules
|
|
-c,--cross-compile-rootfs <path>
|
|
Used for cross-compiling. Installs OpenNI to <path> instead of '/'.
|
|
-h,--help
|
|
@@ -45,6 +47,9 @@ while [ "$1" ]; do
|
|
-u|--uninstall)
|
|
uninstall=yes
|
|
;;
|
|
+ -n|--noregister)
|
|
+ register=no
|
|
+ ;;
|
|
-c|--cross-staging-dir)
|
|
shift
|
|
rootfs=$1
|
|
@@ -71,11 +76,22 @@ if [ "$install" = yes ] && [ "$uninstall
|
|
exit 1
|
|
fi
|
|
|
|
-INSTALL_LIB=$rootfs/usr/lib
|
|
-INSTALL_BIN=$rootfs/usr/bin
|
|
-INSTALL_INC=$rootfs/usr/include/ni
|
|
-INSTALL_VAR=$rootfs/var/lib/ni
|
|
-INSTALL_JAR=$rootfs/usr/share/java
|
|
+
|
|
+if [ -z "$INSTALL_LIB" ]; then
|
|
+ INSTALL_LIB=$rootfs/usr/lib
|
|
+fi
|
|
+if [ -z "$INSTALL_BIN" ]; then
|
|
+ INSTALL_BIN=$rootfs/usr/bin
|
|
+fi
|
|
+if [ -z "$INSTALL_INC" ]; then
|
|
+ INSTALL_INC=$rootfs/usr/include/ni
|
|
+fi
|
|
+if [ -z "$INSTALL_VAR" ]; then
|
|
+ INSTALL_VAR=$rootfs/usr/etc/ni
|
|
+fi
|
|
+if [ -z "$INSTALL_JAR" ]; then
|
|
+ INSTALL_JAR=$rootfs/usr/share/java
|
|
+fi
|
|
|
|
# make all calls into OpenNI run in this filesystem
|
|
export OPEN_NI_INSTALL_PATH=$rootfs
|
|
@@ -86,6 +102,12 @@ if [ "$install" = yes ]; then
|
|
printf "Installing OpenNI\n"
|
|
printf "****************************\n\n"
|
|
|
|
+ mkdir -p $INSTALL_LIB
|
|
+ mkdir -p $INSTALL_BIN
|
|
+ mkdir -p $INSTALL_INC
|
|
+ mkdir -p $INSTALL_VAR
|
|
+ mkdir -p $INSTALL_JAR
|
|
+
|
|
# copy libraries
|
|
printf "copying shared libraries..."
|
|
cp $LIB_FILES $INSTALL_LIB
|
|
@@ -107,17 +129,21 @@ if [ "$install" = yes ]; then
|
|
mkdir -p $INSTALL_VAR
|
|
printf "OK\n"
|
|
|
|
- # register modules
|
|
- for module in $MODULES; do
|
|
- printf "registering module '$module'..."
|
|
- $INSTALL_BIN/niReg -r $INSTALL_LIB/$module
|
|
- printf "OK\n"
|
|
- done
|
|
+ if [ "$register" = yes ]; then
|
|
+ # register modules
|
|
+ for module in $MODULES; do
|
|
+ printf "registering module '$module'..."
|
|
+ $INSTALL_BIN/niReg -r $INSTALL_LIB/$module
|
|
+ printf "OK\n"
|
|
+ done
|
|
+ fi
|
|
|
|
- # mono
|
|
- if [ -f $rootfs/usr/bin/gmcs -a -f Bin/OpenNI.net.dll ]; then
|
|
- printf "Installing .Net wrappers...\n"
|
|
- gacutil -i Bin/OpenNI.net.dll -package 2.0 $GACDIR
|
|
+ if [ "$register" = yes ]; then
|
|
+ # mono
|
|
+ if [ -f $rootfs/usr/bin/gmcs -a -f Bin/OpenNI.net.dll ]; then
|
|
+ printf "Installing .Net wrappers...\n"
|
|
+ gacutil -i Bin/OpenNI.net.dll -package 2.0 $GACDIR
|
|
+ fi
|
|
fi
|
|
|
|
# java wrappers
|
|
@@ -135,13 +161,15 @@ elif [ "$uninstall" = yes ]; then
|
|
printf "Uninstalling OpenNI\n"
|
|
printf "****************************\n\n"
|
|
|
|
- # unregister modules
|
|
- for module in $MODULES; do
|
|
- printf "unregistering module '$module'..."
|
|
- if $INSTALL_BIN/niReg -u $INSTALL_LIB/$module; then
|
|
- printf "OK\n"
|
|
- fi
|
|
- done
|
|
+ if [ "$register" = yes ]; then
|
|
+ # unregister modules
|
|
+ for module in $MODULES; do
|
|
+ printf "unregistering module '$module'..."
|
|
+ if $INSTALL_BIN/niReg -u $INSTALL_LIB/$module; then
|
|
+ printf "OK\n"
|
|
+ fi
|
|
+ done
|
|
+ fi
|
|
|
|
# include files
|
|
printf "removing include files..."
|
|
@@ -162,12 +190,13 @@ elif [ "$uninstall" = yes ]; then
|
|
done
|
|
printf "OK\n"
|
|
|
|
- # mono
|
|
- if [ -f $rootfs/usr/bin/gmcs -a -f Bin/OpenNI.net.dll ]; then
|
|
- printf "Removing .Net wrappers...\n"
|
|
- gacutil -u OpenNI.net $GACDIR
|
|
+ if [ "$register" = yes ]; then
|
|
+ # mono
|
|
+ if [ -f $rootfs/usr/bin/gmcs -a -f Bin/OpenNI.net.dll ]; then
|
|
+ printf "Removing .Net wrappers...\n"
|
|
+ gacutil -u OpenNI.net $GACDIR
|
|
+ fi
|
|
fi
|
|
-
|
|
# java
|
|
printf "removing java bindings..."
|
|
for filename in $JAR_FILES; do
|
|
diff -up ./Source/OpenNI/Linux/XnUSBLinux.cpp.fedora ./Source/OpenNI/Linux/XnUSBLinux.cpp
|
|
--- ./Source/OpenNI/Linux/XnUSBLinux.cpp.fedora 2013-11-12 11:30:03.000000000 -0500
|
|
+++ ./Source/OpenNI/Linux/XnUSBLinux.cpp 2014-06-01 18:21:51.389204009 -0400
|
|
@@ -398,6 +398,16 @@ XN_C_API XnStatus xnUSBOpenDeviceImpl(li
|
|
return (XN_STATUS_USB_SET_CONFIG_FAILED);
|
|
}
|
|
*/
|
|
+ // detach any active kernel driver, code extracted from libfreenect
|
|
+ rc = libusb_kernel_driver_active(handle, 0);
|
|
+ if (rc == 1) {
|
|
+ rc = libusb_detach_kernel_driver(handle, 0);
|
|
+ if (rc != 0)
|
|
+ {
|
|
+ libusb_close(handle);
|
|
+ return (XN_STATUS_USB_SET_INTERFACE_FAILED);
|
|
+ }
|
|
+ }
|
|
// claim the interface (you cannot open any end point before claiming the interface)
|
|
rc = libusb_claim_interface(handle, 0);
|
|
if (rc != 0)
|
|
@@ -518,7 +528,7 @@ XN_C_API XnStatus xnUSBCloseDevice(XN_US
|
|
{
|
|
return (XN_STATUS_USB_DEVICE_CLOSE_FAILED);
|
|
}
|
|
-
|
|
+ rc = libusb_attach_kernel_driver(pDevHandle->hDevice, 0);
|
|
libusb_close(pDevHandle->hDevice);
|
|
|
|
XN_FREE_AND_NULL(pDevHandle);
|
|
diff -up ./Wrappers/OpenNI.jni/jni.h.fedora ./Wrappers/OpenNI.jni/jni.h
|
|
--- ./Wrappers/OpenNI.jni/jni.h.fedora 2013-11-12 11:30:03.000000000 -0500
|
|
+++ ./Wrappers/OpenNI.jni/jni.h 2014-06-01 18:21:51.390204045 -0400
|
|
@@ -182,7 +182,7 @@ typedef enum _jobjectType {
|
|
typedef struct {
|
|
const char *name;
|
|
const char *signature;
|
|
- void *fnPtr;
|
|
+ const void *fnPtr;
|
|
} JNINativeMethod;
|
|
|
|
/*
|