Commit graph

25 commits

Author SHA1 Message Date
Kevin Eady
62a252ad3a
Add daemon watch mode to ecompile (#630)
* Add libefsw at 3419347

* saving work

* some cleanup

* move to fs::paths

* saving work.. maybe hitting a limit with number of watched dirs?

* migrate to watching only ecompile.cfg specified folders, cleanup/doc

* Display summary between compilations in watch mode; fix cache reuse

* Fix inf loop; some cmake, format changes...

* some windows compilation fixes... tweaks to windows cmake?

* Update Efsw.cmake for build lib changes

* removed debug flag

* silence efsw build
dont add antlr project if it already exists

* Address review comments:
- use std::move on efswwatcher add_*

* add docs

* Add WatchModeByDefault ecompile.cfg option

* iniital work on tests

* Add CI actions

* some changes (passes locally on win, mac, linux)

* Fix fixtures dependency; use ecompile verbose mode

* Add core-changes

* Send ctrl+c instead of killing process

* Proper Python file naming

* Kill ecompile process on windows, SIGINT otherwise

---------

Co-authored-by: turleypol <turley@polserver.com>
2024-03-16 00:08:06 +01:00
Kevin Eady
686090d950
Introduce DAP Debugger (#608)
* Add cppdap debugger library and simple server (#508)

* Add cppdap library

* Add cppdap server

* fixup cmake scripts for windows

* Enable caching of cppdap on GitHub actions

* Fix CMake for cppdap target

* Wait 1s for session close before thread ends

* Address review comments
- Remove unnecessary use of wait_for
- Fix wait_for method

* Do not use SocketClientThread for cppdap clients

* Address review comments
- Cleanup object ownership

* Add authorization and event handling (#510)

* Add authorization and event handling [WIP]

* Use std::weak_ptr; Only allow one debugger conn

* Only attach debugger if dbg file exists

* Cleanup weak_ptr; Fix listeners; Add handler stubs

* Address review comments
- PolLock on uoexec and weakptr access
- Use make_shared when creating client thread

* Add ExecutorDebugListener on_destroy callback

* Use cppdap sockets instead of clib sockets

* Update cppdap repository to 2703cf4

* Implement server address binding

* Update cppdap repository to eeca5ce

* Fix warnings

* Use weak_from_this

* Fix stalled executors on disconnect

* Fix stalled executors on re-attach

* Clear uoexec weakptr on all debugger detaches

* Move server to gamestate

* move DapDebugServer into Network namespace

* move DapDebugServer into GameState for storage

* Move DapDebugServer into NetworkManager

* Fix missing memory include

* Add more events (#513)

* Add more events

* Implement dbg_step_out

* Fix breakpoint clearing

* Add even more events (#515)

* add launch request

* Add custom `processes` command

* fixup loop

* Refactoring to move handlers to member functions

* Add VariablesRequest and ScopesRequest

* use std::varaint for Handles

* add pollocks

* refactor Handles to new file

* move custom messages to proto.h

* move clientthread

* some formatting / cleanup

* Add missing PolLock

* move dap variables creation to Handles

* appobj members

* rename ClientThread to DebugClientThread

* rename LaunchRequest args to arg

* Fix compiler error on size_t

* Add support for EvaluateRequest and SetVariableRequest (#519)

* Update grammar for evaluateUnit

* Cleanup various compiler code

* Add support for EvaluateRequest
Only supports values, variables, element access, member access

* Add report clearing to reinitialize state

* Add support for SetVariableRequest

* Fix CI build errors

* Move ExpressionEvaluator to Bscript

* Fix formatting

* Fix include

* Refactor global and frame variable references

* Encapsulate Executor debugging environment; Fix step over (#524)

* Fix step over

* Some cleanup of executor
- Remove unused debug states
- Rename members for consistency

* move debugging environment to new class

* Move instruction inspection to class

* Cleanup slashes on Windows; Add Executor state to processes response (#527)

* Fix backspaces in script names on Windows

* Fix compilation warnings with data loss

* Use boost::icontains for string comparison

* Add Executor state to processes response

* Updates for libfmt

* Fix tests; Fix cppdap build for Mac universal binary (#607)

* fix tests

* fix cppdap build for mac universal binary

* Update cppdap to 2a4c7cf

* Add tests; Modify launch behavior to not stop at entry (redo) (#609)

* Remove unused setExceptionBreakpoints handler

* Add debugger tests

* Launching a script should not set attaching state

* Add launch tests

* Do not check for connection in debugger tests

* Rename `program` to `script` in protocol structs

* Fix launch stopAtEntry; quote string var values

* Fix compilation error on Windows

* Add configfiles doc entry

* Various fixes for finishing touches; Add core-changes (#610)

* switch cmake projects

* simple docs

* cmake move make_directory

* Fix launch request with relative, absolute, package paths

* make relative paths as absolute in source request

* Add true, false, uninit to ExpressionEvaluator

* Re-add setExceptionBreakpoints to avoid unhandled message errors

* Better debug thread logging with instance numbers

* launched scripts should terminate on disconnect (according to DAP spec)

* Properly handle exited event in client thread

* Add core-changes

* Address Discord comments
- Mention vscode-escript in core-changes
- Re-add "cppdap already built" in cmake

* change cmake escriptgrammarlib visibility to public
2024-01-28 09:49:55 +01:00
turleypol
43b776b94d
New format lib version (#592)
* renamed include guard to be able to use both format lib versions in
parallel

* build Fmt lib and link it into clib

* use std::string instead of format Writer for logging
added variant "2" for logging with new fmt lib

* use new logging variant for two logs

* always add \n to flush log, lets see if the assumption holds

* use new lib for tostring

* replaced all INFO_PRINTS in clib

* formatter for Token, BObject and BObjectImp

* started with bsccript

* use function instead of actual object for logging

* remaining bscript, started plib

* logvariant without newline added, more template magic

* format support for base types, added test for format padding
new version for fdump

* chanhed ecompile/runecl fixed compilation with ESCRIPT_PROFILE

* rewrite INFO_PRINT in plib,poltool/uoconvert/uotool

* replaced remaining INFO_PRINTS, renamed macros INFO_PRINT for logging
without newline, INFO_PRINTLN for newline addition.
Replaced also INFO_PRINT_TRACE and renamed it to INFO_PRINTLN_TRACE

* gitignore for fmt lib

* cleanup vim leftovers
2024-01-10 18:29:10 +01:00
turleypol
8e0995894a
adapted gitignore for new kaitai (#590) 2024-01-07 10:46:46 +01:00
Kevin Eady
7a4faf1786
Add support for building universal binaries for macOS (#572)
* universal binaries for src and prebuilt deps

* Rebuild antlr from cache?

* Recache everything

* universalize libssh2

* Pin brew-universalize versions

* Better handling of cxxflags for boost

* Correctly handle cmake message

* Store brew-universalize in bin-build

* Standardize cache keys

* No clue on this compiler flag

* Lets try this boost cxxflag
2023-12-06 22:36:42 +01:00
turleypol
2484998469
poltool is now able to generate clientdata (#191)
added simple test for uoconvert
fixed poltool mapdump argument handling
2020-08-08 09:34:40 +02:00
Fernando Rozenblit
5899696086 Missing .gitignore entry for antlr folder 2020-08-03 14:56:13 +02:00
turleypol
7e8f92bc85 rewrote module function generation, maybe this works 2019-11-10 22:04:08 +01:00
turleypol
e249e62434 fixed clang warning
no need to write tmp file for em headers, the dependency is file based
2019-11-10 13:20:18 +01:00
turleypol
c0c1561236 use generator unspecific clean cmd in build_tools.sh
always generate compile_commands.json
force color diagnostic (to work with ninja)
2019-04-14 22:05:01 +02:00
Fernando Rozenblit
159fca293c More gitignore 2018-11-04 22:58:06 +01:00
Fernando Rozenblit
500fcbcebe gitignore for cmake-generated files now also works when you generate the files in a sub-folder 2018-11-01 20:19:12 +01:00
turleypol
3c9052f9e0 removed ccache from travis :(
added usage into build_tools.sh
2018-10-24 20:48:29 +02:00
turleypol
5833be63d0 integrated escriot tests into cmake
added usage into travis
2018-10-23 19:51:44 +02:00
turleypol
e8c411a0ce Updated gitignore, moved boost target to the same location as curl. 2018-06-24 16:48:32 +02:00
turleypol
6a6b0d51a4 fixed linux build
fixed stylecheck
2018-06-23 20:10:37 +02:00
turleypol
c71c4965c8 git revision fetch is now part of the build process instead of
configure step
2018-06-18 10:27:01 +02:00
Gabriele Tozzi
b87dc2452f minor: adding missing ignore 2018-04-02 19:01:31 +02:00
turleypol
21caacb4f4 Kaitai is now an extra build step. Fixed warnings 2018-03-18 14:44:02 +01:00
turley
66e89afe2d Batchfile to cleanup build cache 2018-03-04 17:53:23 +01:00
turley
4ee4aaf831 Added batchfile to directly build archives 2018-03-04 17:11:13 +01:00
turleypol
5f68c4cd8d Windows build files should now all be ignored 2018-03-02 08:23:10 +01:00
turley
48abdd3928 Renamed PredefinedTargets folder 2018-02-25 22:15:19 +01:00
turley
a1f1da32af Missing CMakeList file and gitignore polish 2018-02-25 21:18:32 +01:00
turleypol
3afc41241b
CMake on windows (#48)
CMake can now also be used for windows
2018-02-24 22:34:55 +01:00