https://git.reactos.org/?p=reactos.git;a=commitdiff;h=41d1898fcd4ef53780e33…
commit 41d1898fcd4ef53780e33229e21dfee20a7d5de2
Author: Mikhail Tyukin <mishakeys20(a)gmail.com>
AuthorDate: Sun Jan 26 12:57:27 2025 -0500
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Fri Feb 7 16:57:01 2025 +0100
[LIBJPEG][LIBPNG][LIBTIFF] Add .spec files (#7665)
---
dll/3rdparty/libjpeg/CMakeLists.txt | 4 +++-
dll/3rdparty/libjpeg/libjpeg.spec | 14 +++++++++++++
dll/3rdparty/libpng/CMakeLists.txt | 4 +++-
dll/3rdparty/libpng/libpng.spec | 40 +++++++++++++++++++++++++++++++++++++
dll/3rdparty/libtiff/CMakeLists.txt | 4 +++-
dll/3rdparty/libtiff/libtiff.spec | 17 ++++++++++++++++
media/doc/3rd Party Files.txt | 3 +++
7 files changed, 83 insertions(+), 3 deletions(-)
diff --git a/dll/3rdparty/libjpeg/CMakeLists.txt b/dll/3rdparty/libjpeg/CMakeLists.txt
index fefc3da850c..1b68ac71488 100644
--- a/dll/3rdparty/libjpeg/CMakeLists.txt
+++ b/dll/3rdparty/libjpeg/CMakeLists.txt
@@ -10,6 +10,8 @@ include_directories(
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libjpeg
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib)
+spec2def(libjpeg.dll libjpeg.spec ADD_IMPORTLIB)
+
list(APPEND SOURCE
jaricom.c
jcapimin.c
@@ -59,7 +61,7 @@ list(APPEND SOURCE
jmemnobs.c
precomp.h)
-add_library(libjpeg MODULE ${SOURCE})
+add_library(libjpeg MODULE ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/libjpeg.def)
set_module_type(libjpeg win32dll)
add_importlibs(libjpeg msvcrt kernel32)
add_pch(libjpeg precomp.h SOURCE)
diff --git a/dll/3rdparty/libjpeg/libjpeg.spec b/dll/3rdparty/libjpeg/libjpeg.spec
new file mode 100644
index 00000000000..62eda3cbd0f
--- /dev/null
+++ b/dll/3rdparty/libjpeg/libjpeg.spec
@@ -0,0 +1,14 @@
+@ cdecl jpeg_std_error(ptr)
+@ cdecl jpeg_CreateCompress(ptr long)
+@ cdecl jpeg_CreateDecompress(ptr long long)
+@ cdecl jpeg_destroy_compress(ptr)
+@ cdecl jpeg_destroy_decompress(ptr)
+@ cdecl jpeg_set_defaults(ptr)
+@ cdecl jpeg_start_compress(ptr long)
+@ cdecl jpeg_write_scanlines(ptr ptr long)
+@ cdecl jpeg_finish_compress(ptr)
+@ cdecl jpeg_read_header(ptr long)
+@ cdecl jpeg_start_decompress(ptr)
+@ cdecl jpeg_read_scanlines(ptr ptr long)
+@ cdecl jpeg_finish_decompress(ptr)
+@ cdecl jpeg_resync_to_restart(ptr long)
diff --git a/dll/3rdparty/libpng/CMakeLists.txt b/dll/3rdparty/libpng/CMakeLists.txt
index e7599539562..a5b3849377f 100644
--- a/dll/3rdparty/libpng/CMakeLists.txt
+++ b/dll/3rdparty/libpng/CMakeLists.txt
@@ -9,6 +9,8 @@ include_directories(
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libpng
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib)
+spec2def(libpng.dll libpng.spec ADD_IMPORTLIB)
+
list(APPEND SOURCE
png.c
pngerror.c
@@ -27,7 +29,7 @@ list(APPEND SOURCE
pngwutil.c
pngpriv.h)
-add_library(libpng MODULE ${SOURCE})
+add_library(libpng MODULE ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/libpng.def)
set_module_type(libpng win32dll)
target_link_libraries(libpng zlib)
add_importlibs(libpng msvcrt kernel32 ntdll)
diff --git a/dll/3rdparty/libpng/libpng.spec b/dll/3rdparty/libpng/libpng.spec
new file mode 100644
index 00000000000..b1b008b8ffc
--- /dev/null
+++ b/dll/3rdparty/libpng/libpng.spec
@@ -0,0 +1,40 @@
+@ cdecl png_create_info_struct(ptr)
+@ cdecl png_create_read_struct(ptr ptr ptr ptr)
+@ cdecl png_create_write_struct(ptr ptr ptr ptr)
+@ cdecl png_get_compression_buffer_size(ptr)
+@ cdecl png_set_compression_buffer_size(ptr long)
+@ cdecl png_set_longjmp_fn(ptr ptr long)
+@ cdecl png_destroy_read_struct(ptr ptr ptr)
+@ cdecl png_destroy_write_struct(ptr ptr)
+@ cdecl png_error(ptr ptr)
+@ cdecl png_get_bit_depth(ptr ptr)
+@ cdecl png_get_color_type(ptr ptr)
+@ cdecl png_get_error_ptr(ptr)
+@ cdecl png_get_iCCP(ptr ptr ptr ptr ptr ptr)
+@ cdecl png_get_image_height(ptr ptr)
+@ cdecl png_get_image_width(ptr ptr)
+@ cdecl png_get_io_ptr(ptr)
+@ cdecl png_get_pHYs(ptr ptr ptr ptr)
+@ cdecl png_get_PLTE(ptr ptr ptr ptr)
+@ cdecl png_get_tRNS(ptr ptr ptr ptr ptr)
+@ cdecl png_read_image(ptr ptr)
+@ cdecl png_read_info(ptr ptr)
+@ cdecl png_set_bgr(ptr)
+@ cdecl png_set_crc_action(ptr long long)
+@ cdecl png_set_filter(ptr long long)
+@ cdecl png_set_error_fn(ptr ptr ptr ptr)
+@ cdecl png_set_filler(ptr long long)
+@ cdecl png_set_gray_to_rgb(ptr)
+@ cdecl png_set_IHDR(ptr ptr long long long long long long long)
+@ cdecl png_set_interlace_handling(ptr)
+@ cdecl png_set_pHYs(ptr ptr ptr long long long)
+@ cdecl png_set_PLTE(ptr ptr ptr long)
+@ cdecl png_set_read_fn(ptr ptr ptr)
+@ cdecl png_set_swap(ptr)
+@ cdecl png_set_tRNS(ptr ptr ptr long ptr)
+@ cdecl png_set_tRNS_to_alpha(ptr)
+@ cdecl png_set_write_fn(ptr ptr ptr ptr)
+@ cdecl png_set_chunk_malloc_max(ptr long)
+@ cdecl png_write_end(ptr)
+@ cdecl png_write_info(ptr ptr)
+@ cdecl png_write_rows(ptr ptr long)
diff --git a/dll/3rdparty/libtiff/CMakeLists.txt b/dll/3rdparty/libtiff/CMakeLists.txt
index 2aff720a340..882d3b3971f 100644
--- a/dll/3rdparty/libtiff/CMakeLists.txt
+++ b/dll/3rdparty/libtiff/CMakeLists.txt
@@ -9,6 +9,8 @@ include_directories(
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/libtiff
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib)
+spec2def(libtiff.dll libtiff.spec ADD_IMPORTLIB)
+
list(APPEND SOURCE
#mkg3states.c
tif_aux.c
@@ -54,7 +56,7 @@ list(APPEND SOURCE
#tif_zstd.c
precomp.h)
-add_library(libtiff MODULE ${SOURCE} libtiff.def)
+add_library(libtiff MODULE ${SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/libtiff.def)
set_module_type(libtiff win32dll)
target_link_libraries(libtiff zlib getopt)
diff --git a/dll/3rdparty/libtiff/libtiff.spec b/dll/3rdparty/libtiff/libtiff.spec
new file mode 100644
index 00000000000..f774b2ac4a1
--- /dev/null
+++ b/dll/3rdparty/libtiff/libtiff.spec
@@ -0,0 +1,17 @@
+# TODO: add remaining exports
+@ cdecl TIFFClose(ptr)
+@ cdecl TIFFClientOpen(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
+@ cdecl TIFFCurrentDirOffset(ptr)
+@ cdecl TIFFGetField(ptr long long long)
+@ cdecl TIFFIsByteSwapped(ptr)
+@ cdecl TIFFNumberOfDirectories(ptr)
+@ cdecl TIFFReadEncodedStrip(ptr)
+@ cdecl TIFFReadEncodedTile(ptr long ptr long)
+@ cdecl TIFFSetDirectory(ptr long)
+@ cdecl TIFFSetErrorHandler(ptr)
+@ cdecl TIFFSetErrorHandlerExt(ptr)
+@ cdecl TIFFSetWarningHandler(ptr)
+@ cdecl TIFFSetWarningHandlerExt(ptr)
+@ cdecl TIFFSetField(ptr long long long)
+@ cdecl TIFFWriteDirectory(ptr)
+@ cdecl TIFFWriteScanline(ptr ptr long long)
diff --git a/media/doc/3rd Party Files.txt b/media/doc/3rd Party Files.txt
index e8ae9ad70ad..617aac1cc4d 100644
--- a/media/doc/3rd Party Files.txt
+++ b/media/doc/3rd Party Files.txt
@@ -31,18 +31,21 @@ Path: dll/3rdparty/libjpeg
Used Version: 9d
License: custom, BSD-like
URL:
http://www.ijg.org/
+Modifications: added .spec file
Title: libpng
Path: dll/3rdparty/libpng
Used Version: 1.6.39
License: PNG Reference Library version 2
URL:
http://libpng.sourceforge.net/
+Modifications: added .spec file
Title: libtiff
Path: dll/3rdparty/libtiff
Used Version: 4.1.0
License: libtiff (
https://spdx.org/licenses/libtiff.html)
URL:
http://www.simplesystems.org/libtiff/
+Modifications: added .spec file
Title: Libxslt
Path: dll/3rdparty/libxslt