https://git.reactos.org/?p=reactos.git;a=commitdiff;h=41d1898fcd4ef53780e33229e21dfee20a7d5de2

commit 41d1898fcd4ef53780e33229e21dfee20a7d5de2
Author:     Mikhail Tyukin <mishakey...@gmail.com>
AuthorDate: Sun Jan 26 12:57:27 2025 -0500
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@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

Reply via email to