Skip to content

Commit

Permalink
[OpenJPEG] Update to 2.5.0 (#24734)
Browse files Browse the repository at this point in the history
* update openjpeg

* update openjpeg

* add arm patch and license

* reduce to version

* update db

* fix fastcgi to always use make

* remove from baseline

* openjpeg add tools feature

* vdb

* add supports statement. fastcgi uses stuff which only is allowed in desktop apps.

* format manfiest

* ver db

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
  • Loading branch information
Neumann-A and BillyONeal committed May 19, 2022
1 parent 12b018e commit 8da5d2b
Show file tree
Hide file tree
Showing 15 changed files with 274 additions and 141 deletions.
109 changes: 109 additions & 0 deletions ports/fastcgi/dll.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
diff --git a/include/fcgi_stdio.h b/include/fcgi_stdio.h
index 6d242f36f..ec57131ce 100644
--- a/include/fcgi_stdio.h
+++ b/include/fcgi_stdio.h
@@ -23,14 +23,6 @@
extern "C" {
#endif

-#ifndef DLLAPI
-#if defined (_WIN32) && defined (_MSC_VER)
-#define DLLAPI __declspec(dllimport)
-#else
-#define DLLAPI
-#endif
-#endif
-
/*
* Wrapper type for FILE
*/
diff --git a/include/fcgiapp.h b/include/fcgiapp.h
index 8cadde16d..9b034def3 100644
--- a/include/fcgiapp.h
+++ b/include/fcgiapp.h
@@ -23,11 +23,19 @@
#endif

#ifndef DLLAPI
-#if defined (_WIN32) && defined (_MSC_VER)
-#define DLLAPI __declspec(dllimport)
-#else
-#define DLLAPI
-#endif
+# if defined (_WIN32) && defined (_MSC_VER)
+# if defined(DLL_EXPORT) && defined(LIBFCGI_BUILD)
+# define DLLAPI __declspec(dllexport)
+# else
+# ifdef LIBFCGI_DLL_IMPORT
+# define DLLAPI extern __declspec(dllimport)
+# else
+# define DLLAPI
+# endif
+# endif
+# else
+# define DLLAPI
+# endif
#endif

#if defined (c_plusplus) || defined (__cplusplus)
diff --git a/include/fcgio.h b/include/fcgio.h
index ce8b930a8..81981974a 100644
--- a/include/fcgio.h
+++ b/include/fcgio.h
@@ -34,14 +34,6 @@

#include "fcgiapp.h"

-#ifndef DLLAPI
-#if defined (_WIN32) && defined (_MSC_VER)
-#define DLLAPI __declspec(dllimport)
-#else
-#define DLLAPI
-#endif
-#endif
-
#if ! HAVE_STREAMBUF_CHAR_TYPE
typedef char char_type;
#endif
diff --git a/include/fcgios.h b/include/fcgios.h
index 206973137..7a2f5333a 100644
--- a/include/fcgios.h
+++ b/include/fcgios.h
@@ -50,11 +50,19 @@ extern "C" {
#endif /* !_WIN32 */

#ifndef DLLAPI
-#if defined (_WIN32) && defined (_MSC_VER)
-#define DLLAPI __declspec(dllimport)
-#else
-#define DLLAPI
-#endif
+# if defined (_WIN32) && defined (_MSC_VER)
+# if defined(DLL_EXPORT) && defined(LIBFCGI_BUILD)
+# define DLLAPI __declspec(dllexport)
+# else
+# ifdef LIBFCGI_DLL_IMPORT
+# define DLLAPI extern __declspec(dllimport)
+# else
+# define DLLAPI
+# endif
+# endif
+# else
+# define DLLAPI
+# endif
#endif


diff --git a/libfcgi/Makefile.am b/libfcgi/Makefile.am
index 42d507253..26f06f550 100644
--- a/libfcgi/Makefile.am
+++ b/libfcgi/Makefile.am
@@ -1,7 +1,7 @@
# $Id: Makefile.am,v 1.9 2001/12/22 03:16:20 robs Exp $

INCLUDEDIR = ../include
-AM_CPPFLAGS = -I$(top_srcdir)/include -W -Wall -pedantic -Wno-unused-parameter
+AM_CPPFLAGS = -I$(top_srcdir)/include -DLIBFCGI_BUILD

INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \
$(INCLUDEDIR)/fcgiapp.h \
84 changes: 29 additions & 55 deletions ports/fastcgi/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,70 +4,44 @@ vcpkg_from_github(
REF fc8c6547ae38faf9926205a23075c47fbd4370c8
SHA512 7f27b1060fbeaf0de9b8a43aa4ff954a004c49e99f7d6ea11119a438fcffe575fb469ba06262e71ac8132f92e74189e2097fd049595a6a61d4d5a5bac2733f7a
HEAD_REF master
PATCHES
dll.patch
)

if (VCPKG_TARGET_IS_WINDOWS)
# Check build system first
find_program(NMAKE nmake REQUIRED)

list(APPEND NMAKE_OPTIONS_REL
CFG=release
)

list(APPEND NMAKE_OPTIONS_DBG
CFG=debug
)
# Check build system first
if(VCPKG_TARGET_IS_OSX)
message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n\nIt can be installed with brew install gettext automake libtool")
elseif(NOT VCPKG_TARGET_IS_WINDOWS)
message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n libtool-bin\n\nIt can be installed with apt-get install gettext automake libtool libtool-bin")
endif()

file(RENAME "${SOURCE_PATH}/include/fcgi_config_x86.h" "${SOURCE_PATH}/include/fcgi_config.h")
vcpkg_build_nmake(
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
PROJECT_SUBPATH libfcgi
PROJECT_NAME libfcgi.mak
OPTIONS_RELEASE
"${NMAKE_OPTIONS_REL}"
OPTIONS_DEBUG
"${NMAKE_OPTIONS_DBG}"
)

if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME ${PORT})
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libfcgi/Release/libfcgi.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
if (NOT VCPKG_CRT_LINKAGE STREQUAL static)
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libfcgi/Release/libfcgi.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
endif()
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libfcgi/Debug/libfcgi.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
if (NOT VCPKG_CRT_LINKAGE STREQUAL static)
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libfcgi/Debug/libfcgi.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
endif()
elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX
# Check build system first
if(VCPKG_TARGET_IS_OSX)
message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n\nIt can be installed with brew install gettext automake libtool")
else()
message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n libtool-bin\n\nIt can be installed with apt-get install gettext automake libtool libtool-bin")
endif()
AUTOCONFIG
COPY_SOURCE
OPTIONS
--disable-examples
)

vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
AUTOCONFIG
COPY_SOURCE
)
vcpkg_install_make()

