From ba96b0e5aa74a74ee6506d07412550e761dc16a9 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 16:35:46 -0600 Subject: [PATCH 1/9] Streamline the build process --- messenger/make.py | 157 ++++++++++++++++----------- messenger/make_octave.py | 29 ----- messenger/mexa64/local.cfg | 7 +- messenger/mexa64/local_octave.cfg | 4 - messenger/mexmaci64/local.cfg | 6 +- messenger/mexmaci64/local_octave.cfg | 4 - messenger/mexw64/local.cfg | 6 +- messenger/mexw64/local_octave.cfg | 4 - 8 files changed, 105 insertions(+), 112 deletions(-) delete mode 100644 messenger/make_octave.py delete mode 100644 messenger/mexa64/local_octave.cfg delete mode 100644 messenger/mexmaci64/local_octave.cfg delete mode 100644 messenger/mexw64/local_octave.cfg diff --git a/messenger/make.py b/messenger/make.py index 4f053dd..623e9bd 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -1,71 +1,98 @@ #!/usr/bin/python from __future__ import print_function import os -from get_messenger_dir import get_messenger_dir -import subprocess +import platform +import sys import shutil +import subprocess + + +def get_messenger_dir(): + # Check the system platform first + splatform = sys.platform + + if splatform.startswith('linux'): + messenger_dir = 'mexa64' + elif splatform.startswith('darwin'): + messenger_dir = 'mexmaci64' + elif splatform.startswith('win32'): + if splatform == "win32": + # We have a win64 messenger, so we need to figure out if this is 32 + # or 64 bit Windows: + if not platform.machine().endswith('64'): + raise ValueError("pymatbridge does not work on win32") + + # We further need to differniate 32 from 64 bit: + maxint = sys.maxsize + if maxint == 9223372036854775807: + messenger_dir = 'mexw64' + elif maxint == 2147483647: + messenger_dir = 'mexw32' + return messenger_dir + + +def get_config(): + messenger_dir = get_messenger_dir() + with open(os.path.join(messenger_dir, 'local.cfg')) as fid: + lines = fid.readlines() + + cfg = {} + for line in lines: + name, path = line.split('=') + cfg[name.lower()] = path.strip() or '.' + return cfg + + +def do_build(make_cmd, messenger_exe): + print('Building %s...' % messenger_exe) + print(make_cmd) + messenger_dir = get_messenger_dir() + subprocess.check_output(make_cmd.split()) + + messenger_loc = os.path.join(messenger_dir, messenger_exe) + + shutil.move(messenger_exe, messenger_loc) + os.remove('messenger.o') + + +def build_octave(): + paths = "-L%(octave_lib)s -I%(octave_inc)s -L%(zmq_lib)s -I%(zmq_inc)s" + paths = paths % get_config() + make_cmd = "mkoctfile --mex %s -lzmq ./src/messenger.c" % paths + do_build(make_cmd, 'messenger.mex') + + +def build_matlab(): + cfg = get_config() + matlab_bin = cfg['matlab_bin'] + # Get the extension + if sys.platform == 'win32': + extcmd = '"%s\\mexext.bat"' % matlab_bin + else: + extcmd = matlab_bin + "/mexext" + + check_extension = subprocess.Popen(extcmd, stdout=subprocess.PIPE) + extension = check_extension.stdout.read() + extension = extension.decode('utf-8').rstrip('\r\n') + + # Build the mex file + if sys.platform == 'win32': + mex = matlab_bin + "\\mex.bat" + else: + mex = matlab_bin + "/mex" + paths = "-L%(zmq_lib)s -I%(zmq_inc)s" % cfg + make_cmd = '"%s" -O %s -lzmq ./src/messenger.c' % (mex, paths) + do_build(make_cmd, 'messenger.%s' % extension) -messenger_dir, splatform = get_messenger_dir() - -# Open the configure file and start parsing -with open(os.path.join(messenger_dir, 'local.cfg'), 'r') as config: - for line in config: - try: - line = line.decode('utf-8') - - # python3 - except: - pass - - path = line.split('=') - - if path[0] == "MATLAB_BIN": - print("Searching for Matlab bin folder in local.cfg ...") - matlab_bin = path[1].rstrip('\r\n') - if matlab_bin == "": - raise ValueError("Could not find Matlab bin folder. Please add it to local.cfg") - print("Matlab found in " + matlab_bin) - - elif path[0] == "HEADER_PATH": - print("Searching for zmq.h in local.cfg ...") - header_path = path[1].rstrip('\r\n') - if header_path == "": - raise ValueError("Could not find zmq.h. Please add its path to local.cfg") - print("zmq.h found in " + header_path) - - elif path[0] == "LIB_PATH": - print("Searching for zmq library in local.cfg ...") - lib_path = path[1].rstrip('\r\n') - if lib_path == "": - raise ValueError("Could not find zmq library. Please add its path to local.cfg") - - print("zmq library found in " + lib_path) - - - -# Get the extension -if splatform == 'win32': - extcmd = '"' + matlab_bin + "\\mexext.bat" + '"' -else: - extcmd = matlab_bin + "/mexext" - -check_extension = subprocess.Popen(extcmd, stdout = subprocess.PIPE) -extension = check_extension.stdout.read() -extension = extension.decode('utf-8').rstrip('\r\n') - -print("Building messenger." + extension + " ...") - -# Build the mex file -if splatform == 'win32': - mex = "\\mex.bat" -else: - mex = "/mex" -make_cmd = '"' + matlab_bin + mex + '"' + " -O -I" + header_path + " -L" + lib_path + " -lzmq ./src/messenger.c" -print(make_cmd) -os.system(make_cmd) - -messenger_exe = 'messenger.%s'%extension -messenger_loc = os.path.join(messenger_dir, messenger_exe) - -shutil.move(messenger_exe, messenger_loc) +if __name__ == '__main__': + usage = 'Please specify a valid make target (Matlab or Octave)' + if len(sys.argv) < 1: + print(usage) + sys.exit() + if sys.argv[1].lower() == 'matlab': + build_matlab() + elif sys.argv[1].lower() == 'octave': + build_octave() + else: + print(usage) diff --git a/messenger/make_octave.py b/messenger/make_octave.py deleted file mode 100644 index 36ae996..0000000 --- a/messenger/make_octave.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/python -from __future__ import print_function -import os -from get_messenger_dir import get_messenger_dir -import shutil -import subprocess - -messenger_dir, splatform = get_messenger_dir() - -with open(os.path.join(messenger_dir, 'local_octave.cfg')) as fid: - lines = fid.readlines() - -cfg = {} -for line in lines: - name, path = line.split('=') - cfg[name.lower()] = path.strip() or '.' - -print("Building messenger.mex...") - -paths = "-L%(octave_lib)s -I%(octave_inc)s -L%(zmq_lib)s -I%(zmq_inc)s" % cfg -make_cmd = "mkoctfile --mex %s -lzmq ./src/messenger.c" % paths -print(make_cmd) -subprocess.check_output(make_cmd.split()) - -messenger_exe = 'messenger.mex' -messenger_loc = os.path.join(messenger_dir, messenger_exe) - -shutil.move(messenger_exe, messenger_loc) -os.remove('messenger.o') diff --git a/messenger/mexa64/local.cfg b/messenger/mexa64/local.cfg index bc419a2..ee0347e 100644 --- a/messenger/mexa64/local.cfg +++ b/messenger/mexa64/local.cfg @@ -1,3 +1,6 @@ MATLAB_BIN=/white/local/matlab/r2012b/bin -HEADER_PATH=/home/haoxingz/zmq/include -LIB_PATH=/home/haoxingz/zmq/lib +OCTAVE_INC=/usr/include +OCTAVE_LIB=/usr/lib/x86_64-linux-gnu/ +ZMQ_INC= +ZMQ_LIB= + diff --git a/messenger/mexa64/local_octave.cfg b/messenger/mexa64/local_octave.cfg deleted file mode 100644 index 76505f5..0000000 --- a/messenger/mexa64/local_octave.cfg +++ /dev/null @@ -1,4 +0,0 @@ -OCTAVE_INC=/usr/include -OCTAVE_LIB=/usr/lib/x86_64-linux-gnu/ -ZMQ_INC= -ZMQ_LIB= diff --git a/messenger/mexmaci64/local.cfg b/messenger/mexmaci64/local.cfg index b83ed1d..1de2d8b 100644 --- a/messenger/mexmaci64/local.cfg +++ b/messenger/mexmaci64/local.cfg @@ -1,3 +1,5 @@ MATLAB_BIN=/Applications/MATLAB_R2012b.app/bin -HEADER_PATH=/usr/include -LIB_PATH=/usr/local/lib +ZMQ_INC=/usr/include +ZMQ_LIB=/usr/lib/x86_64-linux-gnu/ +OCTAVE_INC= +OCTAVE_LIB= diff --git a/messenger/mexmaci64/local_octave.cfg b/messenger/mexmaci64/local_octave.cfg deleted file mode 100644 index 76505f5..0000000 --- a/messenger/mexmaci64/local_octave.cfg +++ /dev/null @@ -1,4 +0,0 @@ -OCTAVE_INC=/usr/include -OCTAVE_LIB=/usr/lib/x86_64-linux-gnu/ -ZMQ_INC= -ZMQ_LIB= diff --git a/messenger/mexw64/local.cfg b/messenger/mexw64/local.cfg index d8d9ff6..b6b5a9c 100644 --- a/messenger/mexw64/local.cfg +++ b/messenger/mexw64/local.cfg @@ -1,3 +1,5 @@ MATLAB_BIN=/Applications/MATLAB_R2012a.app/bin -HEADER_PATH=/usr/include -LIB_PATH=/usr/local/lib +OCTAVE_INC="C:\Octave\Octave-3.8.2\include\octave-3.8.2\octave" +OCTAVE_LIB="C:\Octave\Octave-3.8.2\lib\octave\3.8.2" +ZMQ_INC="C:\zeromq-4.0.5\include" +ZMQ_LIB="C:\zeromq-4.0.5\src\.libs" diff --git a/messenger/mexw64/local_octave.cfg b/messenger/mexw64/local_octave.cfg deleted file mode 100644 index d2aed82..0000000 --- a/messenger/mexw64/local_octave.cfg +++ /dev/null @@ -1,4 +0,0 @@ -OCTAVE_INC="C:\Octave\Octave-3.8.2\include\octave-3.8.2\octave" -OCTAVE_LIB="C:\Octave\Octave-3.8.2\lib\octave\3.8.2" -ZMQ_INC="C:\zeromq-4.0.5\include" -ZMQ_LIB="C:\zeromq-4.0.5\src\.libs" From 7f3f230b12af3aa3d7da857bd4fbb1ced090a3fa Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 16:37:55 -0600 Subject: [PATCH 2/9] Handle empty lines --- messenger/make.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/messenger/make.py b/messenger/make.py index 623e9bd..1546f12 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -38,6 +38,8 @@ def get_config(): cfg = {} for line in lines: + if '=' not in line: + continue name, path = line.split('=') cfg[name.lower()] = path.strip() or '.' return cfg From dc3a585e0f2a2507a0f5ab752b584971ff1bc483 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 16:38:40 -0600 Subject: [PATCH 3/9] Update setup --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index d9d7aa5..ae9622a 100755 --- a/setup.py +++ b/setup.py @@ -17,8 +17,8 @@ # Find the messenger binary file(s) and copy it to /matlab folder. -from messenger.get_messenger_dir import get_messenger_dir -messenger_dir, splatform = get_messenger_dir() +from messenger.make import get_messenger_dir +messenger_dir = get_messenger_dir() for f in glob.glob("./messenger/%s/messenger.*" % messenger_dir): shutil.copy(f, "./pymatbridge/matlab") From 50a637550e48cbe3b82d1b8f500557baf9ac8d6b Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 16:42:13 -0600 Subject: [PATCH 4/9] Simplifiy make logic --- messenger/make.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/messenger/make.py b/messenger/make.py index 1546f12..94a150f 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -91,8 +91,7 @@ def build_matlab(): usage = 'Please specify a valid make target (Matlab or Octave)' if len(sys.argv) < 1: print(usage) - sys.exit() - if sys.argv[1].lower() == 'matlab': + elif sys.argv[1].lower() == 'matlab': build_matlab() elif sys.argv[1].lower() == 'octave': build_octave() From aad256a2df0c87b432cc9b1e5dc22d81dd040730 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 19:15:19 -0600 Subject: [PATCH 5/9] Fix make file interface --- messenger/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/messenger/make.py b/messenger/make.py index 94a150f..4b69beb 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -89,7 +89,7 @@ def build_matlab(): if __name__ == '__main__': usage = 'Please specify a valid make target (Matlab or Octave)' - if len(sys.argv) < 1: + if len(sys.argv) < 2: print(usage) elif sys.argv[1].lower() == 'matlab': build_matlab() From 6cb5bf8ddac8f7b237e6ef15a89ff95e5743eba4 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 19:15:28 -0600 Subject: [PATCH 6/9] Remove unused get_messenger_dir --- messenger/get_messenger_dir.py | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 messenger/get_messenger_dir.py diff --git a/messenger/get_messenger_dir.py b/messenger/get_messenger_dir.py deleted file mode 100644 index 1a77024..0000000 --- a/messenger/get_messenger_dir.py +++ /dev/null @@ -1,26 +0,0 @@ -import sys -import platform - - -def get_messenger_dir(): - # Check the system platform first - splatform = sys.platform - - if splatform.startswith('linux'): - messenger_dir = 'mexa64' - elif splatform.startswith('darwin'): - messenger_dir = 'mexmaci64' - elif splatform.startswith('win32'): - if splatform == "win32": - # We have a win64 messenger, so we need to figure out if this is 32 - # or 64 bit Windows: - if not platform.machine().endswith('64'): - raise ValueError("pymatbridge does not work on win32") - - # We further need to differniate 32 from 64 bit: - maxint = sys.maxsize - if maxint == 9223372036854775807: - messenger_dir = 'mexw64' - elif maxint == 2147483647: - messenger_dir = 'mexw32' - return messenger_dir, splatform From fb35bbf5f98d3da23d6ef91e320ecd26191a8449 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 19:23:08 -0600 Subject: [PATCH 7/9] Fix handling of matlab make command --- messenger/make.py | 8 ++++++-- messenger/mexa64/local.cfg | 2 +- messenger/mexa64/messenger.mexa64 | Bin 12956 -> 13090 bytes 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/messenger/make.py b/messenger/make.py index 4b69beb..a9b8cf0 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -54,7 +54,11 @@ def do_build(make_cmd, messenger_exe): messenger_loc = os.path.join(messenger_dir, messenger_exe) shutil.move(messenger_exe, messenger_loc) - os.remove('messenger.o') + + try: + os.remove('messenger.o') + except OSError: + os.remove('src/messenger.o') def build_octave(): @@ -83,7 +87,7 @@ def build_matlab(): else: mex = matlab_bin + "/mex" paths = "-L%(zmq_lib)s -I%(zmq_inc)s" % cfg - make_cmd = '"%s" -O %s -lzmq ./src/messenger.c' % (mex, paths) + make_cmd = '%s -O %s -lzmq ./src/messenger.c' % (mex, paths) do_build(make_cmd, 'messenger.%s' % extension) diff --git a/messenger/mexa64/local.cfg b/messenger/mexa64/local.cfg index ee0347e..54ff2f8 100644 --- a/messenger/mexa64/local.cfg +++ b/messenger/mexa64/local.cfg @@ -1,4 +1,4 @@ -MATLAB_BIN=/white/local/matlab/r2012b/bin +MATLAB_BIN=/home/silvester/matlab2014b/bin/ OCTAVE_INC=/usr/include OCTAVE_LIB=/usr/lib/x86_64-linux-gnu/ ZMQ_INC= diff --git a/messenger/mexa64/messenger.mexa64 b/messenger/mexa64/messenger.mexa64 index eaf2c7ebdf218596b1c253950ed53ad0fc8be199..80abad4d21b2844053b8b3f58e9c74ed1611a782 100755 GIT binary patch literal 13090 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

