# package.yaml
name:                proxy
version:             0.1.0.0
license:             MIT
author:              "Igor Polyakov"
maintainer:          "iop_jr@yahoo.com"
copyright:           "2025 Igor Polyakov"
category:            System

# Define the package dependencies (like Data.Yaml, Data.Text, etc.)
dependencies:
- base >= 4.7 && < 5
- yaml          # For parsing
- aeson         # For JSON/YAML data types
- text          # For Data.Text type
- containers    # If you use HashMap, Map, etc. (optional, include if needed)
- process
- network
- directory
- dns
- bytestring
- split
- unix

# --- LIBRARY DEFINITION ---
# This section defines the modules (ConfigParser.hs, Tproxy.hs) that the executable uses.
library:
  source-dirs: src
  exposed-modules:
  - ConfigParser
  - Tproxy
  - Ip
  - Udp2Raw

# --- EXECUTABLE DEFINITION ---
# This defines the main program (Controller.hs)
executables:
  tproxy-controller: # Name of the executable binary that will be created
    main: Controller.hs
    source-dirs: app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    # The executable depends on the library we just defined,
    # as well as the system dependencies.
    dependencies:
    - proxy # This links to the 'library' section defined above

    default-extensions:
    - ScopedTypeVariables