Browse Source

genodeLibcCross: no dummy libraries

The ABI stub libraries are not mechanically derived from real libraries
and must not be used for non-depot builds.
ncurses
Emery Hemingway 2 years ago
parent
commit
65a06a1981
  1. 18
      overlay/libc/default.nix

18
overlay/libc/default.nix

@ -1,26 +1,18 @@
# SPDX-License-Identifier: CC0-1.0
{ genodeSources, genodeBase, writeText }:
{ genodeSources, genodeBase, symlinkJoin }:
genodeSources.buildDepot {
symlinkJoin {
name = "posix";
propagatedBuildInputs = [ genodeBase ];
portInputs = [ genodeSources.ports.libc ];
preInstall =
# Take the libc ABI stubs rather than the actual libc.
# The libc needs a lot of work and we can't afford to
# rebuild the toolchain for every fix.
''
find depot -name libc.abi.so -exec install -D {} "''${!outputLib}/libc.so" \;
'';
postInstall = ''
paths = map genodeSources.depot [ "libc" "posix" ];
postBuild = ''
local headerDir="''${!outputDev}/include"
mkdir -p "$headerDir"
pushd ${genodeSources.ports.libc}/*
cp -r \
include/libc/* \
include/openlibm/* \
$GENODE_DIR/repos/libports/include/libc \
${genodeSources}/repos/libports/include/libc \
"$headerDir"
for spec in ${toString genodeSources.specs}; do
dir=include/spec/$spec/libc

Loading…
Cancel
Save