early-access version 2853
This commit is contained in:
108
externals/vcpkg/ports/pixman/no-host-cpu-checks.patch
vendored
Executable file
108
externals/vcpkg/ports/pixman/no-host-cpu-checks.patch
vendored
Executable file
@@ -0,0 +1,108 @@
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 1cec227..1b07ca8 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -95,44 +95,7 @@ else
|
||||
mmx_flags = ['-mmmx', '-Winline']
|
||||
endif
|
||||
if not use_mmx.disabled()
|
||||
- if host_machine.cpu_family() == 'x86_64' or cc.get_id() == 'msvc'
|
||||
- have_mmx = true
|
||||
- elif host_machine.cpu_family() == 'x86' and cc.compiles('''
|
||||
- #include <mmintrin.h>
|
||||
- #include <stdint.h>
|
||||
-
|
||||
- /* Check support for block expressions */
|
||||
- #define _mm_shuffle_pi16(A, N) \
|
||||
- ({ \
|
||||
- __m64 ret; \
|
||||
- \
|
||||
- /* Some versions of clang will choke on K */ \
|
||||
- asm ("pshufw %2, %1, %0\n\t" \
|
||||
- : "=y" (ret) \
|
||||
- : "y" (A), "K" ((const int8_t)N) \
|
||||
- ); \
|
||||
- \
|
||||
- ret; \
|
||||
- })
|
||||
-
|
||||
- int main () {
|
||||
- __m64 v = _mm_cvtsi32_si64 (1);
|
||||
- __m64 w;
|
||||
-
|
||||
- w = _mm_shuffle_pi16(v, 5);
|
||||
-
|
||||
- /* Some versions of clang will choke on this */
|
||||
- asm ("pmulhuw %1, %0\n\t"
|
||||
- : "+y" (w)
|
||||
- : "y" (v)
|
||||
- );
|
||||
-
|
||||
- return _mm_cvtsi64_si32 (v);
|
||||
- }''',
|
||||
- args : mmx_flags,
|
||||
- name : 'MMX Intrinsic Support')
|
||||
- have_mmx = true
|
||||
- endif
|
||||
+ have_mmx = true
|
||||
endif
|
||||
|
||||
if have_mmx
|
||||
@@ -154,29 +117,7 @@ elif cc.get_id() != 'msvc'
|
||||
sse2_flags = ['-msse2', '-Winline']
|
||||
endif
|
||||
if not use_sse2.disabled()
|
||||
- if host_machine.cpu_family() == 'x86'
|
||||
- if cc.compiles('''
|
||||
- #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2))
|
||||
- # if !defined(__amd64__) && !defined(__x86_64__)
|
||||
- # error "Need GCC >= 4.2 for SSE2 intrinsics on x86"
|
||||
- # endif
|
||||
- #endif
|
||||
- #include <mmintrin.h>
|
||||
- #include <xmmintrin.h>
|
||||
- #include <emmintrin.h>
|
||||
- int param;
|
||||
- int main () {
|
||||
- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c;
|
||||
- c = _mm_xor_si128 (a, b);
|
||||
- return _mm_cvtsi128_si32(c);
|
||||
- }''',
|
||||
- args : sse2_flags,
|
||||
- name : 'SSE2 Intrinsic Support')
|
||||
- have_sse2 = true
|
||||
- endif
|
||||
- elif host_machine.cpu_family() == 'x86_64'
|
||||
- have_sse2 = true
|
||||
- endif
|
||||
+ have_sse2 = true
|
||||
endif
|
||||
|
||||
if have_sse2
|
||||
@@ -192,24 +133,8 @@ if cc.get_id() != 'msvc'
|
||||
ssse3_flags = ['-mssse3', '-Winline']
|
||||
endif
|
||||
|
||||
-# x64 pre-2010 MSVC compilers crashes when building the ssse3 code
|
||||
-if not use_ssse3.disabled() and not (cc.get_id() == 'msvc' and cc.version().version_compare('<16') and host_machine.cpu_family() == 'x86_64')
|
||||
- if host_machine.cpu_family().startswith('x86')
|
||||
- if cc.compiles('''
|
||||
- #include <mmintrin.h>
|
||||
- #include <xmmintrin.h>
|
||||
- #include <emmintrin.h>
|
||||
- int param;
|
||||
- int main () {
|
||||
- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c;
|
||||
- c = _mm_xor_si128 (a, b);
|
||||
- return _mm_cvtsi128_si32(c);
|
||||
- }''',
|
||||
- args : ssse3_flags,
|
||||
- name : 'SSSE3 Intrinsic Support')
|
||||
- have_ssse3 = true
|
||||
- endif
|
||||
- endif
|
||||
+if use_ssse3.enabled()
|
||||
+ have_ssse3 = true
|
||||
endif
|
||||
|
||||
if have_ssse3
|
||||
59
externals/vcpkg/ports/pixman/portfile.cmake
vendored
Executable file
59
externals/vcpkg/ports/pixman/portfile.cmake
vendored
Executable file
@@ -0,0 +1,59 @@
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
list(APPEND OPTIONS
|
||||
-Dmmx=disabled
|
||||
-Dsse2=disabled
|
||||
-Dssse3=disabled)
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}")
|
||||
set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}")
|
||||
list(APPEND OPTIONS
|
||||
-Dmmx=enabled
|
||||
-Dsse2=enabled
|
||||
-Dssse3=enabled)
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
#x64 in general has all those intrinsics. (except for UWP for some reason)
|
||||
list(APPEND OPTIONS
|
||||
-Dmmx=enabled
|
||||
-Dsse2=enabled
|
||||
-Dssse3=enabled)
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
|
||||
list(APPEND OPTIONS
|
||||
#-Darm-simd=enabled does not work with arm64-windows
|
||||
-Dmmx=disabled
|
||||
-Dsse2=disabled
|
||||
-Dssse3=disabled
|
||||
)
|
||||
endif()
|
||||
|
||||
set(PIXMAN_VERSION 0.40.0)
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz"
|
||||
FILENAME "pixman-${PIXMAN_VERSION}.tar.gz"
|
||||
SHA512 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f
|
||||
)
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF ${PIXMAN_VERSION}
|
||||
PATCHES
|
||||
remove_test_demos.patch
|
||||
no-host-cpu-checks.patch
|
||||
)
|
||||
# Meson install wrongly pkgconfig file!
|
||||
vcpkg_configure_meson(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS ${OPTIONS}
|
||||
-Dlibpng=enabled
|
||||
)
|
||||
vcpkg_install_meson()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
# # Handle copyright
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
15
externals/vcpkg/ports/pixman/remove_test_demos.patch
vendored
Executable file
15
externals/vcpkg/ports/pixman/remove_test_demos.patch
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 1cec22728..fa6199ed0 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -528,8 +528,8 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2])
|
||||
add_project_arguments('-DHAVE_CONFIG_H', language : ['c'])
|
||||
|
||||
subdir('pixman')
|
||||
-subdir('test')
|
||||
-subdir('demos')
|
||||
+# subdir('test')
|
||||
+# subdir('demos')
|
||||
|
||||
pkg = import('pkgconfig')
|
||||
pkg.generate(
|
||||
15
externals/vcpkg/ports/pixman/vcpkg.json
vendored
Executable file
15
externals/vcpkg/ports/pixman/vcpkg.json
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "pixman",
|
||||
"version": "0.40.0",
|
||||
"port-version": 2,
|
||||
"description": "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.",
|
||||
"homepage": "https://www.cairographics.org/releases",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
"libpng",
|
||||
{
|
||||
"name": "vcpkg-tool-meson",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user