diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/matlab/build_support | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/matlab/build_support')
-rw-r--r-- | src/arrow/matlab/build_support/common_vars.m | 24 | ||||
-rw-r--r-- | src/arrow/matlab/build_support/compile.m | 41 | ||||
-rw-r--r-- | src/arrow/matlab/build_support/test.m | 28 |
3 files changed, 93 insertions, 0 deletions
diff --git a/src/arrow/matlab/build_support/common_vars.m b/src/arrow/matlab/build_support/common_vars.m new file mode 100644 index 000000000..a7c9d6a32 --- /dev/null +++ b/src/arrow/matlab/build_support/common_vars.m @@ -0,0 +1,24 @@ +function vars = common_vars() +% 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. + +fileDir = fileparts(mfilename("fullpath")); + +vars.srcDir = fullfile(fileDir, "..", "src"); +vars.testDir = fullfile(fileDir, "..", "test"); +vars.buildDir = fullfile(fileDir, "..", "build"); +end
\ No newline at end of file diff --git a/src/arrow/matlab/build_support/compile.m b/src/arrow/matlab/build_support/compile.m new file mode 100644 index 000000000..d436dadfe --- /dev/null +++ b/src/arrow/matlab/build_support/compile.m @@ -0,0 +1,41 @@ +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 diff --git a/src/arrow/matlab/build_support/test.m b/src/arrow/matlab/build_support/test.m new file mode 100644 index 000000000..990549e3b --- /dev/null +++ b/src/arrow/matlab/build_support/test.m @@ -0,0 +1,28 @@ +function test() +% 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(); + +compile(); + +originalPath = addpath(vars.srcDir, vars.buildDir); +restoreOriginalPath = onCleanup(@()path(originalPath)); + +results = runtests(vars.testDir, "IncludeSubfolders", true, "OutputDetail", 3); +assert(all(~[results.Failed])); +end |