docs: def build_matlab(static=False):
      """build the messenger mex for MATLAB
  
      static : bool
          Determines if the zmq library has been statically linked.
          If so, it will append the command line option -DZMQ_STATIC
          when compiling the mex so it matches libzmq.
      """
      cfg = get_config()
      # To deal with spaces, remove quotes now, and add
      # to the full commands themselves.
      if 'matlab_bin' in cfg and cfg['matlab_bin'] != '.':
          matlab_bin = cfg['matlab_bin'].strip('"')
      else:  # attempt to autodetect MATLAB filepath
          matlab_bin = which_matlab()
          if matlab_bin is None:
              raise ValueError("specify 'matlab_bin' in cfg file")
      # Get the extension
      extcmd = esc(os.path.join(matlab_bin, "mexext"))
      extension = subprocess.check_output(extcmd, shell=use_shell)
      extension = extension.decode('utf-8').rstrip('\r\n')
  
      # Build the mex file
      mex = esc(os.path.join(matlab_bin, "mex"))
      paths = "-L%(zmq_lib)s -I%(zmq_inc)s" % cfg
      make_cmd = '%s -O %s -lzmq ./src/messenger.c' % (mex, paths)
      if static:
          make_cmd += ' -DZMQ_STATIC'
      do_build(make_cmd, 'messenger.%s' % extension)