https://github.com/luismr/cobol-ncurses-lib
A COBOL interface for the ncurses library, enabling text-based UI development. Currently being migrated from an old Debian Subversion repository to support macOS, Linux, and Windows on x86 and ARM. 🚀 Unstable, please be patient!
https://github.com/luismr/cobol-ncurses-lib
arm cobol linux macos make ncurses windows x86
Last synced: 5 months ago
JSON representation
A COBOL interface for the ncurses library, enabling text-based UI development. Currently being migrated from an old Debian Subversion repository to support macOS, Linux, and Windows on x86 and ARM. 🚀 Unstable, please be patient!
- Host: GitHub
- URL: https://github.com/luismr/cobol-ncurses-lib
- Owner: luismr
- License: mit
- Created: 2025-03-14T18:43:39.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-03-15T01:21:16.000Z (10 months ago)
- Last Synced: 2025-03-15T02:25:56.793Z (10 months ago)
- Topics: arm, cobol, linux, macos, make, ncurses, windows, x86
- Language: Makefile
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# COBOL ncurses Library

> **Disclaimer:** This repository is being migrated from an old Debian Linux Subversion repository. It is also being adapted to be compatible with **macOS, Linux, and Windows** for both **x86 and ARM** architectures. The project is currently **unstable**, so please be patient as the migration progresses.
This repository provides a **COBOL interface to the ncurses library**, allowing COBOL programs to create text-based user interfaces with advanced terminal handling capabilities.
## Features
- **COBOL bindings** for the `ncurses` library.
- **Terminal-based UI support** in COBOL.
- **Compatible with GNU COBOL**.
## Requirements
To build and use this library, you need the following:
### Operating System
- **macOS** (Homebrew recommended for package management)
- **Debian-based Linux** (Ubuntu, Debian, etc.)
- **Windows** (via MSYS2, Cygwin, or WSL)
### Development Tools
- **GNU C Compiler (GCC)** - Required to compile COBOL programs.
- **Make** - Needed to build and manage compilation tasks.
## Installation
Before using this library, ensure you have both **GNU COBOL** and **ncurses** installed.
- 📜 [Install GNU COBOL](./INSTALL-GNUCOBOL.md)
- 📜 [Install ncurses](./INSTALL-NCURSES.md)
### Clone the Repository
```bash
git clone https://github.com/luismr/cobol-ncurses-lib.git
cd cobol-ncurses-lib
```
## Directory Structure
```
📦 cobol-ncurses-lib
├── 📂 src # COBOL source code for ncurses bindings
├── 📂 include # Header files and COBOL copybooks
├── 📂 samples # Sample COBOL programs using ncurses
├── 📂 docs # Documentation files
├── 📜 INSTALL-GNUCOBOL.md # GNU COBOL installation guide
├── 📜 INSTALL-NCURSES.md # ncurses installation guide
├── 📜 LICENSE # License file
├── 📜 README.md # Project documentation
├── 📜 Makefile # Makefile to build the project
```
## Build System (Make Targets)
The project uses `make` to build and manage the compiled output. Available targets:
### Build the Library
```bash
make build
```
This compiles the COBOL source files and links them with the `ncurses` library.
### Build All (Default Target)
```bash
make all
```
Compiles the library and all sample programs.
### Build and Run Samples
```bash
make samples
```
Compiles the sample programs in the `samples/` directory.
### Clean Build Files
```bash
make clean
```
Removes compiled binaries and object files.
## Usage
After installation, you can run the sample programs located in the `samples/` directory:
```bash
./samples/sample_program
```
Replace `sample_program` with the actual executable name.
## Documentation
For detailed setup and usage instructions, refer to:
- [`INSTALL-GNUCOBOL.md`](./INSTALL-GNUCOBOL.md)
- [`INSTALL-NCURSES.md`](./INSTALL-NCURSES.md)
## Contributing
Contributions are welcome! Feel free to submit issues or pull requests.
## License
This project is licensed under the **MIT License**. See the [`LICENSE`](./LICENSE.md) file for details.