1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00

18 Commits

Author SHA1 Message Date
Martin Prikryl
d725f98ec4 Issue 618 – Experimental 64-bit version of WinSCP
https://winscp.net/tracker/618

Source commit: 329fb51d696db6c1d37d5c5240ff253af0df941b
2026-05-11 18:39:51 +02:00
Martin Prikryl
847e0faf9b Removing/merging Base_Win32 sections as none have any Win32-specific settings + Removing all version info from libraries
The only project with Win32-specific setting is PngComponents (actually also tb2kdsgn and tbxdsgn - but we do not plan to build IDE-only packages for 64-bit atm)

Bde namespace removed (we do not use it)

IDE insists on AppDPIAwarenessMode from final binary projects and VerInfo_Locale in all projects

Dropping Manifest_File from library projects

Unifom first PropertyGroup ordering

Consistently placing both Import's at the end

Now IDE does not modify the project files when options are opened, except for reorderring of files and adding Excluded_Packages (which we undo before commit).
Except for DScpComp project, to which is adds an empty Cfg_1_Win32 section for some reason.

Source commit: c1bf6332ac63752b5c23ded3275167f00508776e
2026-05-08 00:55:59 +02:00
Martin Prikryl
5d42a6dcab Limiting OpenSSL API to 1.1
Hides some OpenSSL code that produces warnings when compiling with bcc64 (e.g. assigning SOCKET to int in bio_sock.c)

Source commit: 03f63be5c4500d9ba73f740ec3b696bc987239a0
2026-01-09 01:15:44 +01:00
Martin Prikryl
e5efed8955 Refactoring old-style casts
Source commit: 3c37b3a958525c595ad44b081b2e0f3b288b8eb0
2025-12-18 01:20:33 +01:00
Martin Prikryl
6963f08ffd Enabling all warnings in all projects and only selectively disabling those that are needed
with aim to eventually update the code to need as little warnings disabled as needed.

Some code updates (and even fixes) to avoid warning done already

Source commit: 5c45a6f56c52e7b0c5034ed9980cd65259a7372b
2025-12-04 01:16:16 +01:00
Martin Prikryl
4ba8c00e0c Using Clang parallel compilation
Note regarding OpenSSL: With sources in different folder and lack of advanced rule in Borland makefile, it is not possible to use batch compilation with rule-based make file. Instead sources are explicitly (re)compiled in the library rule

Using 8 processes (higher number does not bring significant improvement)
Btw, so it was not true that Clang needs separate commandline for each file (see 17c5d4fa)

------
Timing statistics (times are the lowest out of few runs)

IDE WinSCP.cbproj recompile (i.e without thirdparty and components)
Classic     0:55
+PCH        0:39
Clang       2:53
+Batch      2:53
+OOP        2:56
+Batch+OOP  2:57
+B+OOP=2    1:51
+B+OOP=4    1:19
+B+OOP=8    1:05
+B+OOP=12   0:59
+B+OOP=16   1:00

thirdparty:
classic  2:35
clang    2:24
+8       0:49

build.bat:
classic 11:06
clang+8  8:38

Source commit: 1e073fb3df6a6f2c7f24de82d39fae6b1fc47367
2025-09-05 13:59:20 +02:00
Martin Prikryl
1d9fe8c955 Changing compiler to Clang/bcc32c
- regarding the ILINK_LibraryPath for Cfg_1_Win32 (Debug):
Win32\Debug (not only Win32c\Debug) needs to be before Win32c\Release, as win32c does not include debug builds of Pascal code - so without that VCL debugging won't work
- IDE insist on adding CC_Suffix to all projects once switched to Clang, although it is only used in WinSCP.cbproj
- UNICODE define: Not needed for build (it's implicit), but CodeInsight does not know it it somehow

Source commit: da06d73eb86caff5ca9cac0185bed54da0da8f07
2025-09-04 07:53:01 +02:00
Martin Prikryl
e09e95ee43 Upgrade to C++ Builder 11
Comments:
- .res files seem to be linked automatically, so explicit entries in project files caused duplicates
- JCL updated for compatibility with BCB11 (jcld28win32.inc obtained by running JCJ installer [uninstalled afterwards])

Source commit: ec28d10a0bbb346ed2bb3940aed37e777342e663
2024-10-08 07:18:18 +02:00
Martin Prikryl
a0d76e906b Using spaces for indentation in project files, as that's what C++ Builder uses
Source commit: c7aef116986dbb917fbc50ae709b2b0ef524a0ce
2024-10-04 01:12:50 +02:00
Martin Prikryl
3f3d21f04b Removing unused parts of MFC and replacing rarely used parts with other implementations
Source commit: 7513148f8764428bbd242cb59095118a72270e0d
2022-01-19 10:18:44 +01:00
Martin Prikryl
3a86ce004e Building MFC the same was as other 3rd party libraries
(instead of manually storing it to C++Builder installation folder)
Now always doing release build – preventing debug code from being used when building debug version of the main code by modifying the headers accordingly.
+ Avoiding warnings when building a fresh library (as that will now break the build, while before we ignored the warnings during manual build)

Source commit: 391c641d906cfd62fd1e1a91c3d358520dc13c5b
2022-01-15 00:52:20 +01:00
Martin Prikryl
b86225042c Update to OpenSSL OpenSSL 1.1.1a
Source commit: ed68069c4ffc356398506b3529414ebace044caf
2019-01-29 16:12:34 +01:00
Martin Prikryl
9b2074fc3b Reusing format_xml for cleancbproj + Improving it to handle tags with multi-line text contents (<PostBuildEvent>) and empty lines
To correct indentation in release source code
+ Reporting line number on errors

Source commit: bb86177a42a7f1df004ecf8f18affe8c152ac2d3
2018-01-25 10:41:17 +01:00
Martin Prikryl
d8f92984b9 First public commit of dev branch
Source commit: 98cb9d870efc1c60826db4398ec35c5cbe809e6a
2018-01-24 14:13:46 +01:00
Martin Prikryl
87c5906b1d 5.6.4 2018-01-11 15:36:57 +01:00
Martin Prikryl
5a9d22512f 5.6.2 2018-01-11 15:36:40 +01:00
Martin Prikryl
26b6b13bc8 5.6 2018-01-11 15:36:22 +01:00
Martin Prikryl
2e4b4738f0 5.2 2018-01-11 15:30:21 +01:00