Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -214,11 +214,11 @@ @echo "If you have documentation to create, place the commands to" @echo "build the docs in the 'doc:' target. For example:" @echo " xml2nroff sample.xml > sample.n" @echo " xml2html sample.xml > sample.html" -install: all install-binaries install-libraries install-doc +install: all install-binaries install-libraries install-binaries: binaries install-lib-binaries install-bin-binaries #======================================================================== # This rule installs platform-independent files, such as header files. Index: generic/tls.c ================================================================== --- generic/tls.c +++ generic/tls.c @@ -108,12 +108,16 @@ static Tcl_Mutex *locks = NULL; static int locksCount = 0; static Tcl_Mutex init_mx; -void CryptoThreadLockCallback(int mode, int n, const char *file, int line) { - +void CryptoThreadLockCallback( + int mode, + int n, + TCL_UNUSED(const char *), + TCL_UNUSED(int)) +{ if (mode & CRYPTO_LOCK) { /* This debugging is turned off by default -- it's too noisy. */ /* dprintf("Called to lock (n=%i of %i)", n, locksCount); */ Tcl_MutexLock(&locks[n]); } else { @@ -122,12 +126,10 @@ } /* dprintf("Returning"); */ return; - file = file; - line = line; } unsigned long CryptoThreadIdCallback(void) { unsigned long ret; @@ -415,11 +417,11 @@ size = size; verify = verify; } #else static int -PasswordCallback(char *buf, int size, int verify, void *udata) +PasswordCallback(char *buf, int size, TCL_UNUSED(int) /* verify */, void *udata) { State *statePtr = (State *) udata; Tcl_Interp *interp = statePtr->interp; Tcl_Obj *cmdPtr; int result; @@ -457,11 +459,10 @@ strncpy(buf, ret, (size_t) size); return (int)strlen(ret); } else { return -1; } - verify = verify; } #endif /* *------------------------------------------------------------------- Index: pkgIndex.tcl.in ================================================================== --- pkgIndex.tcl.in +++ pkgIndex.tcl.in @@ -9,11 +9,11 @@ source -encoding utf-8 $initScript } } else { if {![package vsatisfies [package provide Tcl] 8.5]} {return} package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ [list apply {{dir} { - if {[string tolower [file extension @PKG_LIB_FILE8@]] in [list ".dll" ".so"]} { + if {[string tolower [file extension @PKG_LIB_FILE8@]] in [list .dll .dylib .so]} { load [file join $dir @PKG_LIB_FILE8@] [string totitle @PACKAGE_NAME@] } else { load {} [string totitle @PACKAGE_NAME@] } set initScript [file join $dir @PACKAGE_NAME@.tcl] Index: win/README.txt ================================================================== --- win/README.txt +++ win/README.txt @@ -3,11 +3,11 @@ 2023-08-22 Kevin Walzer (kw@codebykevin.com) Properties: - 64 bit DLL - VisualStudio 2019 -- WSL +- WSL - OpenSSL dynamically linked to TCLTLS DLL. We used a freely redistributable build of OpenSSL from https://www.firedaemon.com/firedaemon-openssl. Unzip and install OpenSSL in an accessible place (we used the lib subdirectory of our Tcl installation). 1. Visual Studio x64 native prompt. Update environmental variables for building Tcltls. Customize the below entries for your setup. set PATH=%PATH%;C:\tcl-trunk\lib\openssl-3\x64\bin @@ -15,11 +15,11 @@ set LIB=%LIB%;C:\tcl-trunk\tcl\lib\openssl-3\x64\bin 2) Build TCLTLS --> Unzip distribution on your system. +-> Unzip distribution on your system. -> Start WSL. -> cd /mnt/c/path/to/tcltls ./gen_dh_params > dh_params.h @@ -35,15 +35,15 @@ nmake -f makefile.vc TCLDIR=c:\users\wordt\tcl INSTALLDIR=c:\tcl-trunk\tcl\lib SSL_INSTALL_FOLDER=C:\tcl-trunk\tcl\lib\openssl-3\x64 nmake -f makefile.vc TCLDIR=c:\users\wordt\tcl INSTALLDIR=c:\tcl-trunk\tcl\lib SSL_INSTALL_FOLDER=C:\tcl-trunk\tcl\lib\openssl-3\x64 install -The resulting installation will include both the tcltls package and also have libcrypto.dll and libssl.dll copied into the same directory. +The resulting installation will include both the tcltls package and also have libcrypto.dll and libssl.dll copied into the same directory. 3) Test Start tclsh package require tls package require http http::register https 443 [list ::tls::socket -autoservername true] set tok [http::data [http::geturl https://www.tcl-lang.org]] Index: win/makefile.vc ================================================================== --- win/makefile.vc +++ win/makefile.vc @@ -34,11 +34,11 @@ # SSL_INSTALL_FOLDER = with the OpenSSL installation folder following. PRJ_INCLUDES = -I"$(SSL_INSTALL_FOLDER)\include" -I"$(OPENSSL_INSTALL_DIR)\include" # Define any additional compiler flags that might be required for the project PRJ_DEFINES = -D NO_SSL2 -D NO_SSL3 -D _CRT_SECURE_NO_WARNINGS - + # SSL Libs: # 1. ${LIBCRYPTO}.dll # 2. ${LIBSSL}.dll # Where LIBCRYPTO (#1.) and LIBSSL (#2.) are defined as follows: # v1.1: libcrypto-1.1-x64.dll and libssl-1.1-x64.dll