Commit graph

230 commits

Author SHA1 Message Date
Justin Ethier
209050b2d4 Allow C compiler/linker options from a library to be expanded via cond-expand 2021-02-25 22:43:19 -05:00
Justin Ethier
dc597a9926 Issue #365 - Allow c-linker-options to work as a top-level expression in a program 2021-01-18 15:57:45 -05:00
Justin Ethier
065a8bdd15 Issue #365 - Allow c-compiler-options to be used by programs 2021-01-18 15:03:27 -05:00
Justin Ethier
eb3250c0f1 Issue #365 - Added (c-compiler-options) expression for libs 2021-01-18 10:46:03 -05:00
Justin Ethier
046e7020b2 Added the -COPT compiler option
This allows easily specifying compiler options such as directories to search for header files.
2021-01-17 22:42:37 -05:00
Justin Ethier
6f5a60bfa4 Recompute library dep tree after macro expansion
Fix the compiler to recompute library dependencies for a program if additional import expressions were encountered during macro expansion.
2020-11-19 14:51:25 -05:00
Justin Ethier
6a1377178a Issue #412 - Fix expand within a cond-expand
Allow these dependencies to be recognized by Cyclone.
2020-09-28 13:32:13 -04:00
Justin Ethier
f849a739af Raise an error if library compilation fails
If a program tries to build a dependent library and the compilation fails, we need to know about it
2020-09-23 12:21:56 -04:00
Justin Ethier
dc30dba735 Expand library before reading imports 2020-09-02 18:10:41 -04:00
Justin Ethier
dc64d52412 Added -COBJ option 2020-08-14 16:44:43 -04:00
Justin Ethier
7b079d36d3 Pretty-up the top-level error messages
Make the output more readable when we have location information for the error.
2020-07-23 12:38:01 -04:00
Justin Ethier
0d25e5e122 Clean up error messages, provide filename if able 2020-07-21 22:35:47 -04:00
Justin Ethier
de1a97fbe7 Cleanup 2020-07-21 21:45:26 -04:00
Justin Ethier
8a65baef9c Add custom exception handler to avoid call history 2020-07-21 12:36:42 -04:00
Justin Ethier
858cac4eee Relocating source list to (scheme base) 2020-07-19 22:58:01 -04:00
Justin Ethier
64b81aa803 Fix code example 2020-05-18 10:03:34 -04:00
Justin Ethier
228f606b2e Read c-linker-options 2020-02-20 13:47:04 -05:00
Justin Ethier
d9d78c226b Added -CLNK 2020-02-19 13:45:58 -05:00
Justin Ethier
77a02fe26d Issue #354 - Cleanup 2020-01-10 17:17:43 -05:00
Justin Ethier
bc3ab62439 Issue #354 - Initial support for includes
Still needs some cleanup, but the batch compilation code now also check source files used by (include) directives.
2020-01-10 13:41:10 -05:00
Justin Ethier
192e8a094f WIP 2020-01-09 23:00:09 -05:00
Justin Ethier
2c3a85efb9 Issue #287
Do not inline functions if optimizations are disabled via `-O0`
2020-01-06 13:23:39 -05:00
Justin Ethier
b83bfec83c Cleanup, indicate default batch setting 2020-01-06 13:03:47 -05:00
Justin Ethier
950700963a Issue #354 - Added batch compilation ability 2020-01-03 18:41:42 -05:00
Justin Ethier
d72c54ca17 Debug library deps, added TODO 2020-01-03 10:29:57 -05:00
Justin Ethier
4c578f0394 Added -use-unsafe-prims 2019-11-26 15:10:28 -05:00
Justin Ethier
95d1200df0 Incorporate optimization flags 2019-11-13 13:16:45 -05:00
Justin Ethier
64c365378b Added additional optimization flags 2019-11-13 12:57:06 -05:00
Justin Ethier
e98e35ee5b Added -no-call-history flag
Allow for faster executables at the expense of call history.
2019-10-14 13:01:16 -04:00
Justin Ethier
900605f1fe Clean up old comments and dead code 2019-10-08 17:49:40 -04:00
Justin Ethier
829f7d86b0 Issue #336 - Compiler validation for "if" 2019-09-10 18:52:44 -04:00
Justin Ethier
fa01202df8 Do not attempt to memoize functions that take 0 args 2019-02-15 12:36:54 -05:00
Justin Ethier
7021855eca Inject additional imports, added a TODO 2019-02-14 23:03:33 -05:00
Justin Ethier
d0d7fae89c Only memoize pure functions for programs
The problem with doing this for libraries is that it adds a new dependency on (srfi 69). It would be problematic to use a library with these changes as there is no easy way to know this SRFI is also a library dependency.
2019-02-14 22:53:12 -05:00
Justin Ethier
e5be007539 Added memoization optimization flags 2019-02-14 21:10:06 -05:00
Justin Ethier
12291423c7 Syntax fix 2019-02-14 17:14:18 -05:00
Justin Ethier
b01ab9a671 Add missing Cyc-memoize even if srfi 69 is there 2019-02-14 16:56:05 -05:00
Justin Ethier
70264e001e Fix injection of imports 2019-02-14 14:21:14 -05:00
Justin Ethier
f16b3fec93 WIP 2019-02-14 13:59:07 -05:00
Justin Ethier
0604fdf221 WIP for proof of concept 2019-02-14 13:23:20 -05:00
Justin Ethier
53471fc4c1 Rework setting of globals and checking flags, for cps opt 2019-02-13 18:53:43 -05:00
Justin Ethier
94f77f6075 Added TODO's 2019-02-13 15:37:53 -05:00
Justin Ethier
2a91c9431e WIP 2019-02-12 18:55:10 -05:00
Justin Ethier
dd9b612be4 Disable debug printing 2018-12-18 17:32:57 -05:00
Justin Ethier
06d900bea9 Added TODO 2018-12-18 17:08:17 -05:00
Justin Ethier
d075a3a34a Report elapsed time 2018-12-18 17:07:57 -05:00
Justin Ethier
a46a9e92d3 Pre-sort the list of globals
This cuts down on the amount of work that must be done by the alpha conversion.
2018-12-18 16:33:24 -05:00
Justin Ethier
1450d2520e Added placeholder code 2018-12-17 12:54:20 -05:00
Justin Ethier
e31b357f4c WIP 2018-11-12 16:30:11 -05:00
Justin Ethier
8cbcf82121 Added a special (program) feature 2018-11-10 06:52:54 -05:00