vcpkg_install_make()
# switch ${PORT} into /${PORT}
file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include2")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include")
file(RENAME "${CURRENT_PACKAGES_DIR}/include2" "${CURRENT_PACKAGES_DIR}/include/${PORT}")

# switch ${PORT} into /${PORT}
file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include2")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include")
file(RENAME "${CURRENT_PACKAGES_DIR}/include2" "${CURRENT_PACKAGES_DIR}/include/${PORT}")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
vcpkg_fixup_pkgconfig()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fcgi.pc" "Version: 2.4.2\n" "Version: 2.4.2\nCflags: -I\"\${prefix}/include/fastcgi\"\n")
if(NOT VCPKG_BUILD_TYPE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fcgi.pc" "Version: 2.4.2\n" "Version: 2.4.2\nCflags: -I\"\${prefix}/../include/fastcgi\"\n")
endif()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
vcpkg_fixup_pkgconfig()
else() # Other build system
message(FATAL_ERROR "fastcgi only supports Windows, Linux, and MacOS.")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/fcgiapp.h" "ifdef LIBFCGI_DLL_IMPORT" "if 1")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/fcgios.h" "ifdef LIBFCGI_DLL_IMPORT" "if 1")
endif()
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}")

# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE.TERMS" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
5 changes: 3 additions & 2 deletions ports/fastcgi/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"name": "fastcgi",
"version-date": "2020-09-11",
"port-version": 4,
"port-version": 5,
"description": "The FastCGI interface combines the best aspects of CGI and vendor APIs. Like CGI, FastCGI applications run in separate, isolated processes.",
"homepage": "https://fastcgi-archives.github.io/",
"license": "OML"
"license": "OML",
"supports": "!uwp"
}
13 changes: 0 additions & 13 deletions ports/openjpeg/Enable-tools-of-each-features.patch

