65 Commits

Author SHA1 Message Date
Stone Tickle
cb5cc5923a
simplify bootstrap.sh 2022-11-04 20:38:13 -04:00
Stone Tickle
4298aa2011
make muon reuse compliant
https://reuse.software
2022-10-25 10:54:31 -04:00
Stone Tickle
8b6396f1ff
use c_args and c_link_args during bootstrap
c_args and c_link_args were already defined, making the #ifdef on these
functions useless.  Note that this will make the stage 1 muon crash if
you try to build a cpp project.

Also, add LDFLAGS to bootstrap.sh
2022-08-19 08:06:22 -05:00
Stone Tickle
4d7bcf2708
support CFLAGS in bootstrap.sh 2022-07-08 14:18:16 -05:00
Stone Tickle
b3fc947004
simplify bootstrap process 2022-07-06 11:19:42 -05:00
Stone Tickle
9bc45128d3
rename functions/default to functions/kernel 2022-06-24 18:45:46 -05:00
Stone Tickle
3f907fb818
add bundled readline implementation: bestline 2022-06-23 13:06:16 -05:00
Stone Tickle
1421c35d1a
replace obj_external_library with obj_dependency 2022-06-12 15:18:59 -05:00
Stone Tickle
347bf6cea7
implement meson.add_postconf_script() 2022-06-04 14:55:11 -05:00
Stone Tickle
8f9ff8371e
remove muon auto
The same sort of functionality can be achieved by using machine files,
once they are implemented.  Build system regeneration has also been made
simpler, and just invokes setup with the original command line directly
2022-05-31 20:30:09 -05:00
Stone Tickle
0e9736d549
options refactor
- support deprecated options
- add a precedence system for options
- restrict per-subproject options
2022-05-13 17:23:30 -05:00
Stone Tickle
b0a78d27c8
stub analyze.c 2022-04-18 10:25:36 -05:00
Stone Tickle
3a8d40e1bd
add both_libs object 2022-03-30 12:06:51 -05:00
Stone Tickle
0e8a061a36
only build rpath_fixer on supported platforms
This also required implementing some platform detection in src/meson.build
2022-02-23 19:43:46 -06:00
Stone Tickle
43dfe4007d
clean up subproject functionality
Also, don't set subproject options until after we are sure that there is
a subproject to set up.
2022-01-31 05:58:16 -06:00
dffdff2423
4662b3157a
Add support for alias targets
* Added a object type 'obj_alias_type'
* Implemented the meson function alias_target()
* Added support for generating alias_targets
* Copied and modified the relevant test from meson

Currently because run targets are not implemented there are TODOs where
they should be handled.
2022-01-25 20:40:30 -06:00
Stone Tickle
f8ff7552f0
use rpmvercmp for version comparisons 2022-01-03 09:20:27 -06:00
Stone Tickle
5ef6181117
improve find_library and pkgconfig lib resolution 2021-12-14 15:27:29 -06:00
Stone Tickle
d6110513ed
add unstable meson dsl formatter 2021-12-08 10:19:39 -06:00
Stone Tickle
97e50c9563
update bootstrap.sh to make libpkgconf optional 2021-11-21 14:54:46 -06:00
Stone Tickle
c0ab0f7819
use uname() to get machine information 2021-11-14 07:20:30 -06:00
Stone Tickle
278c4c5fa7
fix bootstrap.sh 2021-11-13 10:55:07 -06:00
Stone Tickle
e96b123e20
remove development rpaths on install 2021-11-12 13:38:44 -06:00
Stone Tickle
c7d2a3bc96
remove unused tar and zlib sources 2021-11-10 09:21:08 -06:00
Stone Tickle
c99ef83871
add a progress bar to tests 2021-11-09 06:44:54 -06:00
Stone Tickle
586b0036f0
put build target creation funcs into seperate file 2021-11-08 06:24:05 -06:00
Stone Tickle
3b2dc71025
add a mechanism to embed scripts in the executable 2021-11-05 19:22:17 -05:00
Stone Tickle
4425c41e87
put version guessing function into guess.c 2021-10-29 16:36:49 -05:00
Stone Tickle
6f2b08cbb0
implement generators 2021-10-20 11:27:50 -05:00
Stone Tickle
a97f47a9ff
fix bootstrap script 2021-10-18 18:49:42 -05:00
Stone Tickle
0d8fef7378
implement disabler() 2021-10-13 08:56:58 -05:00
Stone Tickle
d5c61aa6eb
major ninja backend refactor
This is a long overdue organization of the functionality that has
collected in the ninja backend.  Most importantly, the process for
getting dependency build arguments has been separated for use in e.g.
compiler has_ functions.
2021-10-04 13:58:03 -05:00
Stone Tickle
a35e36bf76
move string functions into their own file 2021-09-28 08:22:12 -05:00
Stone Tickle
7fc00dbe28
begin cleaning up ninja output generator 2021-09-21 11:28:14 -05:00
Stone Tickle
eed6d7ba14
rename output/output.c to backend/ninja.c 2021-09-21 07:01:23 -05:00
Stone Tickle
2057422031
implement environment object 2021-09-15 11:30:54 -05:00
Stone Tickle
063dfe4750
add a stub for the pkgconfig module 2021-09-13 12:31:29 -05:00
Stone Tickle
af855918e7
add support for python module also 2021-09-12 15:59:33 -05:00
Stone Tickle
338bae2ae4
implement module("python3").find_python() 2021-09-12 13:09:06 -05:00
Stone Tickle
166bec1296
pull out custom_target 2021-09-05 07:19:31 -05:00
Stone Tickle
0cdaf0643a
implement preliminary support for installations 2021-08-24 21:25:47 -05:00
Stone Tickle
a58b5b8bb4
implement boolean.to_int() 2021-08-24 18:44:04 -05:00
Stone Tickle
f2572e9ad3
implement array.length() 2021-08-24 18:43:36 -05:00
Stone Tickle
38eea963ef
implement a general serializer for muon objects 2021-08-15 06:10:28 -05:00
Stone Tickle
167f4eca89
consolidate argument array handling 2021-08-15 06:08:15 -05:00
Stone Tickle
570f0ad165
fix path in bootstrap.sh 2021-08-12 08:39:24 -05:00
Stone Tickle
88dda20508
unify platform-specific directory handling 2021-08-12 08:12:18 -05:00
Stone Tickle
576a74d6b4
allow custom CC for bootstrap 2021-08-11 19:31:44 -05:00
Stone Tickle
bf66239f44
rename sha-256.c -> sha_256.c 2021-08-09 19:08:53 +09:00
Stone Tickle
aff2d408bc
organize sources 2021-08-02 11:37:11 +09:00