Skip to content

Commit

Permalink
Better kernel module checking (#1032)
Browse files Browse the repository at this point in the history
* Better kernel module checking

* fix linting

* better error messages

* fix linting

* fix linting again

* Change Semigroups -> semigroups
  • Loading branch information
Joseph-Edwards committed Aug 26, 2024
1 parent 7017ff3 commit 83e428d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 15 deletions.
11 changes: 4 additions & 7 deletions PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ PackageDoc := rec(
),

Dependencies := rec(
GAP := ">=4.12.0",
GAP := ">=4.12.1",
NeededOtherPackages := [["datastructures", ">=0.2.5"],
["digraphs", ">=1.6.2"],
["genss", ">=1.6.5"],
Expand Down Expand Up @@ -406,13 +406,10 @@ BannerString := Concatenation(
"------\n"),

AvailabilityTest := function()
local semigroups_so;
semigroups_so := Filename(DirectoriesPackagePrograms("semigroups"),
"semigroups.so");
if (not "semigroups" in SHOW_STAT()) and semigroups_so = fail then
if not IsKernelExtensionAvailable("semigroups") then
LogPackageLoadingMessage(PACKAGE_WARNING,
"the kernel module is not compiled, ",
"the package cannot be loaded.");
["the kernel module is not compiled, ",
"the package cannot be loaded."]);
return fail;
fi;
return true;
Expand Down
10 changes: 2 additions & 8 deletions init.g
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,9 @@ if not IsBound(ORBC) then
BindGlobal("HTValue_TreeHash_C", fail);
fi;

# the kernel module makes use of the c functions HTAdd_TreeHash_C and
# HTValue_TreeHash_C and so we should only use the part of the kernel module
# using these functions if Orb is compiled.
_SEMIGROUPS_SO := Filename(DirectoriesPackagePrograms("semigroups"),
"semigroups.so");
if _SEMIGROUPS_SO <> fail then
LoadDynamicModule(_SEMIGROUPS_SO);
if LoadKernelExtension("semigroups") = false then
Error("failed to load Semigroups kernel extension");
fi;
Unbind(_SEMIGROUPS_SO);

if not IsBound(UserHomeExpand) then
BindGlobal("UserHomeExpand", USER_HOME_EXPAND);
Expand Down

0 comments on commit 83e428d

Please sign in to comment.