mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-30 22:20:50 +00:00
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@483 b9cfdab3-6d41-4d17-bbe4-086880011989
#!/usr/bin/env perl
# $Id$
our $WIDTH = 80;
sub l {
my $len = 0;
my $last = 0;
my @msg = split(/ /, $_[0]);
foreach my $m (@msg) {
$len += 1 + length($m);
$last = 0;
if ($len > $WIDTH) {
print(OUT "\n");
$len = 0;
$last = 1;
}
print(OUT "$m ");
}
if (!$last) {
print(OUT "\n");
}
}
sub c {
my ($msg) = @_;
my $len = length($msg);
if ($_[1]) {
$len = $_[1];
}
print(OUT (" " x (($WIDTH - $len) / 2)) . "$msg\n");
}
sub h {
my ($msg) = @_;
print(OUT "\n");
print(OUT "$msg\n");
print(OUT ("-" x length($msg)) . "\n");
print(OUT "\n");
}
open(IN, "<", "include/Mw/Version.h");
my @lines = <IN>;
close(IN);
my @match = grep(/MwVERSION/, @lines);
my $ver = $match[0];
$ver =~ /\"([^"]+)\"/;
$ver = $1;
open(OUT, ">", "README.txt");
l("");
l("Greetings - Welcome to the Milsko GUI Toolkit (Version " . $ver . ")");
l("");
l(
" This document contains a brief summary of the contents of this source distributions and building instructions for Milsko GUI Toolkit."
);
l("");
c("Requirements");
l("");
l(
" Milsko requires the Windows environment with GDI (so anything NT or 9x) or the Unix-like environment with X11 for runtime."
);
l("");
l(" To build Milsko for Windows, you must have one of following compilers:");
l(" * Visual C++ 6.0 or newer");
l(" * Borland C++ 5.5 or newer");
l(" * Open Watcom 2.0 or newer");
l(" * MinGW-w64");
l("");
l(" and for Unix-like:");
l(" * GNU C Compiler");
l(" * Clang");
l("");
l("");
c("Contents");
l("");
c(" At the top level of this hierarchy there are seven directories:", 60);
l("");
c(" src - Contains the source for Milsko library", 60);
l("");
c(" include - Contains the headers for Milsko", 60);
l("");
c(" doc - Contains the documentation for Milsko", 60);
l("");
c(" external - Contains the external dependency that Milsko uses", 60);
l("");
c(" resource - Contains the resources used by maintainers", 60);
l("");
c(" tools - Contains the tools used by maintainers", 60);
l("");
l("");
c("Building Milsko");
l("");
l(" Building Milsko depends on the platform you use, and the compiler you use."
);
h("A. Visual C++");
l("1) Run `nmake -f NTMakefile'.");
h("B. Borland C++");
l("1) Run `make -f BorMakefile'.");
h("C. Open Watcom");
l("1) Run `wmake -f WatMakefile'.");
h("D. MinGW-w64/GCC/Clang");
l("1) Determine if you need Vulkan and/or OpenGL.");
l("");
l("2) Run `make'.");
l("");
l("");
c("Makefile settings");
l("");
c("This section exists for people who chose D.", 60);
l("");
c("TARGET - Target environment, chosen by Makefile in", 60);
c(" default settings.", 60);
l("");
c("GCC - Prefix for GCC toolchains. This does not", 60);
c(" matter if you set CC manually.", 60);
l("");
c("CC - C compiler.", 60);
l("");
c("DEBUG - Debug build or not, 0 in default settings.", 60);
l("");
c("VULKAN - Build Vulkan widget or not.", 60);
l("");
c("OPENGL - Build OpenGL widget or not.", 60);
l("");
c("USE_STB_IMAGE - Use stb_image or not.", 60);
l("");
c("PREFIX - Installation destination directory.", 60);
l("");
l("");
c("Makefile targets");
l("");
c("This section exists for people who chose D.", 60);
l("");
c("lib - Builds Milsko library", 60);
l("");
c("examples - Builds examples", 60);
l("");
c("all - Builds lib and examples", 60);
l("");
c("install - Installs Milsko to PREFIX", 60);
l("");
l(" -- Nishi (nishi\@nishi.boats)");
close(OUT);