48 Commits

Author SHA1 Message Date
Vincent Torri
8f77e55b47
Add cl and clang-cl compilation support 2023-07-11 16:55:18 -04:00
Stone Tickle
314b4c864d
set object file extension from compiler 2023-06-02 21:45:27 -04:00
Stone Tickle
93c59efa9e
support -Dwarning_level=everything 2023-04-10 07:17:00 -04:00
Stone Tickle
c99af17d5e
implement b_lto 2023-01-18 09:10:40 -05:00
Stone Tickle
3e19e0b6bd
implement b_colorout 2023-01-18 09:01:02 -05:00
Stone Tickle
e59603b833
implement asm language 2023-01-14 21:10:02 -05:00
Stone Tickle
5a60adf14c
implement compiler.preprocess 2023-01-14 21:09:58 -05:00
Stone Tickle
8db266ca14
support 'plain' optimization 2023-01-14 21:09:58 -05:00
Stone Tickle
691f68b89f
only add D for GNU ar 2022-11-05 08:02:31 -04:00
Stone Tickle
4298aa2011
make muon reuse compliant
https://reuse.software
2022-10-25 10:54:31 -04:00
Owen Rafferty
138c43d55f
add b_pgo support for gcc-like compilers 2022-07-26 07:41:35 -05:00
Stone Tickle
c72934fb0e
add support for b_staticpic and b_pie 2022-07-02 09:47:29 -05:00
Stone Tickle
39b94c2fe0
use proper suffix for compiler check files
This fixes some compilers that refuse to compile code from files without
proper suffixes.
2022-06-28 14:21:38 -05:00
Stone Tickle
65b8be6c9e
support link_whole
link_whole support was originally implemented by just adding link_whole
entries to link_with.  This commit actually adds support for
-Wl,--whole-archive.
2022-06-21 15:01:50 -05:00
Stone Tickle
5996fe7a07
factor dep link langs into target link lang choice 2022-06-12 15:18:59 -05:00
Stone Tickle
35cd9c41f0
support llvm ir language 2022-06-04 20:14:27 -05:00
Stone Tickle
68fd540339
make assembly support more independent 2022-04-29 12:20:28 -05:00
illiliti
25f5728cbc
stub objc language 2022-04-24 07:10:10 -05:00
illiliti
e826732029
support gnu_symbol_visibility kwarg 2022-04-18 10:24:01 -05:00
illiliti
f28296ee70
treat invalid linker flags as errors 2022-04-07 09:54:46 -05:00
Stone Tickle
20a4f80150
add apple clang compiler and linker definitions 2022-02-23 19:43:47 -06:00
Stone Tickle
44584b52ea
try and fix all remaining uint32_t obj usages 2022-02-15 15:29:39 -06:00
Stone Tickle
e32e91326e
implement compiler.get_linker_id() 2021-12-14 19:38:31 -06:00
Stone Tickle
5ef6181117
improve find_library and pkgconfig lib resolution 2021-12-14 15:27:29 -06:00
Stone Tickle
b6e5f6970f
implement b_ndebug 2021-12-12 19:46:32 -06:00
Stone Tickle
7fbc67dabb
support export_dynamic kwarg 2021-12-12 11:44:03 -06:00
Stone Tickle
30114ab826
add allow-shlib-undefined linker opt to shared mod 2021-12-03 07:03:26 -06:00
Stone Tickle
bfe004d53c
implement b_sanitize for the linker 2021-11-21 19:23:25 -06:00
Stone Tickle
cfecfd0e26
implement b_sanitize option 2021-11-21 18:53:18 -06:00
Stone Tickle
df771082d2
implement compiler.has_header() 2021-11-18 08:33:29 -06:00
Stone Tickle
4739042458
add -fpic to dynamic library sources 2021-11-10 19:18:42 -06:00
Stone Tickle
b4ea77b9bc
add soname and rpath linker arguments 2021-11-10 19:02:42 -06:00
Stone Tickle
e38276c2a6
add shared linker arg 2021-11-08 20:15:33 -06:00
Stone Tickle
105a66be50
support obj files in sources list 2021-10-20 11:27:24 -05:00
Stone Tickle
b9445e6453
support is_system include directories 2021-10-10 07:36:46 -05:00
Stone Tickle
5e67fe69d1
cleanup function definitions
- add missing includes
- add static to non-exported functions
- make function prototype arguments match the definition
2021-09-11 12:01:53 -05:00
Stone Tickle
917cc768ff
use an automated tool to normalize header guards 2021-09-11 11:32:30 -05:00
Stone Tickle
0f0c3d54ea
store compiler_language on compiler object 2021-08-24 18:45:57 -05:00
Stone Tickle
167f4eca89
consolidate argument array handling 2021-08-15 06:08:15 -05:00
Stone Tickle
20b858dd65
abstract linker arguments 2021-08-10 00:13:16 +09:00
Stone Tickle
bcf08b58ef
add hierarchical compiler definitions 2021-08-09 18:56:03 +09:00
Stone Tickle
2f58ee0e2c
abstract compiler arguments 2021-08-07 10:15:59 +09:00
Stone Tickle
f432d9abbb
add compiler language information array 2021-08-07 08:00:41 +09:00
Stone Tickle
07a2f690d9
add filename_to_compiler_language 2021-08-07 08:00:13 +09:00
Stone Tickle
aff2d408bc
organize sources 2021-08-02 11:37:11 +09:00
Stone Tickle
dc7ed0d179
improve modularity of compiler detection 2021-08-02 07:21:50 +09:00
Stone Tickle
82c653e6d3
return correct compiler id 2021-07-31 20:13:49 +09:00
Stone Tickle
cbed1e650c
add compiler encapuslation framework 2021-07-31 18:51:33 +09:00