summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/linux/Makefile.in22
-rw-r--r--build/msvc/gen.py7
2 files changed, 22 insertions, 7 deletions
diff --git a/build/linux/Makefile.in b/build/linux/Makefile.in
index 3018674..a199bf6 100644
--- a/build/linux/Makefile.in
+++ b/build/linux/Makefile.in
@@ -62,8 +62,6 @@ PYCPPFLAGS := $(CPPFLAGS)
PYCPPFLAGS += -I../include
PYLDFLAGS = $(LDFLAGS)
PYLDFLAGS += -L$(abs_top_builddir)/.libs
-LIBS += -l$(PYLIBVER)
-LDFLAGS += -L$(PYLIBDIR)
endif
# This is below where PYCPPFLAGS copies CPPFLAGS. The python code is built
@@ -97,6 +95,11 @@ ifeq ($(cuda),yes)
MEXFLAGS += -DASTRA_CUDA
endif
+ifeq ($(python),yes)
+MEXPYLDFLAGS='$$LDFLAGS $(LDFLAGS) -L$(PYLIBDIR)'
+MEXPYLIBS=$(MEXLIBS) -l$(PYLIBVER)
+endif
+
endif
LIBDIR=/usr/local/lib
@@ -147,6 +150,7 @@ BASE_OBJECTS=\
src/ParallelProjectionGeometry3D.lo \
src/ParallelVecProjectionGeometry3D.lo \
src/PlatformDepSystemCode.lo \
+ src/PluginAlgorithm.lo \
src/ProjectionGeometry2D.lo \
src/ProjectionGeometry3D.lo \
src/Projector2D.lo \
@@ -252,7 +256,6 @@ MATLAB_MEX=\
matlab/mex/astra_mex_direct_c.$(MEXSUFFIX)
ifeq ($(python),yes)
-ALL_OBJECTS+=src/PluginAlgorithm.lo
MATLAB_MEX+=matlab/mex/astra_mex_plugin_c.$(MEXSUFFIX)
endif
@@ -267,6 +270,11 @@ mex: $(MATLAB_MEX)
%.$(MEXSUFFIX): %.o $(MATLAB_CXX_OBJECTS) libastra.la
$(MEX) LDFLAGS=$(MEXLDFLAGS) $(MEXFLAGS) $(LIBS) $(MEXLIBS) -lastra -output $* $*.o $(MATLAB_CXX_OBJECTS)
+
+ifeq ($(python),yes)
+matlab/mex/astra_mex_plugin_c.$(MEXSUFFIX): matlab/mex/astra_mex_plugin_c.o $(MATLAB_CXX_OBJECTS) libastra.la
+ $(MEX) LDFLAGS=$(MEXPYLDFLAGS) $(MEXFLAGS) $(LIBS) $(MEXPYLIBS) -lastra -output matlab/mex/astra_mex_plugin_c $< $(MATLAB_CXX_OBJECTS)
+endif
endif
ifeq ($(python),yes)
@@ -307,8 +315,10 @@ ifeq ($(cuda),yes)
ifeq ($(gen_static_libs),yes)
@$(NVCC) $(NVCCFLAGS) -c $(<) -o $*.o >/dev/null 2>&1
endif
- @# Generate a .d file, with target name $*.lo
- @$(NVCC) $(NVCCFLAGS) -M $(<) -MT $(*F).lo -odir $(*D) -o $(*D)/$(DEPDIR)/$(*F).d
+ @# Generate a .d file, and change the target name in it from .o to .lo
+ @$(NVCC) $(NVCCFLAGS) -M $(<) -odir $(*D) -o $(*D)/$(DEPDIR)/$(*F).d2
+ @sed '1s/\.o :/.lo :/' < $(*D)/$(DEPDIR)/$(*F).d2 > $(*D)/$(DEPDIR)/$(*F).d
+ @rm -f $(*D)/$(DEPDIR)/$(*F).d2
@# Generate empty targets for all dependencies listed in the .d file.
@# This mimics gcc's -MP option.
@for x in `cat $(*D)/$(DEPDIR)/$(*F).d`; do if test a$$x != a: -a a$$x != a\\; then echo -e "\n$$x:\n" >> $(*D)/$(DEPDIR)/$(*F).d; fi; done
@@ -411,7 +421,7 @@ $(srcdir)/configure: $(srcdir)/configure.ac
@echo "configure.ac has been changed. Regenerating configure script"
cd $(srcdir) && $(SHELL) ./autogen.sh
-.PHONY: all mex test clean distclean install install-libraries
+.PHONY: all mex test clean distclean install install-libraries py python-root-install install-python
# don't remove intermediate files:
.SECONDARY:
diff --git a/build/msvc/gen.py b/build/msvc/gen.py
index 999710f..cc69a62 100644
--- a/build/msvc/gen.py
+++ b/build/msvc/gen.py
@@ -1,6 +1,8 @@
from __future__ import print_function
import sys
import os
+import codecs
+import six
vcppguid = "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942" # C++ project
siguid = "2150E333-8FDC-42A3-9474-1A3956D46DE8" # project group
@@ -428,7 +430,10 @@ P_astra["files"].sort()
projects = [ P_astra, F_astra_mex, P0, P1, P2, P3, P4, P5, P6, P7, P8 ]
-bom = "\xef\xbb\xbf"
+if six.PY2:
+ bom = "\xef\xbb\xbf"
+else:
+ bom = codecs.BOM_UTF8.decode("utf-8")
class Configuration:
def __init__(self, debug, cuda, x64):