25 Commits

Author SHA1 Message Date
James Benton
191200b5cb cmake: Add wut_link_rpl for linking to an rpl that has exports.
The exports must have been added with wut_add_exports.
2020-06-23 10:44:46 +01:00
James Benton
07e77e9136 cmake: Generate import file for linking to an rpl with wut_add_exports. 2020-06-23 10:44:46 +01:00
James Benton
bffffdf515 samples/cmake: Update to use new cmake functions. 2019-11-23 10:12:28 +00:00
James Benton
217bf98474 cmake: Fix new wut_create_rpl for RPL files.
Forgot RPL was a thing, was only working for RPX before.
2019-11-23 10:10:18 +00:00
James Benton
c74eb52c67 cmake: Add new and improved wut_create_rpl implementation.
This safely deprecates the old usage of wut_create_rpl.

Benefits are:
- Previously it would re-generate the RPX every time even with no changes.
- No longer creates a new build target just for the rpx file
2019-11-22 18:02:57 +00:00
Ash Logan
4374621f4b wut.ld: make __rpx_start the default entry symbol, remove rpx.specs
ld will now auto-link everything to __rpx_start and pull in the correct 
crt *unless* rpl.specs is given on the commandline
2019-05-03 18:02:15 +10:00
Ash Logan
5087ca6c88 cmake: Add libwut as a standard library
https://gitlab.kitware.com/cmake/cmake/issues/18222
2019-05-03 17:48:59 +10:00
Ash Logan
d542fdc438 wut.cmake: Use wut.specs and libwut in wut_create_rpx 2019-04-23 20:40:09 +10:00
Ash Logan
4828abdc1a wut.cmake: Deprecate old wut_enable_* macros 2019-04-23 20:37:47 +10:00
rw-r-r-0644
7055d69c4f Strip debug sections before running elf2rpl to prevent crashes 2018-11-06 19:42:45 +00:00
James Benton
690bd6ccbd Revert "Rename wutdevoptab to wutdevoptab_sd"
This reverts commit 865af4609c49015c64f4092fd53315a1110b8042.
Turns out it is for whole filesystem. oops.
2018-07-19 08:51:40 +01:00
James Benton
c5e51a5ffc cmake: Remove -std=c++17 from wut_enable_stdcpp 2018-06-18 21:13:06 +01:00
James Benton
47c3d4d7cd cmake: Use target_link_libraries even for --whole-archive libraries.
So cmake picks up the dependency naturally, I didn't know this was possible
before...
2018-06-15 14:56:38 +01:00
James Benton
78440eafe5 share/wut.cmake: Update to be a bit more idiot proof.
Only allows calling each wut_enable_* once, also wut_enable_stdcpp now
automatically calls wut_enable_newlib.
2018-06-14 12:26:44 +01:00
James Benton
d315b4bb34 Add new wutmalloc library.
This overwrites malloc and redirects it to alloc from default heap.
Also sets __wut_heap_max_size to limit sbrk heap now that malloc no longer
uses it.
2018-06-14 09:33:16 +01:00
James Benton
62cb2757b9 wut_add_exports: Use target name when generating exports.
This helps keep the filename unique.
2018-05-31 10:30:58 +01:00
James Benton
f281be50ab Add support for generating RPL files.
RPL files are shared libraries (like a .dll file), as opposed to the RPX
files which are executables (like a .exe file).

Use rpl_main as defined in dynload.h like one would DllMain on Windows.
2018-05-30 21:56:18 +01:00
James Benton
61a84c50b6 tools: Add rplexportgen to produce SHT_RPL_EXPORTS. 2018-05-30 18:56:10 +01:00
James Benton
6d8dabb15b wut.cmake: Update to support creating RPL files, and exports. 2018-05-30 18:56:10 +01:00
James Benton
35d05358c4 Fix wut_create_rpx linking to newlib instead of crt. 2018-05-28 11:39:54 +01:00
James Benton
b4a6eb2f78 Split out crt from wutnewlib to wutcrt.
Can now optionally link newlib, stdc++, devoptab.
2018-05-27 12:12:49 +01:00
James Benton
ac8a42fa7c Change to using new gthreads implementation.
Assuming that --enable-threads=dkp gets merged into devkitPPC r31... :)
2018-05-26 18:25:36 +01:00
James Benton
a9829a3226 Add support for C++ std::thread.
Overwrites bits/gthr-default.h to implement gthreads.
2018-05-25 17:22:10 +01:00
James Benton
5b8b60b390 Add newlib syscalls. 2018-05-25 11:31:44 +01:00
James Benton
fc10605172 Rewrite! 2018-05-23 09:47:28 +01:00