about summary refs log tree commit diff stats
path: root/src/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* copy realpath() from FreeBSD repoKartik K. Agaram2022-01-301-1/+2
| | | | | To sandbox apps robustly, we're going to need to always work with canonical absolute paths.
* try to get by with one feature macroKartik K. Agaram2022-01-291-1/+1
| | | | | | | | | | | | | | | | | I fucking hate feature macros. Egregious discharge of our division-of-labor-obsessed society. People should be able to introduce names. People should be able to give up names to lower levels of abstraction when they encounter conflicts. Feature macros seem to exist[1] to support more than two levels of abstraction. You try to build, one of your libraries fails to build because of a conflict between it and one level down. You don't want to modify this library. Just fucking https://catern.com/change_code.html already. But no, I have to litter my code with feature macros even though I just want the abstraction the original library provides. [1] https://man7.org/linux/man-pages/man7/feature_test_macros.7.html https://lwn.net/Articles/590381
* new library: luafilesystem (lfs)Kartik K. Agaram2022-01-291-1/+2
| | | | | | https://github.com/keplerproject/luafilesystem The new commander.tlv app demonstrates it working.
* more precise dependenciesKartik K. Agaram2022-01-291-2/+2
|
* get Teliva working on FreeBSDKartik K. Agaram2022-01-261-1/+3
|
* get Teliva running on NetBSDKartik K. Agaram2022-01-241-1/+1
| | | | | | | | NetBSD still uses curses by default. One _could_ install ncurses, but I don't have access to a NetBSD box with permissions to install ncurses, so I'm experimenting to see how far we can get with just curses. So far most of the apps seem to work, with the exception of one bug that I'll commit next.
* more generic build target in luasocketKartik K. Agaram2022-01-241-2/+2
|
* clarify generic 'bsd' build targetKartik K. Agaram2022-01-241-7/+13
| | | | We still only have OpenBSD working.
* update all places when changing color schemeKartik K. Agaram2021-12-251-0/+1
|
* reorg: pull Teliva-specific stuff out of lua.cKartik K. Agaram2021-12-251-3/+3
| | | | It should now be easier to diff against the Lua 5.1 sources upstream.
* drop ASan from MakefileKartik K. Agaram2021-12-181-2/+2
| | | | | Accidentally added at some point. It's a useful debugging aide, but I don't want to require the additional dependencies on a first run.
* ctrl-u: clear proseKartik K. Agaram2021-12-171-2/+2
|
* snapshot: start reading a new formatKartik K. Agaram2021-12-111-1/+1
| | | | | | | | | | | | | | | I really wanted to avoid getting into defining or parsing new file formats. However, using the entire power of Lua is not ideal, as described earlier in Konrad Hinsen's bug. In addition to everything else, it's a vector for arbitrary code execution when someone loads an untrusted image. I could use JSON, but it requires ugly string escaping. Seems cleaner to just use YAML. But YAML is complex and needs its own dependencies. If I'm going to do my own, might as well make the multi-line string format really clear. I can't yet write the new format.
* more configurable colorsKartik K. Agaram2021-12-061-1/+2
| | | | | Also start using 256 colors, under the assumption most people will have them.
* yet another fucking makefile bugKartik K. Agaram2021-11-281-1/+1
| | | | | | | | | | | | | | Making changes to lcurses directory was causing it to be compiled, but not causing teliva to be relinked. Now I'm: - unconditionally running `make` on subdirectories - conditionally linking their outputs Seems reasonable when I put it like that. Hopefully this is working now. I used to know `make` down cold a decade ago, but it's evaporated from my brain.
* pass some CFLAGS at least to libcursesKartik K. Agaram2021-11-271-3/+3
| | | | | My Makefiles are an utter mess. Unclear how to reconcile staying close to upstream with being clean in isolation.
* .Kartik K. Agaram2021-11-271-0/+1
|
* one final issue building on Mac OS XKartik K. Agaram2021-11-271-2/+2
|
* now building on OpenBSDKartik K. Agaram2021-11-271-11/+11
| | | | Still emitting a bunch of warnings on OpenBSD, though.
* select C99 standardKartik K. Agaram2021-11-271-1/+1
|
* .Kartik K. Agaram2021-11-271-6/+6
|
* fix build on MacKartik K. Agaram2021-11-271-0/+2
|
* starting to test compilation on Mac and BSD.Kartik K. Agaram2021-11-271-2/+2
| | | | | | | | For starters, put Linux-specific stuff in a Linux-specific target. By not resetting MYCFLAGS and MYLDFLAGS, I'm unnecessarily passing in -DLUA_USE_LINUX. But that'll make it easier to get things running on Mac and BSD.
* libraries don't need Lua's `#define`s and whatnotKartik K. Agaram2021-11-251-2/+2
|
* teliva is now ASan-clean againKartik K. Agaram2021-11-251-2/+2
| | | | | | | | | At least in short runs. Encouraging that the problem was in a recent commit (5a63a5ca40 from yesterday when I introduced version control). Disabling Address Sanitizer again.
* temporarily start using the address sanitizerKartik K. Agaram2021-11-251-2/+2
|
* jettison luacKartik K. Agaram2021-11-251-12/+2
| | | | | | | | | I'm starting to see some heap buffer overruns, which means we have too much C code. I noticed this because editing life.tlv no longer works after commit 5a63a5ca4. However, the offending heap overrun has been around long before that. It's just been a silent bug until now.
* more Makefile streamliningKartik K. Agaram2021-11-241-8/+4
| | | | | | | | | | Since everything is in my control there's no need to parameterize include paths. It's a struggle to get make to run when it should. Lying that something is phony stops working when it's a dependency. Commands get unnecessarily run. Just fucking run recursive makes directly in the target that depends on them.
* standardize warning flags everywhereKartik K. Agaram2021-11-221-1/+1
| | | | | | | | | | I'd like to enable -Wextra as well, but that creates some false positives. I've at least made my changes clean w.r.t. -Wextra. Now we have 4 remaining warnings with gcc 9.3 that seem genuine. Need to fix those.
* standardize CFLAGSKartik K. Agaram2021-11-221-1/+1
| | | | | Adding -Wpedantic creates a new warning. Leaving it alone for now: https://stackoverflow.com/questions/31526876/casting-when-using-dlsym
* https now working!Kartik K. Agaram2021-11-211-4/+8
| | | | | | | | Still extremely ugly: - I've inlined all the namespaces under ssl, so you need to know that context and config are related to ssl. - luasec comes with its own copy of luasocket. I haven't deduped that yet.
* basic http requests starting to workKartik K. Agaram2021-11-211-4/+4
| | | | | In the process we're starting to load almost all of luasocket by default. And everything is working as expected, no unpleasant surprises.
* luasocket now loading properlyKartik K. Agaram2021-11-201-5/+5
| | | | I still haven't tried actually running it.
* renameKartik K. Agaram2021-11-201-1/+1
|
* inline luasocketKartik K. Agaram2021-11-201-1/+6
| | | | Just builds for now, isn't available yet to Lua code.
* inline lcurses maximally rather than minimallyKartik K. Agaram2021-11-191-1/+5
| | | | | | | | | Until now we had just the bare minimum bindings needed for the demos built so far. Now we have all of lcurses building in place with minimal changes. The changes in this commit can run hanoi.lua when inlined into Lua 5.1, but don't work with Teliva.
* tested on Mac OSKartik K. Agaram2021-11-141-1/+1
|
* instrumenting function calls with their depthKartik K. Agaram2021-11-131-1/+1
|
* game of lifeKartik K. Agaram2021-11-061-1/+1
| | | | | This required me to figure out some unicode-related nuances, but no new primitives.
* readme and docsKartik K. Agaram2021-11-051-1/+1
|
* stitch editor inKartik K. Agaram2021-11-051-1/+2
|
* starting on curses libraryKartik K. Agaram2021-11-051-2/+2
| | | | | | | | | | | | | | | First piece of working new vocabulary: print(curses:cols()) Just pulling in code from lcurses for the most part. But I'm trying to understand its internals as I gradually add them in, after my more blunt first approach of packaging up lcurses/ext failed. Overall plan for Teliva's API: - start out with a 'curses' library that does what people who are used to ncurses/lcurses expect. - over time create a more opinionated library called 'screen' or 'window' or something.
* delete readline supportKartik K. Agaram2021-10-221-3/+3
| | | | We're going to be using full-on ncurses.
* clean up a few warnings with gcc 9.3.0Kartik K. Agaram2021-10-221-1/+1
|
* new fork of Lua 5.1Kartik K. Agaram2021-10-221-0/+182
https://www.lua.org