Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/colorsc
diff options
context:
space:
mode:
Diffstat (limited to 'colorsc')
-rw-r--r--colorsc/Makefile19
-rw-r--r--colorsc/__init__.py21
-rw-r--r--colorsc/colorsclib.i (renamed from colorsc/colorsc.i)2
3 files changed, 33 insertions, 9 deletions
diff --git a/colorsc/Makefile b/colorsc/Makefile
index 7cc53e6..5e1bab3 100644
--- a/colorsc/Makefile
+++ b/colorsc/Makefile
@@ -9,20 +9,23 @@ LDFLAGS = $(shell pkg-config --libs gdk-x11-2.0) \
$(shell python-config --libs)
ARCH = $(shell arch | grep 64 >/dev/null && echo linux64 || echo linux32)
+PYTHON_VERSION = $(shell python -c 'import sys; print "%d%d" % sys.version_info[0:2]')
+LIB_DIR = $(ARCH)_$(PYTHON_VERSION)
-all : _colorsc.so
- rm -rf $(ARCH)
- mkdir $(ARCH)
- mv _colorsc.so colorsc.py $(ARCH)/
- touch $(ARCH)/__init__.py
+all : _colorsclib.so
+ rm -rf $(LIB_DIR)
+ mkdir $(LIB_DIR)
+ strip -s _colorsclib.so
+ mv _colorsclib.so colorsclib.py $(LIB_DIR)/
+ touch $(LIB_DIR)/__init__.py
clean:
- rm -rf _colorsc.so colorsc.cpp colorsc.py colorsc.pyc *.o
+ rm -rf _colorsclib.so colorsclib.cpp colorsclib.py colorsclib.pyc *.o
%.cpp: %.i
swig -c++ -python -o $*.cpp $<
-canvas.o: colorsc.h canvas.h
+_canvas.o: colorsc.h canvas.h
-_colorsc.so: colorsc.o canvas.o
+_colorsclib.so: colorsclib.o canvas.o
$(CXX) -shared $(LDFLAGS) -o $@ $^
diff --git a/colorsc/__init__.py b/colorsc/__init__.py
index e69de29..3226bb8 100644
--- a/colorsc/__init__.py
+++ b/colorsc/__init__.py
@@ -0,0 +1,21 @@
+import os
+import sys
+import logging
+
+_sys_path = sys.path
+_root_path = os.path.dirname(__file__)
+
+for i in os.listdir(_root_path):
+ path = os.path.join(_root_path, i)
+ if (os.path.isdir(path)):
+ sys.path = _sys_path + [os.path.join('.', path)]
+ try:
+ from colorsclib import *
+ logging.debug('use %s blobs' % path)
+ _sys_path = None
+ break
+ except Exception, e:
+ logging.debug('skip %s blobs: %s' % (path, e))
+
+if _sys_path:
+ raise('cannot find proper binary blobs')
diff --git a/colorsc/colorsc.i b/colorsc/colorsclib.i
index 47c96ec..f29fe6d 100644
--- a/colorsc/colorsc.i
+++ b/colorsc/colorsclib.i
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with Colors. If not, see <http://www.gnu.org/licenses/>.
*/
-%module colorsc
+%module colorsclib
%{
#include <pygobject.h>