Skip to content

feat(pkg): add LibSerial 1.0.0 compat package - #511

Open
tz12323 wants to merge 1 commit into
mcpplibs:mainfrom
tz12323:feat/add-libserial
Open

tz12323 wants to merge 1 commit into
mcpplibs:mainfrom
tz12323:feat/add-libserial

Conversation

@tz12323

@tz12323 tz12323 commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Add compat.libserial, a Linux-only C++-source compat package for LibSerial 1.0.0 (SerialPort / SerialStream), built from upstream's LIBSERIAL_SOURCES three translation units and exposing the public headers under libserial/ the way upstream's install does.

The headers open with <termios.h> and every TU reaches <linux/serial.h>, so the descriptor declares only the linux platform and consumers gate it with [target.'cfg(linux)'.dependencies] (same shape as compat.libaio).

Upstream's SerialPortConstants.h uses uint8_t without including ; a generated_files shim supplies it and #include_next's the real header. The test opens on the libserial header first of all, so the shim is compile-time asserted, and asserts the rest over a real openpty() pair.

No CN mirror (no mcpp-res write access): plain-string upstream url per docs/cn-mirror.md.

Add compat.libserial, a Linux-only C++-source compat package for LibSerial
1.0.0 (SerialPort / SerialStream), built from upstream's LIBSERIAL_SOURCES
three translation units and exposing the public headers under libserial/ the
way upstream's install does.

The headers open with <termios.h> and every TU reaches <linux/serial.h>, so
the descriptor declares only the linux platform and consumers gate it with
[target.'cfg(linux)'.dependencies] (same shape as compat.libaio).

Upstream's SerialPortConstants.h uses uint8_t without including <cstdint>;
a generated_files shim supplies it and #include_next's the real header. The
test opens on the libserial header first of all, so the shim is compile-time
asserted, and asserts the rest over a real openpty() pair.

No CN mirror (no mcpp-res write access): plain-string upstream url per
docs/cn-mirror.md.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant