early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,82 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57cd95d..50d5b9a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -280,8 +280,10 @@ else (USE_EXT_GD)
add_subdirectory(src)
endif (USE_EXT_GD)
-add_subdirectory(tests)
-add_subdirectory(examples)
+if(BUILD_TEST)
+ add_subdirectory(tests)
+ add_subdirectory(examples)
+endif()
add_custom_target(distclean ${GD_SOURCE_DIR}/cmake/distclean.sh)
@@ -298,7 +300,7 @@ else(WIN32)
set(CPACK_GENERATOR TGZ)
endif(WIN32)
-
+if(0)
INSTALL(FILES docs/INSTALL DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
INSTALL(FILES docs/README.JPN DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
INSTALL(FILES docs/README.CMAKE DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
@@ -320,7 +322,7 @@ INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/doc/gd-${GDLIB_
INSTALL(FILES examples/tgaread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
INSTALL(FILES examples/tiffread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
INSTALL(FILES examples/windows.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
-
+endif()
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 509c422..97a2976 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -96,7 +96,6 @@ if (BUILD_STATIC_LIBS)
if (UNIX)
set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
endif()
-endif()
if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
add_library(gd_programs_lib STATIC ${GD_PROGRAMS_LIB_SRC_FILES})
@@ -117,6 +116,7 @@ if (MINGW OR MSYS)
set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
endif()
endif (MINGW OR MSYS)
+endif()
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
@@ -148,6 +148,7 @@ SET(LIBS_PRIVATES
${WEBP_LIBRARIES}
)
+if(BUILD_PROGRAMS)
set(GD_PROGRAMS gdcmpgif)
if (PNG_FOUND)
@@ -177,6 +178,9 @@ foreach(program ${GD_PROGRAMS})
endif()
endforeach(program)
+install(PROGRAMS bdftogd DESTINATION bin)
+endif()
+
set(GD_INSTALL_TARGETS ${GD_PROGRAMS})
if (BUILD_SHARED_LIBS)
set(GD_INSTALL_TARGETS ${GD_INSTALL_TARGETS} ${GD_LIB})
@@ -189,7 +193,7 @@ install(TARGETS ${GD_INSTALL_TARGETS}
RUNTIME DESTINATION bin
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-install(PROGRAMS bdftogd DESTINATION bin)
+
install(FILES
entities.h
gd.h

View File

@@ -0,0 +1,61 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 17ddf6b..7fe1e6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,7 +118,7 @@ else (USE_EXT_GD)
endif (ENABLE_ICONV)
IF (ENABLE_WEBP)
- FIND_PACKAGE(WEBP REQUIRED)
+ FIND_PACKAGE(WebP CONFIG REQUIRED)
ENDIF (ENABLE_WEBP)
IF (ENABLE_HEIF)
diff --git a/src/config.h.cmake b/src/config.h.cmake
index 2b46a17..af98d23 100644
--- a/src/config.h.cmake
+++ b/src/config.h.cmake
@@ -139,3 +139,8 @@
/* Version number of package */
#cmakedefine VERSION
+
+#ifdef _MSC_VER
+ #define ssize_t SSIZE_T
+ #define SSIZE_MAX MAXSSIZE_T
+#endif
\ No newline at end of file
diff --git a/src/gd_intern.h b/src/gd_intern.h
index f8f3b5d..380f4db 100644
--- a/src/gd_intern.h
+++ b/src/gd_intern.h
@@ -29,6 +29,14 @@
# endif
#endif
+#ifdef _MSC_VER
+#define ssize_t SSIZE_T
+#define MAXSIZE_T ((SIZE_T)~ ((SIZE_T)0))
+#define MAXSSIZE_T ((SSIZE_T) (MAXSIZE_T >> 1))
+#define MINSSIZE_T ((SSIZE_T)~MAXSSIZE_T)
+#define SSIZE_MAX MAXSSIZE_T
+#endif
+
#include "gd.h"
#define MIN(a,b) ((a)<(b)?(a):(b))
diff --git a/src/getopt.c b/src/getopt.c
index 8651b87..00bccde 100644
--- a/src/getopt.c
+++ b/src/getopt.c
@@ -33,7 +33,10 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifndef _WIN32
#include <unistd.h>
+#endif
int opterr = 1, /* if error message should be printed */
optind = 1, /* index into parent argv vector */

13
externals/vcpkg/ports/libgd/intrin.patch vendored Executable file
View File

@@ -0,0 +1,13 @@
diff --git a/src/gd_interpolation.c b/src/gd_interpolation.c
index ce27220..8895072 100644
--- a/src/gd_interpolation.c
+++ b/src/gd_interpolation.c
@@ -75,7 +75,7 @@ TODO:
#ifdef _MSC_VER
# pragma optimize("t", on)
-# include <emmintrin.h>
+# include <intrin.h>
#endif
static gdImagePtr gdImageScaleBilinear(gdImagePtr im,

View File

@@ -0,0 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 50d5b9a..17ddf6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -248,7 +248,8 @@ else (USE_EXT_GD)
CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
- CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${GD_SOURCE_DIR}/src/config.h ESCAPE_QUOTES)
+ CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config.h ESCAPE_QUOTES)
+ include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
option(BUILD_SHARED_LIBS "Build shared libs" ON)
option(BUILD_STATIC_LIBS "Build static libs" OFF)

57
externals/vcpkg/ports/libgd/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,57 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libgd/libgd
REF 2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e # gd-2.3.2
SHA512 c3f2db40f774b44e3fd3fbc743efe70916a71ecd948bf8cb4aeb8a9b9fefd9f17e02d82a9481bac6fcc3624f057b5a308925b4196fb612b65bb7304747d33ffa
HEAD_REF master
PATCHES
0001-fix-cmake.patch
no-write-source-dir.patch
intrin.patch
fix_msvc_build.patch
)
#delete CMake builtins modules
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/CMakeParseArguments.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindFreetype.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindJPEG.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindPackageHandleStandardArgs.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindPNG.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindWEBP.cmake")
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
png ENABLE_PNG
jpeg ENABLE_JPEG
tiff ENABLE_TIFF
freetype ENABLE_FREETYPE
webp ENABLE_WEBP
fontconfig ENABLE_FONTCONFIG
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(LIBGD_SHARED_LIBS ON)
set(LIBGD_STATIC_LIBS OFF)
else()
set(LIBGD_SHARED_LIBS OFF)
set(LIBGD_STATIC_LIBS ON)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DLIBGD_SHARED_LIBS=${LIBGD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=${LIBGD_STATIC_LIBS}
-DBUILD_TEST=OFF
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_fixup_pkgconfig()

59
externals/vcpkg/ports/libgd/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,59 @@
{
"name": "libgd",
"version-semver": "2.3.2",
"port-version": 1,
"description": "Open source code library for the dynamic creation of images by programmers.",
"homepage": "https://github.com/libgd/libgd",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
],
"default-features": [
"fontconfig",
"freetype",
"jpeg",
"png",
"tiff",
"webp"
],
"features": {
"fontconfig": {
"description": "Support for fontconfig",
"dependencies": [
"fontconfig"
]
},
"freetype": {
"description": "Support for freetype",
"dependencies": [
"freetype"
]
},
"jpeg": {
"description": "Support for jpeg",
"dependencies": [
"libjpeg-turbo"
]
},
"png": {
"description": "Support for png",
"dependencies": [
"libpng"
]
},
"tiff": {
"description": "Support for tiff",
"dependencies": [
"tiff"
]
},
"webp": {
"description": "Support for webp",
"dependencies": [
"libwebp"
]
}
}
}