cabal-version: 2.4 name: chusql-server version: 1.0.0 synopsis: ChuSQL 数据库服务器:TCP 端点 + 自家协议 + SQL 会话 description: ChuSQL 的数据库服务器。负责监听 TCP、一行一条 JSON 的自家协议、 登录与限流,并把用户 SQL 转交给 chusql-core-engine(存储则由进程内 的 chusql_core_storage 动态库承担)。Web 管理端与命令行客户端都只 通过这条 TCP 连接访问数据库。 build-type: Simple library hs-source-dirs: src exposed-modules: ChuSQL.Server.Accounts ChuSQL.Server.Backend ChuSQL.Server.Policy ChuSQL.Server.Privileges ChuSQL.Server.Session ChuSQL.Server.TCP build-depends: base >= 4.14 && < 5 , aeson , bytestring , chusql-core-engine , chusql-core-model , chusql-interface , containers , crypton , directory , filepath , memory , network , scientific , text , time , vector default-language: Haskell2010 ghc-options: -Wall executable chusql-server main-is: Main.hs hs-source-dirs: app build-depends: base , chusql-core-engine , chusql-core-model , chusql-interface , chusql-server , containers , filepath , text , time default-language: Haskell2010 ghc-options: -Wall -threaded -- 运行期找 libchusql_core_storage.so:$ORIGIN 让二进制与动态库同目录即可 if os(linux) ld-options: -Wl,-rpath,$ORIGIN if os(osx) ld-options: -Wl,-rpath,@loader_path test-suite chusql-server-test type: exitcode-stdio-1.0 main-is: Spec.hs hs-source-dirs: test build-depends: base , aeson , bytestring , chusql-core-engine , chusql-core-model , chusql-interface , chusql-server , containers , directory , filepath , hspec , network , text , time , vector default-language: Haskell2010 ghc-options: -Wall -threaded