Files
utun2/INSTALL.autotools
T
Evgeny c869ccf174 Major refactoring: Tasks 1-4 complete
Task 1: Migrate to GNU Autotools
- Add configure.ac, Makefile.am files (root, src, u_async, tests)
- Add autogen.sh bootstrap script
- Create INSTALL.autotools guide
- Update .gitignore for autotools
- Old Makefile backed up as Makefile.old

Task 2: Refactor typedef struct → struct STRUCT_NAME
- Remove 24 of 28 typedef struct declarations
- Convert to struct STRUCT_NAME pattern per AGENTS.md
- Files affected: routing, memory_pool, packet_buffer/pool,
  tun_if, etcp_sockets/connections, config_parser,
  pkt_normalizer, secure_channel, utun_instance, etcp
- Code now 86% compliant with AGENTS.md style guide

Task 3: Clean up legacy tests
- Remove 7 obsolete test files (connection*, sc_lib, udp_secure, etc.)
- Update 4 test files to new API (epkt_t → struct ETCP_CONN)
- Clean Makefile of legacy references
- Test suite reduced from 17 to 10 focused tests

Task 4: Replace fprintf with debug system
- Replace 60 fprintf(stderr) calls with DEBUG_ERROR/WARNING macros
- Add debug_config.h includes to all modified files
- Use appropriate DEBUG_CATEGORY_* for each error type
- Debug output now runtime-configurable

Impact: 32 files modified, ~350 lines changed, all 4 tasks complete,
build system modernized, code follows AGENTS.md, debugging improved.
2026-01-18 12:42:42 +03:00

35 lines
1.0 KiB
Plaintext

BUILDING WITH GNU AUTOTOOLS
===========================
Prerequisites:
- GNU Autotools (autoconf, automake, libtool)
- C compiler (gcc or clang)
- OpenSSL development libraries
- Linux kernel headers (for TUN/TAP)
Quick Build:
./autogen.sh # Only needed first time
./configure # Configure build
make # Build everything
make check # Run tests
sudo make install # Install to system
Configuration Options:
--prefix=PATH Install prefix (default: /usr/local)
--enable-debug Enable debug output
--disable-tests Skip test compilation
CFLAGS="-O2" Set custom compiler flags
Files Generated:
configure - Configuration script
config.h - Configuration header
Makefile - Build rules
config.log - Configuration log
config.status - Configuration status
Maintainers:
To update build system after changes:
autoreconf -fiv
For more info: https://www.gnu.org/software/automake/manual/