Add export-dev target to export all libraries
commit00e62883ce36dafecb81ee65875c0b6a4529130b
authorVojtech Horky <vojtech.horky@gmail.com>
Fri, 5 Jan 2024 13:50:59 +0000 (5 14:50 +0100)
committerVojtech Horky <vojtech.horky@gmail.com>
Fri, 5 Jan 2024 14:10:56 +0000 (5 15:10 +0100)
tree28fa0508f16c86d589593a6cdbbe2f8854dafff4
parentde96d3bfc2010ce18fdf8d42328d4c461d7ca3f2
Add export-dev target to export all libraries

The new target export-dev builds all libraries and copies the created .a
archives and library headers to export-dev subdirectory.

Unlike the existing approach from tools/export.sh we do not list the
libraries manually but copy all of them automatically. This simplifies
maintenance when new library is added and it should also simplify
coastline builds as no change to HelenOS tree would be needed when the
ported software needs another library not yet mentioned in export.sh.

The approach relies as much on Meson to do the heavy-lifting as possible
and the invoked shell script merely copies the files (seems that Meson
is not able to do that by itself inside a target). The script honors
exported DESTDIR variable if set and ensures thin archives are converted
before export.
meson.build
meson/part/exports/copy-export.sh [copied from uspace/lib/posix/meson.build with 58% similarity, mode: 0755]
meson/part/exports/meson.build
uspace/lib/c/meson.build
uspace/lib/meson.build
uspace/lib/posix/meson.build