Skip to content

Commit 982dc38

Browse files
committed
only build create_symlink when needed
1 parent ca0c693 commit 982dc38

File tree

9 files changed

+12
-3
lines changed

9 files changed

+12
-3
lines changed

+stdlib/cpu_arch.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
if stdlib.has_dotnet()
77
a = System.Runtime.InteropServices.RuntimeInformation.OSArchitecture;
8+
% https://learn.microsoft.com/en-us/dotnet/core/compatibility/interop/7.0/osarchitecture-emulation
89
else
910
a = javaMethod("getProperty", "java.lang.System", "os.arch");
1011
end

+stdlib/create_symlink.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@
2626
% Matlab Java doesn't recognize the optional argument omitted.
2727
% see example/Filesystem.java for this working in plain Java.
2828
% see example/javaCreateSymbolicLink.m for a non-working attempt in Matlab.
29-
if stdlib.has_dotnet()
29+
if stdlib.has_dotnet() && stdlib.dotnet_api() >= 6
30+
% https://learn.microsoft.com/en-us/dotnet/api/system.io.file.createsymboliclink
3031
System.IO.File.CreateSymbolicLink(link, target);
3132
ok = true;
3233
else
34+
warning(e.identifier, "%s", e.message)
3335
ok = false;
3436
end
3537
case "Octave:undefined-function"

+stdlib/disk_available.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
if stdlib.has_dotnet()
1717
f = System.IO.DriveInfo(stdlib.absolute(d)).AvailableFreeSpace();
18+
% https://learn.microsoft.com/en-us/dotnet/api/system.io.driveinfo.availablefreespace
1819
elseif stdlib.has_java()
1920
f = javaObject("java.io.File", d).getUsableSpace();
2021
f = uint64(f);

+stdlib/disk_capacity.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
if stdlib.has_dotnet()
1515
f = System.IO.DriveInfo(stdlib.absolute(d)).TotalSize();
16+
% https://learn.microsoft.com/en-us/dotnet/api/system.io.driveinfo.totalsize
1617
elseif stdlib.has_java()
1718
f = javaObject("java.io.File", d).getTotalSpace();
1819
f = uint64(f);

+stdlib/filesystem_type.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
if stdlib.has_dotnet()
1515
t = System.IO.DriveInfo(stdlib.absolute(p)).DriveFormat;
16+
% https://learn.microsoft.com/en-us/dotnet/api/system.io.driveinfo.driveformat
1617
elseif stdlib.has_java()
1718
t = javaMethod("getFileStore", "java.nio.file.Files", javaPathObject(p)).type;
1819
end

+stdlib/get_username.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
if stdlib.has_dotnet()
99
n = System.Environment.UserName;
10+
% https://learn.microsoft.com/en-us/dotnet/api/system.environment.username
1011
elseif stdlib.has_java()
1112
n = javaMethod("getProperty", "java.lang.System", "user.name");
1213
end

+stdlib/hostname.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
if stdlib.has_dotnet()
1212
n = System.Environment.MachineName;
13+
% https://learn.microsoft.com/en-us/dotnet/api/system.environment.machinename
1314
elseif stdlib.isoctave()
1415
n = gethostname();
1516
elseif stdlib.has_java()

+stdlib/os_version.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
if stdlib.has_dotnet()
1111
v = System.Environment.OSVersion.VersionString;
12+
% https://learn.microsoft.com/en-us/dotnet/api/system.operatingsystem.versionstring
1213
vs = split(string(v), ' ');
1314
version = vs(end);
1415
os = join(vs(1:end-1));

buildfile.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ function build_exe(context)
284284
srcs{end+1} = ["src/read_symlink.cpp", win, sym];
285285
end
286286

287-
if isMATLABReleaseOlderThan("R2024b") || build_all || ispc
288-
% so that we dont't need to run matlab AsAdmin on Windows
287+
if (isMATLABReleaseOlderThan("R2024b") && ~stdlib.has_dotnet() || stdlib.dotnet_api() < 6) || build_all
288+
% so that we don't need to run matlab AsAdmin on Windows
289289
srcs{end+1} = ["src/create_symlink.cpp", win, sym];
290290
end
291291

0 commit comments

Comments
 (0)