mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
`win-versioninfo': all builds of all Windows binaries now contain
a VERSIONINFO resource. The versioning scheme is described in
windows/version.rc2.
Some .rc files are now #included in others. In order to keep MSVC
project files working, these have been renamed to .rc2; there may exist
a better solution.
(This checkin also includes the documentation tweak missing from r6367.)
Testing performed:
- MinGW (cross-compiler): works
- VC nmake: works (tested with VC6)
- VC project files: builds with VERSIONINFO resource (no VER variable though)
- Borland: an old version of this patch was tested with it and more or
less worked, except that some of the VERSIONINFO strings were apparently
not terminated properly. Not attempted to work around this.
- LCC: not tested. Some fixes are in there from the last time we tried
this, but then the build ultimately failed and I haven't tried this
since that was fixed.
- Dev-C++: untested. (Haven't done anything special.)
- Unix Gtk/autoconf Makefiles work as before.
[originally from svn r6374]
[r6367 == f86ad059db
]
[this svn revision also touched putty-wishlist]
This commit is contained in:
parent
9d3ab46800
commit
4d48ba62e8
14
CHECKLST.txt
14
CHECKLST.txt
@ -21,9 +21,11 @@ The resource files:
|
|||||||
- putty/windows/puttygen.rc
|
- putty/windows/puttygen.rc
|
||||||
+ the copyright date appears twice, once in the About box and
|
+ the copyright date appears twice, once in the About box and
|
||||||
once in the Licence box. Don't forget to change both!
|
once in the Licence box. Don't forget to change both!
|
||||||
- putty/windows/win_res.rc
|
- putty/windows/win_res.rc2
|
||||||
+ the copyright date appears twice, once in the About box and
|
+ the copyright date appears twice, once in the About box and
|
||||||
once in the Licence box. Don't forget to change both!
|
once in the Licence box. Don't forget to change both!
|
||||||
|
- putty/windows/version.rc2
|
||||||
|
+ the copyright date appears once only.
|
||||||
- putty/mac/mac_res.r
|
- putty/mac/mac_res.r
|
||||||
+ the copyright date appears twice, once in the About box and
|
+ the copyright date appears twice, once in the About box and
|
||||||
once in the Licence box. Don't forget to change both!
|
once in the Licence box. Don't forget to change both!
|
||||||
@ -70,8 +72,13 @@ and again in a subsequent comment):
|
|||||||
|
|
||||||
- putty/windows/putty.iss
|
- putty/windows/putty.iss
|
||||||
|
|
||||||
|
The Windows resource file (used to generate the binary bit of the
|
||||||
|
VERSIONINFO resources -- the strings are supplied by the usual means):
|
||||||
|
|
||||||
|
- putty/windows/version.rc2 (BASE_VERSION; NB, _comma_-separated)
|
||||||
|
|
||||||
The Mac resource file (used to generate the binary bit of the 'vers'
|
The Mac resource file (used to generate the binary bit of the 'vers'
|
||||||
resources -- the strings are supplied by the usual means):
|
resources):
|
||||||
|
|
||||||
- putty/mac/version.r
|
- putty/mac/version.r
|
||||||
|
|
||||||
@ -114,7 +121,8 @@ of the tag.
|
|||||||
|
|
||||||
- Build the Windows/x86 release binaries. Don't forget to supply
|
- Build the Windows/x86 release binaries. Don't forget to supply
|
||||||
VER=/DRELEASE=<ver>. Run them, or at least one or two of them, to
|
VER=/DRELEASE=<ver>. Run them, or at least one or two of them, to
|
||||||
ensure that they really do report their version number correctly.
|
ensure that they really do report their version number correctly,
|
||||||
|
and sanity-check the version info reported on the files by Windows.
|
||||||
+ Save the release link maps. Currently I keep these on ixion,
|
+ Save the release link maps. Currently I keep these on ixion,
|
||||||
in src/putty/local/maps-<version>.
|
in src/putty/local/maps-<version>.
|
||||||
|
|
||||||
|
40
Recipe
40
Recipe
@ -36,9 +36,9 @@
|
|||||||
#
|
#
|
||||||
# Extra options you can set:
|
# Extra options you can set:
|
||||||
#
|
#
|
||||||
# - VER=/DSNAPSHOT=1999-01-25
|
# - VER="/DSNAPSHOT=1999-01-25 /DSVN_REV=1234"
|
||||||
# Generates executables whose About box report them as being a
|
# Generates executables whose About box report them as being a
|
||||||
# development snapshot.
|
# development snapshot. SVN_REV is a Subversion revision number.
|
||||||
#
|
#
|
||||||
# - VER=/DRELEASE=0.43
|
# - VER=/DRELEASE=0.43
|
||||||
# Generates executables whose About box report them as being a
|
# Generates executables whose About box report them as being a
|
||||||
@ -127,27 +127,23 @@ version.obj: *.c *.h *.rc
|
|||||||
!specialobj vc version
|
!specialobj vc version
|
||||||
!begin cygwin
|
!begin cygwin
|
||||||
version.o: FORCE
|
version.o: FORCE
|
||||||
FORCE:
|
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c
|
||||||
!end
|
!end
|
||||||
!specialobj cygwin version
|
!specialobj cygwin version
|
||||||
!begin borland
|
!begin borland
|
||||||
version.obj: FORCE
|
version.obj: FORCE
|
||||||
FORCE:
|
|
||||||
bcc32 $(VER) $(CFLAGS) /c ..\version.c
|
bcc32 $(VER) $(CFLAGS) /c ..\version.c
|
||||||
!end
|
!end
|
||||||
!specialobj borland version
|
!specialobj borland version
|
||||||
!begin lcc
|
!begin lcc
|
||||||
version.obj: FORCE
|
version.obj: FORCE
|
||||||
FORCE:
|
|
||||||
lcc $(VER) $(CFLAGS) /c ..\version.c
|
lcc $(VER) $(CFLAGS) /c ..\version.c
|
||||||
!end
|
!end
|
||||||
!specialobj lcc version
|
!specialobj lcc version
|
||||||
# For Unix, we also need the gross MD5 hack that causes automatic
|
# For Unix, we also need the gross MD5 hack that causes automatic
|
||||||
# version number selection in release source archives.
|
# version number selection in release source archives.
|
||||||
!begin gtk
|
!begin gtk
|
||||||
version.o: FORCE;
|
version.o: FORCE
|
||||||
FORCE:
|
|
||||||
if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \
|
if test -z "$(VER)" && (cd ..; md5sum -c manifest); then \
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat ../version.def` -c ../version.c; \
|
||||||
else \
|
else \
|
||||||
@ -156,6 +152,30 @@ FORCE:
|
|||||||
!end
|
!end
|
||||||
!specialobj gtk version
|
!specialobj gtk version
|
||||||
|
|
||||||
|
# Add VER to Windows resource targets, and force them to be rebuilt every
|
||||||
|
# time, on the assumption that they will contain version information.
|
||||||
|
!begin vc vars
|
||||||
|
RCFLAGS = $(RCFLAGS) $(VER)
|
||||||
|
!end
|
||||||
|
!begin cygwin vars
|
||||||
|
# XXX GNU-ism, but it's probably all right for a Cygwin/MinGW Makfile.
|
||||||
|
RCFLAGS += $(patsubst -D%,--define %,$(VER))
|
||||||
|
!end
|
||||||
|
!begin borland vars
|
||||||
|
# Borland doesn't support +=. This probably shouldn't work, but seems to.
|
||||||
|
RCFLAGS = $(RCFLAGS) $(VER)
|
||||||
|
!end
|
||||||
|
!begin lcc vars
|
||||||
|
RCFLAGS += $(VER)
|
||||||
|
!end
|
||||||
|
!forceobj putty.res
|
||||||
|
!forceobj puttytel.res
|
||||||
|
!forceobj plink.res
|
||||||
|
!forceobj pscp.res
|
||||||
|
!forceobj psftp.res
|
||||||
|
!forceobj pageant.res
|
||||||
|
!forceobj puttygen.res
|
||||||
|
|
||||||
# `make install' target for Unix.
|
# `make install' target for Unix.
|
||||||
!begin gtk
|
!begin gtk
|
||||||
install:
|
install:
|
||||||
@ -249,14 +269,14 @@ BE_NONE = be_none nocproxy
|
|||||||
# keywords [G] for Windows GUI app, [C] for Console app, [X] for
|
# keywords [G] for Windows GUI app, [C] for Console app, [X] for
|
||||||
# X/GTK Unix app, [U] for command-line Unix app, [M] for Macintosh app.
|
# X/GTK Unix app, [U] for command-line Unix app, [M] for Macintosh app.
|
||||||
|
|
||||||
putty : [G] GUITERM NONSSH WINSSH BE_ALL WINMISC win_res.res LIBS
|
putty : [G] GUITERM NONSSH WINSSH BE_ALL WINMISC putty.res LIBS
|
||||||
puttytel : [G] GUITERM NONSSH BE_NOSSH WINMISC win_res.res LIBS
|
puttytel : [G] GUITERM NONSSH BE_NOSSH WINMISC puttytel.res LIBS
|
||||||
plink : [C] winplink wincons NONSSH WINSSH BE_ALL logging WINMISC
|
plink : [C] winplink wincons NONSSH WINSSH BE_ALL logging WINMISC
|
||||||
+ plink.res LIBS
|
+ plink.res LIBS
|
||||||
pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
|
pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
|
||||||
+ pscp.res LIBS
|
+ pscp.res LIBS
|
||||||
psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
|
psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
|
||||||
+ pscp.res LIBS
|
+ psftp.res LIBS
|
||||||
|
|
||||||
pageant : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234
|
pageant : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234
|
||||||
+ misc sshaes sshsha winpgntc sshdss sshsh512 winutils winmisc
|
+ misc sshaes sshsha winpgntc sshdss sshsh512 winutils winmisc
|
||||||
|
104
mkfiles.pl
104
mkfiles.pl
@ -12,6 +12,8 @@
|
|||||||
# are hardwired, and also the libraries are fixed. This is
|
# are hardwired, and also the libraries are fixed. This is
|
||||||
# mainly because I was too scared to go anywhere near it.
|
# mainly because I was too scared to go anywhere near it.
|
||||||
# - sbcsgen.pl is still run at startup.
|
# - sbcsgen.pl is still run at startup.
|
||||||
|
#
|
||||||
|
# FIXME: no attempt made to handle !forceobj in the project files.
|
||||||
|
|
||||||
use FileHandle;
|
use FileHandle;
|
||||||
use Cwd;
|
use Cwd;
|
||||||
@ -52,6 +54,7 @@ while (<IN>) {
|
|||||||
if ($_[0] eq "!srcdir") { push @srcdirs, $_[1]; next; }
|
if ($_[0] eq "!srcdir") { push @srcdirs, $_[1]; next; }
|
||||||
if ($_[0] eq "!makefile" and &mfval($_[1])) { $makefiles{$_[1]}=$_[2]; next;}
|
if ($_[0] eq "!makefile" and &mfval($_[1])) { $makefiles{$_[1]}=$_[2]; next;}
|
||||||
if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;}
|
if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;}
|
||||||
|
if ($_[0] eq "!forceobj") { $forceobj{$_[1]} = 1; next; }
|
||||||
if ($_[0] eq "!begin") {
|
if ($_[0] eq "!begin") {
|
||||||
if (&mfval($_[1])) {
|
if (&mfval($_[1])) {
|
||||||
$sect = $_[2] ? $_[2] : "end";
|
$sect = $_[2] ? $_[2] : "end";
|
||||||
@ -325,7 +328,7 @@ sub deps {
|
|||||||
s/\//$dirsep/g;
|
s/\//$dirsep/g;
|
||||||
$_ = $prefix . $_;
|
$_ = $prefix . $_;
|
||||||
} @deps;
|
} @deps;
|
||||||
push @ret, {obj => $x, deps => [@deps]};
|
push @ret, {obj => $x, obj_orig => $i, deps => [@deps]};
|
||||||
}
|
}
|
||||||
return @ret;
|
return @ret;
|
||||||
}
|
}
|
||||||
@ -376,7 +379,7 @@ if (defined $makefiles{'cygwin'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# gcc command line option is -D not /D
|
# gcc command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"\n".
|
"\n".
|
||||||
@ -416,8 +419,12 @@ if (defined $makefiles{'cygwin'}) {
|
|||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/", "cygwin")) {
|
foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/", "cygwin")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf ("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
if ($d->{obj} =~ /\.res\.o$/) {
|
if ($d->{obj} =~ /\.res\.o$/) {
|
||||||
print "\t\$(RC) \$(RCFL) \$(RCFLAGS) ".$d->{deps}->[0]." ".$d->{obj}."\n\n";
|
print "\t\$(RC) \$(RCFL) \$(RCFLAGS) ".$d->{deps}->[0]." ".$d->{obj}."\n\n";
|
||||||
} else {
|
} else {
|
||||||
@ -428,7 +435,8 @@ if (defined $makefiles{'cygwin'}) {
|
|||||||
print $makefile_extra{'cygwin'}->{'end'};
|
print $makefile_extra{'cygwin'}->{'end'};
|
||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
"\trm -f *.o *.exe *.res.o *.map\n".
|
"\trm -f *.o *.exe *.res.o *.map\n".
|
||||||
"\n";
|
"\n".
|
||||||
|
"FORCE:\n";
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -455,7 +463,7 @@ if (defined $makefiles{'borland'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# bcc32 command line option is -D not /D
|
# bcc32 command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"\n".
|
"\n".
|
||||||
@ -465,6 +473,8 @@ if (defined $makefiles{'borland'}) {
|
|||||||
"\n".
|
"\n".
|
||||||
"# C compilation flags\n".
|
"# C compilation flags\n".
|
||||||
"CFLAGS = -D_WINDOWS -DWINVER=0x0401\n".
|
"CFLAGS = -D_WINDOWS -DWINVER=0x0401\n".
|
||||||
|
"# Resource compilation flags\n".
|
||||||
|
"RCFLAGS = -DNO_WINRESRC_H -DWIN32 -D_WIN32 -DWINVER=0x0401\n".
|
||||||
"\n".
|
"\n".
|
||||||
"# Get include directory for resource compiler\n".
|
"# Get include directory for resource compiler\n".
|
||||||
"!if !\$d(BCB)\n".
|
"!if !\$d(BCB)\n".
|
||||||
@ -480,7 +490,7 @@ if (defined $makefiles{'borland'}) {
|
|||||||
" /c \$*.c",69)."\n".
|
" /c \$*.c",69)."\n".
|
||||||
".rc.res:\n".
|
".rc.res:\n".
|
||||||
&splitline("\tbrcc32 \$(RCFL) -i \$(BCB)\\include -r".
|
&splitline("\tbrcc32 \$(RCFL) -i \$(BCB)\\include -r".
|
||||||
" -DNO_WINRESRC_H -DWIN32 -D_WIN32 -DWINVER=0x0401 \$*.rc",69)."\n".
|
" \$(RCFLAGS) \$*.rc",69)."\n".
|
||||||
"\n";
|
"\n";
|
||||||
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C"));
|
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("G:C"));
|
||||||
print "\n\n";
|
print "\n\n";
|
||||||
@ -520,8 +530,12 @@ if (defined $makefiles{'borland'}) {
|
|||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "borland")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "borland")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'borland'}->{'end'};
|
print $makefile_extra{'borland'}->{'end'};
|
||||||
@ -535,7 +549,10 @@ if (defined $makefiles{'borland'}) {
|
|||||||
"\t-del *.pdb\n".
|
"\t-del *.pdb\n".
|
||||||
"\t-del *.rsp\n".
|
"\t-del *.rsp\n".
|
||||||
"\t-del *.tds\n".
|
"\t-del *.tds\n".
|
||||||
"\t-del *.\$\$\$\$\$\$\n";
|
"\t-del *.\$\$\$\$\$\$\n".
|
||||||
|
"\n".
|
||||||
|
"FORCE:\n".
|
||||||
|
"\t-rem dummy command\n";
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -560,6 +577,7 @@ if (defined $makefiles{'vc'}) {
|
|||||||
(join " ", map {"-I$dirpfx$_"} @srcdirs) .
|
(join " ", map {"-I$dirpfx$_"} @srcdirs) .
|
||||||
" /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
|
" /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
|
||||||
"LFLAGS = /incremental:no /fixed\n".
|
"LFLAGS = /incremental:no /fixed\n".
|
||||||
|
"RCFLAGS = -DWIN32 -D_WIN32 -DWINVER=0x0400\n".
|
||||||
"\n".
|
"\n".
|
||||||
$makefile_extra{'vc'}->{'vars'} .
|
$makefile_extra{'vc'}->{'vars'} .
|
||||||
"\n".
|
"\n".
|
||||||
@ -592,12 +610,13 @@ if (defined $makefiles{'vc'}) {
|
|||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "vc")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "vc")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
$extradeps = $forceobj{$d->{obj_orig}} ? ["*.c","*.h","*.rc"] : [];
|
||||||
"\n";
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @$extradeps, @{$d->{deps}})), "\n";
|
||||||
if ($d->{obj} =~ /.obj$/) {
|
if ($d->{obj} =~ /.obj$/) {
|
||||||
print "\tcl \$(COMPAT) \$(XFLAGS) \$(CFLAGS) /c ".$d->{deps}->[0],"\n\n";
|
print "\tcl \$(COMPAT) \$(XFLAGS) \$(CFLAGS) /c ".$d->{deps}->[0],"\n\n";
|
||||||
} else {
|
} else {
|
||||||
print "\trc \$(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 ".$d->{deps}->[0],"\n\n";
|
print "\trc \$(RCFL) -r \$(RCFLAGS) ".$d->{deps}->[0],"\n\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -897,7 +916,7 @@ if (defined $makefiles{'gtk'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# gcc command line option is -D not /D
|
# gcc command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"\n".
|
"\n".
|
||||||
@ -935,14 +954,19 @@ if (defined $makefiles{'gtk'}) {
|
|||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
|
foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n");
|
print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n");
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'gtk'}->{'end'};
|
print $makefile_extra{'gtk'}->{'end'};
|
||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
"\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n";
|
"\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n";
|
||||||
|
print "\nFORCE:\n";
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -956,7 +980,7 @@ if (defined $makefiles{'ac'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# gcc command line option is -D not /D
|
# gcc command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"\n".
|
"\n".
|
||||||
@ -993,14 +1017,19 @@ if (defined $makefiles{'ac'}) {
|
|||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
|
foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n");
|
print &splitline("\t\$(CC) \$(COMPAT) \$(XFLAGS) \$(CFLAGS) -c $d->{deps}->[0]\n");
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'gtk'}->{'end'};
|
print $makefile_extra{'gtk'}->{'end'};
|
||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
"\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n";
|
"\trm -f *.o". (join "", map { " $_" } &progrealnames("X:U")) . "\n";
|
||||||
|
print "\nFORCE:\n";
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1011,8 +1040,8 @@ if (defined $makefiles{'mpw'}) {
|
|||||||
"# Makefile for $project_name under MPW.\n#\n".
|
"# Makefile for $project_name under MPW.\n#\n".
|
||||||
"# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# MPW command line option is -d not /D
|
# MPW command line option is -d not /D (FIXME further massaging?)
|
||||||
($_ = $help) =~ s/=\/D/=-d /gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-d /gs;
|
||||||
print $_;
|
print $_;
|
||||||
print "\n\n".
|
print "\n\n".
|
||||||
"ROptions = `Echo \"{VER}\" | StreamEdit -e \"1,\$ replace /=(\xc5)\xa81\xb0/ 'STR=\xb6\xb6\xb6\xb6\xb6\"' \xa81 '\xb6\xb6\xb6\xb6\xb6\"'\"`".
|
"ROptions = `Echo \"{VER}\" | StreamEdit -e \"1,\$ replace /=(\xc5)\xa81\xb0/ 'STR=\xb6\xb6\xb6\xb6\xb6\"' \xa81 '\xb6\xb6\xb6\xb6\xb6\"'\"`".
|
||||||
@ -1154,7 +1183,7 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# lcc command line option is -D not /D
|
# lcc command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"\n".
|
"\n".
|
||||||
@ -1166,6 +1195,8 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
"CFLAGS = -D_WINDOWS " .
|
"CFLAGS = -D_WINDOWS " .
|
||||||
(join " ", map {"-I$dirpfx$_"} @srcdirs) .
|
(join " ", map {"-I$dirpfx$_"} @srcdirs) .
|
||||||
"\n".
|
"\n".
|
||||||
|
"# Resource compilation flags\n".
|
||||||
|
"RCFLAGS = \n".
|
||||||
"\n".
|
"\n".
|
||||||
"# Get include directory for resource compiler\n".
|
"# Get include directory for resource compiler\n".
|
||||||
"\n".
|
"\n".
|
||||||
@ -1185,13 +1216,18 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "lcc")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "lcc")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
if ($d->{obj} =~ /\.obj$/) {
|
if ($d->{obj} =~ /\.obj$/) {
|
||||||
print &splitline("\tlcc -O -p6 \$(COMPAT)".
|
print &splitline("\tlcc -O -p6 \$(COMPAT)".
|
||||||
" \$(XFLAGS) \$(CFLAGS) ".$d->{deps}->[0],69)."\n";
|
" \$(XFLAGS) \$(CFLAGS) ".$d->{deps}->[0],69)."\n";
|
||||||
} else {
|
} else {
|
||||||
print &splitline("\tlrc \$(RCFL) -r ".$d->{deps}->[0],69)."\n";
|
print &splitline("\tlrc \$(RCFL) -r \$(RCFLAGS) ".
|
||||||
|
$d->{deps}->[0],69)."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
@ -1199,7 +1235,9 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
"\t-del *.obj\n".
|
"\t-del *.obj\n".
|
||||||
"\t-del *.exe\n".
|
"\t-del *.exe\n".
|
||||||
"\t-del *.res\n";
|
"\t-del *.res\n".
|
||||||
|
"\n".
|
||||||
|
"FORCE:\n";
|
||||||
|
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
@ -1214,7 +1252,7 @@ if (defined $makefiles{'osx'}) {
|
|||||||
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
# gcc command line option is -D not /D
|
# gcc command line option is -D not /D
|
||||||
($_ = $help) =~ s/=\/D/=-D/gs;
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
print $_;
|
print $_;
|
||||||
print
|
print
|
||||||
"CC = \$(TOOLPATH)gcc\n".
|
"CC = \$(TOOLPATH)gcc\n".
|
||||||
@ -1263,8 +1301,12 @@ if (defined $makefiles{'osx'}) {
|
|||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", undef, $dirpfx, "/")) {
|
foreach $d (&deps("X.o", undef, $dirpfx, "/")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
"\n";
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
$firstdep = $d->{deps}->[0];
|
$firstdep = $d->{deps}->[0];
|
||||||
if ($firstdep =~ /\.c$/) {
|
if ($firstdep =~ /\.c$/) {
|
||||||
print "\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n";
|
print "\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n";
|
||||||
@ -1274,8 +1316,10 @@ if (defined $makefiles{'osx'}) {
|
|||||||
}
|
}
|
||||||
print "\n".$makefile_extra{'osx'}->{'end'};
|
print "\n".$makefile_extra{'osx'}->{'end'};
|
||||||
print "\nclean:\n".
|
print "\nclean:\n".
|
||||||
"\trm -f *.o *.dmg". (join "", map { " $_" } &progrealnames("U")) . "\n";
|
"\trm -f *.o *.dmg". (join "", map { " $_" } &progrealnames("U")) . "\n".
|
||||||
"\trm -rf *.app\n";
|
"\trm -rf *.app\n";
|
||||||
|
"\n".
|
||||||
|
"FORCE:\n";
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
#include "rcstuff.h"
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "Pageant"
|
||||||
|
#define APPDESC "PuTTY SSH authentication agent"
|
||||||
|
|
||||||
200 ICON "pageant.ico"
|
200 ICON "pageant.ico"
|
||||||
201 ICON "pageants.ico"
|
201 ICON "pageants.ico"
|
||||||
|
|
||||||
@ -85,6 +88,8 @@ BEGIN
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
#include "version.rc2"
|
||||||
|
|
||||||
#ifndef NO_MANIFESTS
|
#ifndef NO_MANIFESTS
|
||||||
1 RT_MANIFEST "pageant.mft"
|
1 RT_MANIFEST "pageant.mft"
|
||||||
#endif /* NO_MANIFESTS */
|
#endif /* NO_MANIFESTS */
|
||||||
|
@ -1 +1,8 @@
|
|||||||
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "Plink"
|
||||||
|
#define APPDESC "Command-line SSH, Telnet, and Rlogin client"
|
||||||
|
|
||||||
200 ICON "putty.ico"
|
200 ICON "putty.ico"
|
||||||
|
|
||||||
|
#include "version.rc2"
|
||||||
|
@ -1,2 +1,8 @@
|
|||||||
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "PSCP"
|
||||||
|
#define APPDESC "Command-line SCP/SFTP client"
|
||||||
|
|
||||||
200 ICON "pscp.ico"
|
200 ICON "pscp.ico"
|
||||||
|
|
||||||
|
#include "version.rc2"
|
||||||
|
8
windows/psftp.rc
Normal file
8
windows/psftp.rc
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "PSFTP"
|
||||||
|
#define APPDESC "Command-line interactive SFTP client"
|
||||||
|
|
||||||
|
200 ICON "pscp.ico"
|
||||||
|
|
||||||
|
#include "version.rc2"
|
10
windows/putty.rc
Normal file
10
windows/putty.rc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "PuTTY"
|
||||||
|
#define APPDESC "SSH, Telnet and Rlogin client"
|
||||||
|
|
||||||
|
#include "win_res.rc2"
|
||||||
|
|
||||||
|
#ifndef NO_MANIFESTS
|
||||||
|
1 RT_MANIFEST "putty.mft"
|
||||||
|
#endif /* NO_MANIFESTS */
|
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
#include "rcstuff.h"
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "PuTTYgen"
|
||||||
|
#define APPDESC "PuTTY SSH key generation utility"
|
||||||
|
|
||||||
200 ICON "puttygen.ico"
|
200 ICON "puttygen.ico"
|
||||||
|
|
||||||
201 DIALOG DISCARDABLE 0, 0, 318, 270
|
201 DIALOG DISCARDABLE 0, 0, 318, 270
|
||||||
@ -78,6 +81,8 @@ BEGIN
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
#include "version.rc2"
|
||||||
|
|
||||||
#ifndef NO_MANIFESTS
|
#ifndef NO_MANIFESTS
|
||||||
1 RT_MANIFEST "puttygen.mft"
|
1 RT_MANIFEST "puttygen.mft"
|
||||||
#endif /* NO_MANIFESTS */
|
#endif /* NO_MANIFESTS */
|
||||||
|
11
windows/puttytel.rc
Normal file
11
windows/puttytel.rc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include "rcstuff.h"
|
||||||
|
|
||||||
|
#define APPNAME "PuTTYtel"
|
||||||
|
#define APPDESC "Telnet and Rlogin client"
|
||||||
|
|
||||||
|
#include "win_res.rc2"
|
||||||
|
|
||||||
|
#ifndef NO_MANIFESTS
|
||||||
|
/* FIXME */
|
||||||
|
1 RT_MANIFEST "putty.mft"
|
||||||
|
#endif /* NO_MANIFESTS */
|
@ -30,4 +30,21 @@
|
|||||||
#define RT_MANIFEST 24
|
#define RT_MANIFEST 24
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* LCC is the offender here. */
|
||||||
|
#ifndef VS_FF_DEBUG
|
||||||
|
#define VS_FF_DEBUG 1
|
||||||
|
#endif
|
||||||
|
#ifndef VS_FF_PRERELEASE
|
||||||
|
#define VS_FF_PRERELEASE 2
|
||||||
|
#endif
|
||||||
|
#ifndef VS_FF_PRIVATEBUILD
|
||||||
|
#define VS_FF_PRIVATEBUILD 8
|
||||||
|
#endif
|
||||||
|
#ifndef VOS__WINDOWS32
|
||||||
|
#define VOS__WINDOWS32 4
|
||||||
|
#endif
|
||||||
|
#ifndef VFT_APP
|
||||||
|
#define VFT_APP 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* PUTTY_RCSTUFF_H */
|
#endif /* PUTTY_RCSTUFF_H */
|
||||||
|
121
windows/version.rc2
Normal file
121
windows/version.rc2
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/*
|
||||||
|
* Standard Windows version information.
|
||||||
|
* (For inclusion in other .rc files with appropriate macro definitions.)
|
||||||
|
* FIXME: This file is called '.rc2' rather than '.rc' to avoid MSVC trying
|
||||||
|
* to compile it on its own when using the project files. Nicer solutions
|
||||||
|
* welcome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Binary versions in Windows are major.minor.build.revision. Each
|
||||||
|
* component is 16-bit.
|
||||||
|
* Here we have:
|
||||||
|
* major.minor
|
||||||
|
* PuTTY version number (e.g. 0.58). (We've made a policy decision
|
||||||
|
* that these will be numeric from now on.)
|
||||||
|
* Present in releases and snapshots (for the sake of monotonicity
|
||||||
|
* in version numbers).
|
||||||
|
* build
|
||||||
|
* In releases, always 0.
|
||||||
|
* In snapshots, nearest Subversion revision. (It shouldn't be
|
||||||
|
* assumed that only one binary will have a given build number, of
|
||||||
|
* course.)
|
||||||
|
* revision
|
||||||
|
* Reserved; always 0.
|
||||||
|
*
|
||||||
|
* Examples of these version numbers:
|
||||||
|
* Release: 0.58.0.0 (but 0.58 didn't have a VERSIONINFO resource)
|
||||||
|
* Snapshot: 0.58.6356.0 (between 0.58 and the next release)
|
||||||
|
* Local: 0.0.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Mechanics of version naming/numbering.
|
||||||
|
* (This is a ripoff of ../version.c.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define STR1(x) #x
|
||||||
|
#define STR(x) STR1(x)
|
||||||
|
|
||||||
|
/* We keep this around even for snapshots, for monotonicity of version
|
||||||
|
* numbering. It needs to be kept up to date. NB _comma_-separated. */
|
||||||
|
#define BASE_VERSION 0,58
|
||||||
|
|
||||||
|
#if defined SNAPSHOT
|
||||||
|
|
||||||
|
/* Make SVN_REV mandatory for snapshots, to avoid issuing binary
|
||||||
|
* version numbers that look like full releases. */
|
||||||
|
#if (!defined SVN_REV) || (SVN_REV == 0)
|
||||||
|
#error SVN_REV not defined/nonzero for snapshot build
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VERSION_TEXT "Development snapshot " STR(SNAPSHOT) ":r" STR(SVN_REV)
|
||||||
|
#define BINARY_VERSION BASE_VERSION,SVN_REV,0
|
||||||
|
|
||||||
|
#elif defined RELEASE
|
||||||
|
|
||||||
|
#define VERSION_TEXT "Release " STR(RELEASE)
|
||||||
|
#define BINARY_VERSION BASE_VERSION,0,0
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* We can't reliably get the same date and time as version.c, so
|
||||||
|
* we won't bother trying. */
|
||||||
|
#define VERSION_TEXT "Unidentified build"
|
||||||
|
#define BINARY_VERSION 0,0,0,0
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The actual VERSIONINFO resource.
|
||||||
|
*/
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
/* (None of this "fixed" info appears to be trivially user-visible on
|
||||||
|
* Win98SE. The binary version does show up on Win2K.) */
|
||||||
|
FILEVERSION BINARY_VERSION
|
||||||
|
PRODUCTVERSION BINARY_VERSION /* version of whole suite */
|
||||||
|
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE | VS_FF_PRIVATEBUILD
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#if defined DEBUG
|
||||||
|
| VS_FF_DEBUG
|
||||||
|
#endif
|
||||||
|
#if defined SNAPSHOT
|
||||||
|
| VS_FF_PRERELEASE
|
||||||
|
#elif !defined RELEASE
|
||||||
|
| VS_FF_PRIVATEBUILD
|
||||||
|
#endif
|
||||||
|
FILEOS VOS__WINDOWS32
|
||||||
|
FILETYPE VFT_APP
|
||||||
|
FILESUBTYPE 0x0L /* n/a for VFT_APP */
|
||||||
|
BEGIN
|
||||||
|
/* (On Win98SE and Win2K, we can see most of this on the Version tab
|
||||||
|
* in the file properties in Explorer.) */
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
/* "lang-charset" LLLLCCCC = (UK English, Unicode) */
|
||||||
|
BLOCK "080904B0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Simon Tatham" /* required :/ */
|
||||||
|
VALUE "ProductName", "PuTTY suite"
|
||||||
|
VALUE "FileDescription", APPDESC
|
||||||
|
VALUE "InternalName", APPNAME
|
||||||
|
VALUE "OriginalFilename", APPNAME
|
||||||
|
VALUE "FileVersion", VERSION_TEXT
|
||||||
|
VALUE "ProductVersion", VERSION_TEXT
|
||||||
|
VALUE "LegalCopyright", "Copyright \251 1997-2005 Simon Tatham."
|
||||||
|
#if (!defined SNAPSHOT) && (!defined RELEASE)
|
||||||
|
/* Only if VS_FF_PRIVATEBUILD. */
|
||||||
|
VALUE "PrivateBuild", VERSION_TEXT /* NBI */
|
||||||
|
#endif
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
/* Once again -- same meanings -- apparently necessary */
|
||||||
|
VALUE "Translation", 0x809, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#undef VERSION_TEXT
|
||||||
|
#undef BASE_VERSION
|
||||||
|
#undef BINARY_VERSION
|
@ -1,8 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* Windows resources for PuTTY and PuTTYtel.
|
* Windows resources shared between PuTTY and PuTTYtel, to be #include'd
|
||||||
|
* after defining appropriate macros.
|
||||||
|
* Note that many of these strings mention PuTTY. Due to restrictions in
|
||||||
|
* VC's handling of string concatenation, this can't easily be fixed.
|
||||||
|
* It's fixed up at runtime.
|
||||||
|
* FIXME: This file is called '.rc2' rather than '.rc' to avoid MSVC trying
|
||||||
|
* to compile it on its own when using the project files. Nicer solutions
|
||||||
|
* welcome.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rcstuff.h"
|
|
||||||
#include "win_res.h"
|
#include "win_res.h"
|
||||||
|
|
||||||
IDI_MAINICON ICON "putty.ico"
|
IDI_MAINICON ICON "putty.ico"
|
||||||
@ -83,6 +89,4 @@ BEGIN
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
#ifndef NO_MANIFESTS
|
#include "version.rc2"
|
||||||
1 RT_MANIFEST "putty.mft"
|
|
||||||
#endif /* NO_MANIFESTS */
|
|
Loading…
Reference in New Issue
Block a user