acpica-sys

Builds acpica, and has bindings to it. To actually use most of it, various symbols will need to be provided, described in section 9 of the ACPICA reference manual.

This is a fork of the existing acpica-sys crate with minor modifications:

Check https://crates.io/crates/libacpica for more details.

Updating ACPICA sources

Some steps that might be useful to follow:

Should look like this:

```C

if defined(NRK)

include "acnrk.h"

elif defined(_LINUX) || defined(linux)

include "aclinux.h"

```

Some issues that can be expected and what to do about them:

log | = note: ld: ./target/x86_64-nrk/debug/deps/liblibacpica-e827d49529440c52.rlib(utglobal.o):(.data+0x0): multiple definition of `AcpiGbl_FixedEventInfo'; ./target/x86_64-nrk/debug/deps/liblibacpica-70ca8cf5bc7406ee.rlib(utglobal.o):(.data+0x0): first defined here

Some older version of libacpica creeped in through a transitive dependency (e.g., rust-topology). Clone rust-topology locally and use update libacpica there or use a cargo patch section to override.

log | = note: ld: ./target/x86_64-nrk/debug/deps/liblibacpica-1986a2fed1aa7eb7.rlib(utdebug.o): in function `AcpiDebugPrint': | utdebug.c:(.text+0x169): undefined reference to `strlen'

Check compile time defines for ACPI_USE_STANDARD_HEADERS and ACPI_USE_SYSTEM_CLIBRARY.