2
0
mirror of https://github.com/FWGS/xash3d-fwgs synced 2024-11-22 09:56:22 +01:00

Documentation: extensions: library-naming: proper line breaks and links to buildsystem integration for HLSDK

This commit is contained in:
Alibek Omarov 2019-11-20 19:58:43 +03:00 committed by GitHub
parent 744f75d4a3
commit 5266f17d56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -27,14 +27,13 @@ Why ```gamedll_linux``` and not ```gamedll```? Because it looks more logic that
For any libraries distributed **with** engine, naming scheme should be used more convenient for OS port. For any libraries distributed **with** engine, naming scheme should be used more convenient for OS port.
Issue #0. Inconsistency between ABI and Q_buildarch. Issue #0. Inconsistency between ABI and Q_buildarch.\
Resolution: Change Q_buildarch return value to use Debian-styled architectures list: https://www.debian.org/ports/, which includes a special naming for big/little-endian and hard/soft-float ARM. Resolution: Change Q_buildarch return value to use Debian-styled architectures list: https://www.debian.org/ports/, which includes a special naming for big/little-endian and hard/soft-float ARM.
Issue #1: Build-system integration. Issue #1: Build-system integration.\
Resolution: extend MACRO_TO_DEST_CPU and MACRO_TO_DESTOS from Waf: https://gitlab.com/ita1024/waf/blob/master/waflib/Tools/c_config.py#L1002, if needed. Resolution: implemented as [LibraryNaming.cmake](https://github.com/FWGS/hlsdk-xash3d/blob/master/cmake/LibraryNaming.cmake) and [library_naming.py](https://github.com/FWGS/hlsdk-xash3d/blob/master/scripts/waifulib/library_naming.py) extensions, see
Issue #2(related to #0): Issue #2(related to #0): Which ARM flavours we actually need to handle?\
Which ARM flavours we actually need to handle?
Resolution: Little-endian only, as there is no known big-endian ARM platforms in the wild. Resolution: Little-endian only, as there is no known big-endian ARM platforms in the wild.
Architecture is coded this way: Architecture is coded this way:
* ```armvxy```, where `x` is ARM instruction set level and `y` is hard-float ABI presence: `hf` where hard float ABI used, otherwise `l`. * ```armvxy```, where `x` is ARM instruction set level and `y` is hard-float ABI presence: `hf` where hard float ABI used, otherwise `l`.