T;|c29-OM{UQb4sP3OkzsM7-T@O`Ej zpDg(PQH)O!d|xQWr#kz7F@A*LeY_Yi&F3SzA3HqnyT$r7PJU=Hex%@ivKXHsc>gQL zYn^<`V!Tf9epQSg<-C6s<1+>CGsXDP*f%scBA~r{0P)X8MMlejS6ur za2lWGNl$ExS6A=g_C3soOD!rq9br%wX59b2wR$NC4LITOWoCNHG zbUl*P`(nu+Bc?~JWGby2nL&X!-hr5j428hi=bp0&p35jv-f+}@lh*NeoEj4LyLTiL zj}O7b#p(3QUZm_NvauSNJx2+0xw(70RFQ%+!*(1AdCqU=}I6#msi!f3)5}5&^ zFYQ=yQLsZ_(bl%QwM*{`UewX5tBeO7*}m|CbZEz8B%Rdzkz#?wXyi3Rh*x|&joKB6 zK#w9$x`b}Z!vOu_%a;c`+gpU}jw_A1C?VOKm|Z5PnsSFJG1^X`uAJ!XWK91zvb&p` y-Ra6s+BC%>(_3U(bxFcBr(vtCYSNbJEHZw3N|1T&N!@m*b$ipp-MQp4Rs3IlGJjA2 literal 12956 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 Y&NZ2^(!Hr;{nDxn^T?~K?TOL<1sTkL82|tP From a58823136d9ca17db70b880c71fa2426f64dd7b7 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 19:26:24 -0600 Subject: [PATCH 8/9] Use shlex to split the command --- messenger/make.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/messenger/make.py b/messenger/make.py index a9b8cf0..ed3decc 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -3,6 +3,7 @@ import os import platform import sys +import shlex import shutil import subprocess @@ -49,7 +50,7 @@ def do_build(make_cmd, messenger_exe): print('Building %s...' % messenger_exe) print(make_cmd) messenger_dir = get_messenger_dir() - subprocess.check_output(make_cmd.split()) + subprocess.check_output(shlex.split(make_cmd)) messenger_loc = os.path.join(messenger_dir, messenger_exe) @@ -60,7 +61,7 @@ def do_build(make_cmd, messenger_exe): except OSError: os.remove('src/messenger.o') - + def build_octave(): paths = "-L%(octave_lib)s -I%(octave_inc)s -L%(zmq_lib)s -I%(zmq_inc)s" paths = paths % get_config() From 7ff2db8735282aa74d2970f62f29ea105c549973 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 16 Feb 2015 19:33:25 -0600 Subject: [PATCH 9/9] Fix handling of object file --- messenger/make.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/messenger/make.py b/messenger/make.py index ed3decc..d257f78 100755 --- a/messenger/make.py +++ b/messenger/make.py @@ -56,12 +56,10 @@ def do_build(make_cmd, messenger_exe): shutil.move(messenger_exe, messenger_loc) - try: + if os.path.exists('messenger.o'): os.remove('messenger.o') - except OSError: - os.remove('src/messenger.o') - + def build_octave(): paths = "-L%(octave_lib)s -I%(octave_inc)s -L%(zmq_lib)s -I%(zmq_inc)s" paths = paths % get_config()