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