-----------------------------------------------------------------
IDE

Update license agreement year
Update year in Copying files - replace "Copyright (c) 1998, 201x, The U++ Project"

About, BSD

2019-03-22: 2019
2023-09-17: 2023

------------------------------------------------------------------2
CLANG

https://github.com/mstorsjo/llvm-mingw/releases

Copy to bin
rename old clang to clang.old before deleting
rename to clang
delete aarch and arm7 folders and .exe from bin

2022-03-05 CLANG-14
2024-05-12 CLANG-18
------------------------------------------------------------------
OpenSSL

==== Building openssl for win32 clang/mingw:

Install msys2 into c:/msys64, user cxl
Install pacman -S perl

Start msys2 mingw 64

~ is C:\msys64\home\cxl

Copy current clang to ~

download openssl, unpack to ~

edit .bashrc, add 

export PATH=/home/cxl/clang/bin:$PATH

test clang, clang++

in openssl dir

./config CC=clang CXX=clang++
make

copy ./include/openssl to C:\upp\bin\clang\include
copy ./libcrypto.a and ./libssl.a to C:\upp\bin\clang\x86_64-w64-mingw32\lib

test upptst/Https with CLANGx64, release, debug

close msys2

----
start msys2 mingw 32

check that i686-w64-mingw32-clang works
cd openssl...
make clean
./config CC=clang CXX=clang++ --cross-compile-prefix=i686-w64-mingw32-
make
copy ./libcrypto.a and ./libssl.a to C:\upp\bin\clang\i686-w64-mingw32\lib

test upptst/Https with CLANG, release, debug

==== MSC static versions

netasm, strawberry perl

make sure Scripts folder is on windows path

from perl prompt run

vc32.bat

unpack openssl into new dir (it seems there is a problem reusing it in mingw64)

cd .../openssl...

perl ./Configure VC-WIN32

edit Makefile

CNF_CFLAGS=/Gs0 /GF /Gy /MT
LIB_CFLAGS=$(CNF_CFLAGS) $(CFLAGS)

to remove debug info and make it link with the right library

nmake
libcrypto_static.lib, libssl_static.lib -> bin/openssl/lib32/crypto.lib, ssl.lib
openssl -> bin/openssl/include

close perl / reopen perl to clean PATH

cd .../openssl...

vc64.bat

nmake clean

perl ./Configure VC-WIN64A

edit Makefile

CNF_CFLAGS=/Gs0 /GF /Gy /MT
LIB_CFLAGS=$(CNF_CFLAGS) $(CFLAGS)

nmake
libcrypto_static.lib, libssl_static.lib -> bin/openssl/lib64/crypto.lib, ssl.lib

2020-09-03: 1.1.1g
2022-03-05: 1.1.1n
2023-09-28: 1.1.1w
2024-05-12: 3.2.1
------------------------------------------------------------------
plugin/jpg

test with ImageView

http://www.ijg.org/files/

download jpegsr*.zip

remove (delete) files with main:
remove jmemdos.c
remove jmemmac.c
remove jmemname.c
remove jmemnobs.c
remove ckconfig.c
remove djpeg.c
remove jpegtran.c
remove example.c
remove wrjpg.com
remove cdjpeg.c
remove rdjpgcom.c

remove all lib\ files from package
insert all *.c and *.h files
rename jconfig.vc -> jconfig.h

fix problem with boolean (include from plugin/tif):

/* Define "boolean" as unsigned char, not enum, per Windows custom */
#ifdef boolean
#undef boolean
#endif
#define boolean int
#ifndef FALSE			/* in case these macros already exist */
#define FALSE	0		/* values of boolean */
#endif
#ifndef TRUE
#define TRUE	1
#endif
#define HAVE_BOOLEAN		/* prevent jmorecfg.h from redefining it */

remove all files except *.h, *.c and README (put it at the start of package),

update Copying

initial: 9b
2019-03-22: 9c
2020-09-03: 9d
2024-05-19: 9f
-------------------------------------------------------------------
plugin/tif

http://download.osgeo.org/libtiff/

current version 3.8.2

keep files from current lib (include redirectors):
	jpeglib.h
	jerror.h
	zlib.h

copy new sources from libtiff

rename:
	tif_config.vc.h -> tif_config.h
	tiffconf.vc.h -> tiffconf.h


Fix size_t in tif_config.h:

#define TIFF_SSIZE_T ptrdiff_t
#define TIFF_SIZE_T size_t

Fix macros in tiffconf.h:

#include <stddef.h>

#if defined(__WIN32) || defined(_WIN32) || defined(WIN32)
	#define TIFF_INT32_T long
	#define TIFF_UINT32_T unsigned long
	#if __GNUC__
		#define TIFF_INT64_T  long long int
		#define TIFF_UINT64_T long long unsigned
	#else
		#define TIFF_INT64_T signed __int64
		#define TIFF_UINT64_T unsigned __int64
	#endif
#else
	#define TIFF_INT32_T int
	#define TIFF_UINT32_T unsigned int
	#define TIFF_INT64_T long long int
	#define TIFF_UINT64_T long long unsigned
#endif

#define TIFF_SSIZE_T ptrdiff_t
#define TIFF_SIZE_T size_t

#define TIFF_INT32_FORMAT "%d"
#define TIFF_UINT32_FORMAT "%u"
#define TIFF_INT64_FORMAT "%I64d"
#define TIFF_UINT64_FORMAT "%I64u"