This file was deleted.

13 changes: 13 additions & 0 deletions ports/openjpeg/arm.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/src/lib/openjp2/ht_dec.c b/src/lib/openjp2/ht_dec.c
index 1eb4d525f..e2f3afd6a 100644
--- a/src/lib/openjp2/ht_dec.c
+++ b/src/lib/openjp2/ht_dec.c
@@ -69,7 +69,7 @@ static OPJ_BOOL only_cleanup_pass_is_decoded = OPJ_FALSE;
static INLINE
OPJ_UINT32 population_count(OPJ_UINT32 val)
{
-#ifdef OPJ_COMPILER_MSVC
+#if defined(OPJ_COMPILER_MSVC) && (defined(_M_IX86) || defined(_M_AMD64))
return (OPJ_UINT32)__popcnt(val);
#elif (defined OPJ_COMPILER_GNUC)
return (OPJ_UINT32)__builtin_popcount(val);
32 changes: 0 additions & 32 deletions ports/openjpeg/dll.location.patch

This file was deleted.

13 changes: 0 additions & 13 deletions ports/openjpeg/fix-lrintf-to-opj_lrintf.patch

This file was deleted.

59 changes: 59 additions & 0 deletions ports/openjpeg/fix-static.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt
index 4d4bd952f..e14b5a692 100644
--- a/src/bin/jp2/CMakeLists.txt
+++ b/src/bin/jp2/CMakeLists.txt
@@ -33,14 +33,6 @@ include_directories(
${TIFF_INCLUDE_DIRNAME}
)

-if(WIN32)
- if(BUILD_SHARED_LIBS)
- add_definitions(-DOPJ_EXPORTS)
- else()
- add_definitions(-DOPJ_STATIC)
- endif()
-endif()
-
# Loop over all executables:
foreach(exe opj_decompress opj_compress opj_dump)
add_executable(${exe} ${exe}.c ${common_SRCS})
diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt
index ea4131a3e..dc63f49dd 100644
--- a/src/lib/openjp2/CMakeLists.txt
+++ b/src/lib/openjp2/CMakeLists.txt
@@ -84,12 +84,12 @@ endif()

# Build the library
if(WIN32)
+ add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
if(BUILD_SHARED_LIBS)
add_definitions(-DOPJ_EXPORTS)
else()
- add_definitions(-DOPJ_STATIC)
+ target_compile_definitions(${OPENJPEG_LIBRARY_NAME} PUBLIC OPJ_STATIC)
endif()
- add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME})
else()
if(BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS)
diff --git a/src/lib/openjpip/CMakeLists.txt b/src/lib/openjpip/CMakeLists.txt
index b3cb8ce88..fc6a9dde3 100644
--- a/src/lib/openjpip/CMakeLists.txt
+++ b/src/lib/openjpip/CMakeLists.txt
@@ -52,14 +52,14 @@ set(LOCAL_SRCS
)

# Build the library
+add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS})
if(WIN32)
if(BUILD_SHARED_LIBS)
add_definitions(-DOPJ_EXPORTS)
else()
- add_definitions(-DOPJ_STATIC)
+ target_compile_definitions(openjpip PUBLIC OPJ_STATIC)
endif()
endif()
-add_library(openjpip ${OPENJPIP_SRCS} ${LOCAL_SRCS})
set_target_properties(openjpip
PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
10 changes: 10 additions & 0 deletions ports/openjpeg/no-wx.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt
index 292fe5a71..bcbe94160 100644
--- a/src/bin/CMakeLists.txt
+++ b/src/bin/CMakeLists.txt
@@ -9,4 +9,4 @@ if(BUILD_JPIP)
endif()

# wx apps:
-add_subdirectory(wx)
+# add_subdirectory(wx)
Loading

0 comments on commit 8da5d2b

Please sign in to comment.