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.
libsvm/libsvm-2.84-2.patch

159 lines
4.6 KiB

diff -up ./Makefile.orig ./Makefile
--- ./Makefile.orig 2007-08-22 15:23:34.000000000 +1000
+++ ./Makefile 2007-08-27 15:48:58.000000000 +1000
@@ -1,7 +1,31 @@
CXXC = g++
CFLAGS = -Wall -O3
+MAKE = make
-all: svm-train svm-predict svm-scale
+ifndef DESTDIR
+INSTDIR=/usr
+else
+INSTDIR=${DESTDIR}/usr
+endif
+
+export INSTDIR
+
+PROCESSOR=$(shell /bin/uname -p)
+ifeq "${PROCESSOR}" "x86_64"
+X86_64=64
+else
+X86_64=
+endif
+
+ifndef LIBDIR
+LIB_INSTDIR=${INSTDIR}/lib${X86_64}
+else
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
+endif
+
+export LIB_INSTDIR
+
+all: svm-train svm-predict svm-scale svm-python
svm-predict: svm-predict.c svm.o
$(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
@@ -11,5 +35,45 @@ svm-scale: svm-scale.c
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h
$(CXXC) $(CFLAGS) -c svm.cpp
+svm-python:
+ ${MAKE} -C python
+
+install: all
+ mkdir -p ${INSTDIR}/bin
+ install -m 755 svm-train ${INSTDIR}/bin
+ install -m 755 svm-predict ${INSTDIR}/bin
+ install -m 755 svm-scale ${INSTDIR}/bin
+ mkdir -p ${LIB_INSTDIR}/libsvm
+# install package libsvm-devel
+ install -m 644 svm.o ${LIB_INSTDIR}/libsvm
+ mkdir -p ${INSTDIR}/include/libsvm
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
+ mkdir -p ${INSTDIR}/share/libsvm/src
+ install -m 644 *.h ${INSTDIR}/share/libsvm/src
+ install -m 644 *.c ${INSTDIR}/share/libsvm/src
+ install -m 644 *.cpp ${INSTDIR}/share/libsvm/src
+ install -m 644 Makefile ${INSTDIR}/share/libsvm/src
+ cp -R java ${INSTDIR}/share/libsvm/src
+ cp -R svm-toy ${INSTDIR}/share/libsvm/src
+# cp -R tools ${INSTDIR}/share/libsvm/src
+# cp -R windows ${INSTDIR}/share/libsvm/src
+ mkdir -p ${INSTDIR}/share/libsvm/examples
+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+# install package libsvm-python
+ ${MAKE} -C python install
+
+uninstall:
+ rm -f ${INSTDIR}/bin/svm-train
+ rm -f ${INSTDIR}/bin/svm-predict
+ rm -f ${INSTDIR}/bin/svm-scale
+ rm -fr ${INSTDIR}/libsvm/examples
+ rm -f ${INSTDIR}/include/libsvm/svm.h
+ rm -f ${LIB_INSTDIR}/libsvm/svm.o
+ rm -fr ${INSTDIR}/libsvm/src
+ rm -fr ${INSTDIR}/libsvm
+ ${MAKE} -C python uninstall
+
clean:
rm -f *~ svm.o svm-train svm-predict svm-scale
+ ${MAKE} -C python clean
+
diff -up ./python/Makefile.orig ./python/Makefile
--- ./python/Makefile.orig 2007-08-27 11:11:38.000000000 +1000
+++ ./python/Makefile 2007-08-29 17:38:14.000000000 +1000
@@ -2,13 +2,19 @@ CC = g++
SWIG ?= swig
#Windows: see ../README ../Makefile.win
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
+PYTHON_VERSION=${shell python -V 2> /tmp/python.ver ; cat /tmp/python.ver | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f /tmp/python.ver}
+
+ifndef PYTHON_INCLUDEDIR
+
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
+
+endif
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
LDFLAGS = -shared
# Mac OS
# LDFLAGS = -framework Python -bundle
-
all: svmc.so
svmc.so: svmc_wrap.o svm.o
@@ -28,3 +34,19 @@ clean:
moreclean: clean
rm -f svmc_wrap.c
+
+install: all
+ mkdir -p ${PYTHON_TARGETDIR}
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 *.i ${PYTHON_TARGETDIR}
+ install -m 755 *.so ${PYTHON_TARGETDIR}
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
+
+uninstall:
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
+
+
+
diff -up ./tools/grid.py.orig ./tools/grid.py
--- ./tools/grid.py.orig 2007-08-28 11:48:03.000000000 +1000
+++ ./tools/grid.py 2007-08-28 11:58:22.000000000 +1000
@@ -11,7 +11,7 @@ from string import find, split, join, at
is_win32 = (sys.platform == 'win32')
if not is_win32:
- svmtrain_exe = "../svm-train"
+ svmtrain_exe = "/usr/bin/svm-train"
gnuplot_exe = "/usr/bin/gnuplot"
else:
# example for windows
diff -up ./tools/easy.py.orig ./tools/easy.py
--- ./tools/easy.py.orig 2007-08-28 11:47:53.000000000 +1000
+++ ./tools/easy.py 2007-08-28 12:13:58.000000000 +1000
@@ -11,10 +11,10 @@ if len(sys.argv) <= 1:
is_win32 = (sys.platform == 'win32')
if not is_win32:
- svmscale_exe = "../svm-scale"
- svmtrain_exe = "../svm-train"
- svmpredict_exe = "../svm-predict"
- grid_py = "./grid.py"
+ svmscale_exe = "/usr/bin/svm-scale"
+ svmtrain_exe = "/usr/bin/svm-train"
+ svmpredict_exe = "/usr/bin/svm-predict"
+ grid_py = sys.argv[0].replace("easy.py","grid.py")
gnuplot_exe = "/usr/bin/gnuplot"
else:
# example for windows
diff -up ./tools/subset.py.orig ./tools/subset.py