Test with ImageView / upptst/data/tif, all platforms and compilers....

update Copying

2019-03-22: 4.0.10
2020-09-03: 4.1.0
2024-05-19: 4.6.0
-------------------------------------------------------------------
plugin/png

// https://sourceforge.net/projects/libpng/files/libpng12/

https://sourceforge.net/projects/libpng/files/libpng16/

download latest .zip

overwrite CHANGES, LICENSE, all *.c (except example.c), *.h

copy pnglibconf.h.prebuilt to pnglibconf.h

fix problem with zlib.h inclidu:

#include <plugin/z/lib/zlib.h>

update Copying

initial: 1.2.59
2019-03-22: 1.2.59
2020-09-03: 1.2.59 (no update)
2024-05-20: 1.6.46
-------------------------------------------------------------------
plugin/z

https://zlib.net/

update Copying

initial 1.2.11
2019-03-22: 1.2.11
2020-09-03: 1.2.11 (no update)
2022-03-05: 1.2.12
2024-05-20: 1.3.1

-------------------------------------------------------------------
plugin/lz4

https://github.com/lz4/lz4

files

lz4.c
lz4.h

put to Core/lib (rename the LICENSE)
put to lz4/

(in lz4 sources are actually inactive)

initial: 1.7.3
2019-03-22: 1.8.3
2020-09-03: 1.9.2
2024-06-02: 1.9.4
-------------------------------------------------------------------
Core: xxhash

https://github.com/Cyan4973/xxHash

- problem - cannot use because internal buffer support no more there

-------------------------------------------------------------------
plugin/zstd

https://github.com/facebook/zstd

switch to 'master' branch
download
move files to lib, these appear to be all files from lib / "common", "compress" and "decompress"

Fix includes:

#include "../common/compiler.h"
#include "../zstd.h"

(remove ../common)

Add:

#define ZSTD_DISABLE_ASM

somewhere...

initial 1.3.2
2019-03-26: 1.3.8
2020-09-03: 1.4.5
2024-06-06: 1.5.6
-------------------------------------------------------------------
plugin/lzma

http://www.7-zip.org/sdk.html

backup lib

put files from C dir, same as original lib

put
#define _7ZIP_ST

to 7zTypes.h (to deactivate MT variant - for now)

initial: 16.04
2019-03-22: 19.0
2020-09-03: 19.0 (no update)
2024-06-04: 24.6
-------------------------------------------------------------------
plugin/bz2

https://sourceforge.net/projects/bzip2/files/

replace files in lib

initial: 1.0.6
2019-03-22: 1.0.6
2020-09-03: 1.0.6 (no update)
2024-06-04: 1.0.8
-------------------------------------------------------------------
plugin/pcre

https://www.pcre.org/

download pcre-x.x.zip

replace .c and .h files, except config.h

move pcre.h.generic -> pcre.h

fix errors in pcre_compile.c with casts

initial: 8.41
2019-03-22: 8.43
2020-09-02: 8.44

------------------------------------------------------------------
plugin/sqlite3

https://github.com/resilar/sqleet/releases/tag/v0.27.2

Download amalgamation, replace files lib/sqleet.[c|h]

(sqleet has crypto support)

2019-03-22: 3.27.2
2019-03-22: sqleet 0.27.2
2020-09-03: updated coolman 3.33
2024-06-26: 3.46.0
------------------------------------------------------------------
SDL2

https://github.com/libsdl-org/SDL/releases

download development libraries for VC and mingw
take docs, include and lib from VC variant
copy to lib/x64 x32 libSDL2.dll.a and libSDL2main.a from corresponding mingw directories

2024-06-27: 2.30.4

------------------------------------------------------------------
PostgresSQL

https://www.enterprisedb.com/download-postgresql-binaries

------------------------------------------------------------------
MySQL

https://downloads.mysql.com/archives/c-c/

current 6.1.11 Jule 13 2017

------------------------------------------------------------------
GLM

https://github.com/g-truc/glm


-------------------------------------
MinGit-2.29.2.3-busybox-32-bit

------------------------------------------------------------------
plugin/glew

------------------------------------------------------------------
plugin/FT_fontsys

lz4plugin/astyle
plugin/box2d
plugin/ndisasm


====================================================================
DEPRECATED (NOT USED ANYMORE)

------------------------------------------------------------------
mingw64 (not anymore...)

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

x86_64-win32-seh
i686-win32-dwarf

directories renamed mingw32->bin/mingw64/32, mingw64->bin/mingw64/64

http://releases.llvm.org/download.html
Now download clang 64
search for ld.ldd.exe in bin

replace ld.exe in

C:\upp\bin\mingw64\64\x86_64-w64-mingw32\bin
C:\upp\bin\mingw64\32\i686-w64-mingw32\bin

Check MingwCatchTest
Check exe icon issue

initial: MinGW-W64 GCC-7.2.0
2019-03-22: 8.1.0
2020-02-13: ldd.exe update to clang 9.0.0


------------------------------------------------------------------
# now in UppHub

plugin/Eigen

http://eigen.tuxfamily.org

download latest .zip

overwrite COPYING.* and README.md

replace Eigen folder without CMakeLists.txt files

replace unsupported folder without CMakeLists.txt files

current version 3.3.7

