blob: d436dadfe8d826dc858c32f0943fad6f8bd3d47d [file] [log] [blame]
function compile()
% Licensed to the Apache Software Foundation (ASF) under one
% or more contributor license agreements. See the NOTICE file
% distributed with this work for additional information
% regarding copyright ownership. The ASF licenses this file
% to you under the Apache License, Version 2.0 (the
% "License"); you may not use this file except in compliance
% with the License. You may obtain a copy of the License at
%
% http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing,
% software distributed under the License is distributed on an
% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
% KIND, either express or implied. See the License for the
% specific language governing permissions and limitations
% under the License.
vars = common_vars();
mkdir(vars.buildDir);
ldflags = string.empty;
if isunix
arrowHome = getenv("ARROW_HOME");
if isempty(arrowHome)
error("The ARROW_HOME environment variable must be set.");
end
ldflags(end+1) = "-Wl";
ldflags(end+1) = "-rpath '" + fullfile(arrowHome, "lib") + "'";
end
mex(fullfile(vars.srcDir, "featherreadmex.cc"), ...
fullfile(vars.srcDir, "feather_reader.cc"), ...
fullfile(vars.srcDir, "util", "handle_status.cc"), ...
"-L" + fullfile(arrowHome, "lib"), "-larrow", ...
"-I" + fullfile(arrowHome, "include"), ...
"LDFLAGS=""\$LDFLAGS " + strjoin(ldflags, ",") + """", ...
"-outdir", vars.buildDir, ...
"-R2018a", "-v");
end