Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
  • abdsaber000/vlc
  • falbrechtskirchinger/vlc
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
  • gremlinflat/vlc
  • Pratham24D/vlc
  • hmaarrfk/vlc
  • imxieyi/vlc
  • alexandru_babacea/vlc
  • jeromeb/vlc
  • kartix1504/vlc-project
  • aloisw/vlc
  • woodruffw/vlc
  • Shivam7/vlc
  • elmokh/vlc
  • AhmedHamed3699/vlc
  • eigenvoid/vlc
  • shocknovaa/vlc
  • r8420/vlc
  • BY01R/vlc-gsoc
  • jiez/vlc
  • lmlice/vlc
  • zsiec/vlc
  • devin.heitmueller/vlc
  • fuzun/vlc-flatpak-playground
  • matmaul/vlc
  • Astrom/vlc
431 results
Show changes
Commits on Source (21)
Showing with 208 additions and 110 deletions
......@@ -36,6 +36,7 @@ usage()
echo " (USE AT YOUR OWN LEGAL RISKS)"
echo " --disable-optim disable optimization in libraries"
echo " --enable-pdb generate debug information in PDB format"
echo " --enable-bitcode generate bitcode information"
}
BUILD=
......@@ -51,6 +52,7 @@ GNUV3="1"
AD_CLAUSES=
WITH_OPTIMIZATION="1"
ENABLE_PDB=
ENABLE_BITCODE=
while test -n "$1"
do
......@@ -83,6 +85,9 @@ do
--enable-pdb)
ENABLE_PDB=1
;;
--enable-bitcode)
ENABLE_BITCODE=1
;;
--enable-small)
ENABLE_SMALL=1
;;
......@@ -320,6 +325,10 @@ case "${OS}" in
then
add_make_enabled "HAVE_TVOS"
fi
if test "$ENABLE_BITCODE"
then
add_make_enabled "HAVE_BITCODE_ENABLED"
fi
;;
*bsd*)
add_make_enabled "HAVE_BSD"
......
......@@ -21,7 +21,7 @@ dav1d: dav1d-$(DAV1D_VERSION).tar.xz .sum-dav1d
$(MOVE)
.dav1d: dav1d crossfile.meson
cd $< && rm -rf ./build
cd $< && $(HOSTVARS_MESON) $(MESON) $(DAV1D_CONF) build
cd $< && cd build && ninja install
$(MESONCLEAN)
$(MESON) $(DAV1D_CONF)
+$(MESONBUILD)
touch $@
......@@ -18,7 +18,7 @@ fribidi: fribidi-$(FRIBIDI_VERSION).tar.xz .sum-fribidi
# FIXME: DEPS_fribidi = iconv $(DEPS_iconv)
.fribidi: fribidi crossfile.meson
cd $< && rm -rf ./build
cd $< && $(HOSTVARS_MESON) $(MESON) -Ddocs=false -Dbin=false -Dtests=false build
cd $< && cd build && ninja install
$(MESONCLEAN)
$(MESON) -Ddocs=false -Dbin=false -Dtests=false
+$(MESONBUILD)
touch $@
......@@ -28,6 +28,9 @@ args.file.write("# Automatically generated by contrib makefile\n")
args.file.write("\n[binaries]\n")
_add_environ_val('c', 'CC')
_add_environ_val('cpp', 'CXX')
if os.environ.get('HOST_SYSTEM') == 'darwin':
_add_environ_val('objc', 'OBJC')
_add_environ_val('objcpp', 'OBJCXX')
_add_environ_val('ar', 'AR')
_add_environ_val('strip', 'STRIP')
_add_environ_val('pkgconfig', 'PKG_CONFIG')
......@@ -36,10 +39,7 @@ _add_environ_val('windres', 'WINDRES')
# Properties section
args.file.write("\n[properties]\n")
args.file.write("needs_exe_wrapper = true\n")
_add_environ_arr('c_args', 'CFLAGS')
_add_environ_arr('c_link_args', 'LDFLAGS')
_add_environ_arr('cpp_args', 'CXXFLAGS')
_add_environ_arr('cpp_link_args', 'LDFLAGS')
_add_environ_val('pkg_config_libdir', 'PKG_CONFIG_LIBDIR')
# Host machine section
args.file.write("\n[host_machine]\n")
......
......@@ -32,7 +32,7 @@ HARFBUZZ_CONF += -Dcoretext=enabled
endif
.harfbuzz: harfbuzz crossfile.meson
cd $< && rm -rf ./build
cd $< && $(HOSTVARS_MESON) $(MESON) $(HARFBUZZ_CONF) build
cd $< && cd build && ninja install
$(MESONCLEAN)
$(MESON) $(HARFBUZZ_CONF)
+$(MESONBUILD)
touch $@
......@@ -27,7 +27,7 @@ DEPS_libdsm += pthreads $(DEPS_pthreads)
endif
.libdsm: libdsm crossfile.meson
cd $< && rm -rf ./build
cd $< && $(HOSTVARS_MESON) $(MESON) -Dauto_features=disabled -Dbinaries=false build
cd $< && cd build && ninja install
$(MESONCLEAN)
$(MESON) -Dauto_features=disabled -Dbinaries=false
+$(MESONBUILD)
touch $@
......@@ -296,12 +296,6 @@ HOSTTOOLS := \
PATH="$(PREFIX)/bin:$(PATH)" \
PKG_CONFIG="$(PKG_CONFIG)"
HOSTVARS_MESON := $(HOSTTOOLS) \
CPPFLAGS="$(CPPFLAGS)" \
CFLAGS="$(CFLAGS)" \
CXXFLAGS="$(CXXFLAGS)" \
LDFLAGS="$(LDFLAGS)"
# Add these flags after Meson consumed the CFLAGS/CXXFLAGS
# as when setting those for Meson, it would apply to tests
# and cause the check if symbols have underscore prefix to
......@@ -314,6 +308,11 @@ CFLAGS := $(CFLAGS) -g -O2
CXXFLAGS := $(CXXFLAGS) -g -O2
endif
ifdef HAVE_BITCODE_ENABLED
CFLAGS := $(CFLAGS) -fembed-bitcode
CXXFLAGS := $(CXXFLAGS) -fembed-bitcode
endif
ifdef ENABLE_PDB
ifdef HAVE_CLANG
ifneq ($(findstring $(ARCH),i686 x86_64),)
......@@ -425,13 +424,20 @@ ifeq ($(findstring mingw32,$(BUILD)),mingw32)
CMAKE += -DCMAKE_LINK_LIBRARY_SUFFIX:STRING=.a
endif
MESONFLAGS = --default-library static --prefix "$(PREFIX)" --backend ninja \
-Dlibdir=lib
MESONFLAGS = $</build $< --default-library static --prefix "$(PREFIX)" \
--backend ninja -Dlibdir=lib
ifndef WITH_OPTIMIZATION
MESONFLAGS += --buildtype debug
else
MESONFLAGS += --buildtype debugoptimized
endif
ifdef HAVE_BITCODE_ENABLED
MESONFLAGS += -Db_bitcode=true
endif
MESONFLAGS += -Dc_args="$(CFLAGS)" -Dc_link_args="$(LDFLAGS)" -Dcpp_args="$(CXXFLAGS)" -Dcpp_link_args="$(LDFLAGS)"
ifdef HAVE_DARWIN_OS
MESONFLAGS += -Dobjc_args="$(CFLAGS)" -Dobjc_link_args="$(LDFLAGS)" -Dobjcpp_args="$(CXXFLAGS)" -Dobjcpp_link_args="$(LDFLAGS)"
endif
ifdef HAVE_CROSS_COMPILE
# When cross-compiling meson uses the env vars like
......@@ -446,10 +452,15 @@ ifdef HAVE_CROSS_COMPILE
# expected.
MESONFLAGS += --cross-file $(abspath crossfile.meson)
MESON = env -i PATH="$(PREFIX)/bin:$(PATH)" PKG_CONFIG_LIBDIR="$(PKG_CONFIG_LIBDIR)" \
PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" meson $(MESONFLAGS)
PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" \
meson -Dpkg_config_path="$(PKG_CONFIG_PATH)" \
$(MESONFLAGS)
else
MESON = meson $(MESONFLAGS)
MESON = $(HOSTTOOLS) meson setup $(MESONFLAGS)
endif
MESONCLEAN = rm -rf $</build
MESONBUILD = meson compile -C $</build $(MESON_BUILD) && meson install -C $</build
ifeq ($(V),1)
CMAKE += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
......@@ -647,7 +658,7 @@ endif
crossfile.meson: $(SRC)/gen-meson-crossfile.py
$(HOSTVARS_MESON) \
$(HOSTTOOLS) \
WINDRES="$(WINDRES)" \
PKG_CONFIG="$(PKG_CONFIG)" \
HOST_SYSTEM="$(MESON_SYSTEM_NAME)" \
......
......@@ -22,7 +22,7 @@ microdns: microdns-$(LIBMICRODNS_VERSION).tar.xz .sum-microdns
$(MOVE)
.microdns: microdns crossfile.meson
cd $< && rm -rf ./build
cd $< && $(HOSTVARS_MESON) $(MESON) -Dauto_features=disabled build
cd $< && cd build && ninja install
$(MESONCLEAN)
$(MESON) -Dauto_features=disabled
+$(MESONBUILD)
touch $@
From 4d0144a9cc4efa195ae3e7f6b99b2daa9ad47b54 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Fri, 3 Feb 2023 17:27:48 +0530
Subject: [PATCH] Fix usage of pthread_jit_write_protect_np() on macOS and iOS
The API is not available on iOS at all, and is only available on macOS
starting from macOS 11, as can be seen in `pthread/pthread.h` in the
Xcode SDK:
```
__API_AVAILABLE(macos(11.0))
__API_UNAVAILABLE(ios, tvos, watchos, driverkit)
void pthread_jit_write_protect_np(int enabled);
__API_AVAILABLE(macos(11.0))
__API_UNAVAILABLE(ios, tvos, watchos, driverkit)
int pthread_jit_write_protect_supported_np(void);
```
The configuration check for this is actually wrong. We should detect
availability of the API at compile time and use it conditionally at
runtime. The code now checks the following cases:
1. Are we building for macOS?
2. Do we have a new-enough SDK that defines MAC_OS_VERSION_11_0 and
hence has pthread_jit_write_* available?
3. Is the maximum macOS version allowed at least macOS 11.0, so we
have a possibility of using this API at runtime?
4. Are we running on macOS 11.0 or newer?
Also: we need to ensure that pthread_jit_write_protect_supported_np()
actually returns true before using the API, because if you're shipping
an app, you need to set `com.apple.security.cs.allow-jit` in your app
otherwise the API won't work if you've opted in to Hardened Runtime.
See: https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon
Fixes https://gitlab.freedesktop.org/gstreamer/orc/-/issues/44
---
meson.build | 8 --------
orc/orccompiler.c | 26 ++++++++++++++++----------
2 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/meson.build b/meson.build
index ef636d0..b1901d3 100644
--- a/meson.build
+++ b/meson.build
@@ -130,14 +130,6 @@ cdata.set('HAVE_MONOTONIC_CLOCK', cc.compiles(monotonic_test))
cdata.set('HAVE_GETTIMEOFDAY', cc.has_function('gettimeofday'))
cdata.set('HAVE_POSIX_MEMALIGN', cc.has_function('posix_memalign', prefix : '#include <stdlib.h>'))
cdata.set('HAVE_MMAP', cc.has_function('mmap'))
-
-# pthread_jit_write_protect_np() is available but unusable on iOS simulator
-if host_os == 'ios' and cpu_family == 'x86_64'
- cdata.set('HAVE_PTHREAD_JIT', false)
-else
- cdata.set('HAVE_PTHREAD_JIT', cc.has_function('pthread_jit_write_protect_np'))
-endif
-
cdata.set('HAVE_SYS_TIME_H', cc.has_header('sys/time.h'))
cdata.set('HAVE_UNISTD_H', cc.has_header('unistd.h'))
cdata.set('HAVE_VALGRIND_VALGRIND_H', cc.has_header('valgrind/valgrind.h'))
diff --git a/orc/orccompiler.c b/orc/orccompiler.c
index a391e86..19bec9e 100644
--- a/orc/orccompiler.c
+++ b/orc/orccompiler.c
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <stdarg.h>
-#if defined(HAVE_PTHREAD_JIT)
+#ifdef __APPLE__
#include <pthread.h>
#endif
@@ -64,6 +64,17 @@ int _orc_compiler_flag_randomize;
/* For Windows */
int _orc_codemem_alignment;
+#if defined(MAC_OS_VERSION_11_0) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
+G_ALWAYS_INLINE
+static void
+orc_pthread_jit_write_protect_np (int protect)
+{
+ if (__builtin_available (macOS 10.11, *))
+ if (pthread_jit_write_protect_supported_np ())
+ pthread_jit_write_protect_np (protect);
+}
+#endif
+
void
_orc_compiler_init (void)
{
@@ -126,11 +137,6 @@ _orc_compiler_init (void)
}
}
#endif
-
-#if defined(HAVE_PTHREAD_JIT)
- ORC_INFO("pthread_jit_write_protect_supported_np() = %i",
- pthread_jit_write_protect_supported_np());
-#endif
}
int
@@ -456,8 +462,8 @@ orc_program_compile_full (OrcProgram *program, OrcTarget *target,
program->orccode->code_size = compiler->codeptr - compiler->code;
orc_code_allocate_codemem (program->orccode, program->orccode->code_size);
-#if defined(HAVE_PTHREAD_JIT)
- pthread_jit_write_protect_np(0);
+#if defined(MAC_OS_VERSION_11_0) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
+ orc_pthread_jit_write_protect_np (0);
#endif
#if defined(HAVE_CODEMEM_VIRTUALALLOC)
/* Ensure that code region is writable before memcpy */
@@ -475,8 +481,8 @@ orc_program_compile_full (OrcProgram *program, OrcTarget *target,
compiler->target->flush_cache (program->orccode);
}
-#if defined(HAVE_PTHREAD_JIT)
- pthread_jit_write_protect_np(1);
+#if defined(MAC_OS_VERSION_11_0) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
+ orc_pthread_jit_write_protect_np (1);
#endif
#if defined(HAVE_CODEMEM_VIRTUALALLOC)
/* Code region is now ready for execution */
--
2.45.0.windows.1
75f06d603f71077daa952533b33597fb2bce573647ed75496d55e436485b3c58cd6a43865e931c4def32217b0969bb4c07ef222845c28e9e711bfba80d0d9a21 orc-0.4.18.tar.gz
e8981908f37a77a2638c3461622a8e5ed8b583a3067c525de0737eb951a57d8a6f22f8930c31e0c16dae5bc94f98a79c1aba976b35e58f5d59b33d5a1d721e68 orc-0.4.33.tar.bz2
# orc
ORC_VERSION := 0.4.18
ORC_URL := $(CONTRIB_VIDEOLAN)/orc/orc-$(ORC_VERSION).tar.gz
ORC_VERSION := 0.4.33
ORC_URL := https://gitlab.freedesktop.org/gstreamer/orc/-/archive/$(ORC_VERSION)/orc-$(ORC_VERSION).tar.bz2
ifeq ($(call need_pkg,"orc-0.4"),)
PKGS_FOUND += orc
endif
$(TARBALLS)/orc-$(ORC_VERSION).tar.gz:
$(TARBALLS)/orc-$(ORC_VERSION).tar.bz2:
$(call download_pkg,$(ORC_URL),orc)
.sum-orc: orc-$(ORC_VERSION).tar.gz
.sum-orc: orc-$(ORC_VERSION).tar.bz2
orc: orc-$(ORC_VERSION).tar.gz .sum-orc
orc: orc-$(ORC_VERSION).tar.bz2 .sum-orc
$(UNPACK)
$(APPLY) $(SRC)/orc/use-proper-func-detection.patch
$(UPDATE_AUTOCONFIG)
$(APPLY) $(SRC)/orc/0001-Fix-usage-of-pthread_jit_write_protect_np-on-macOS-a.patch
# replace FORMAT_MESSAGE_ALLOCATE_BUFFER which may not be available in older mingw-w64 UWP
sed -i.orig -e s/FORMAT_MESSAGE_ALLOCATE_BUFFER/0x00000100/g $(UNPACK_DIR)/orc/orccompiler.c
$(MOVE)
ORC_CONF := -Dauto_features=disabled
.orc: orc
cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
cd $< && $(MAKE) install
$(MESONCLEAN)
$(MESON) $(ORC_CONF)
+$(MESONBUILD)
touch $@
--- orc/configure.ac.orig 2016-06-20 13:07:27.584543779 +0000
+++ orc/configure.ac 2016-06-20 13:14:21.920651349 +0000
@@ -90,20 +90,7 @@
AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="-Werror")
fi
-case "${host_os}" in
- nobody_is_using_this_currently)
- AC_DEFINE(HAVE_CODEMEM_MALLOC, 1, [Use malloc to allocate code for execution])
- ;;
- mingw*|pw32*|cygwin*)
- AC_DEFINE(HAVE_CODEMEM_VIRTUALALLOC, 1, [Use VirtualAlloc to allocate code for execution])
- ;;
- linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
- AC_DEFINE(HAVE_CODEMEM_MMAP, 1, [Use mmap to allocate code for execution])
- ;;
- *)
- AC_ERROR([no code allocation backend])
- ;;
-esac
+AC_CHECK_FUNCS([VirtualAlloc mmap])
case "${host_os}" in
mingw*|pw32*|cygwin*)
--- orc/orc/orccodemem.c.orig 2016-06-20 16:43:22.126619599 +0200
+++ orc/orc/orccodemem.c 2016-06-20 16:45:03.370771546 +0200
@@ -11,10 +11,10 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#ifdef HAVE_CODEMEM_MMAP
+#ifdef HAVE_MMAP
#include <sys/mman.h>
#endif
-#ifdef HAVE_CODEMEM_VIRTUALALLOC
+#ifdef HAVE_VIRTUALALLOC
#include <windows.h>
#endif
@@ -190,7 +190,7 @@
}
}
-#ifdef HAVE_CODEMEM_MMAP
+#ifdef HAVE_MMAP
int
orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
const char *dir, int force_unlink)
@@ -285,9 +285,7 @@
"and $TMPDIR and $HOME are mounted noexec (bad).");
}
-#endif
-
-#ifdef HAVE_CODEMEM_VIRTUALALLOC
+#elif defined(HAVE_VIRTUALALLOC)
void
orc_code_region_allocate_codemem (OrcCodeRegion *region)
{
@@ -295,9 +293,7 @@
region->exec_ptr = region->write_ptr;
region->size = SIZE;
}
-#endif
-
-#ifdef HAVE_CODEMEM_MALLOC
+#else
void
orc_code_region_allocate_codemem (OrcCodeRegion *region)
{
......@@ -16,6 +16,8 @@ $(TARBALLS)/schroedinger-$(SCHROEDINGER_VERSION).tar.gz:
schroedinger: schroedinger-$(SCHROEDINGER_VERSION).tar.gz .sum-schroedinger
$(UNPACK)
$(APPLY) $(SRC)/schroedinger/schroedinger-notests.patch
# disable orc compilation, the old compiler matches what was used to precompile
$(APPLY) $(SRC)/schroedinger/schroedinger-disable-orcc.patch
$(call pkg_static,"schroedinger.pc.in")
$(MOVE)
......
--- schroedinger/configure.ac.orig 2024-05-24 11:11:32.059775800 +0200
+++ schroedinger/configure.ac 2024-05-24 11:11:46.999404400 +0200
@@ -56,7 +56,7 @@ fi
SCHRO_PKG_DEPS="$SCHRO_PKG_DEPS orc-0.4 >= $ORC_VER"
ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
AC_SUBST(ORCC)
-AM_CONDITIONAL(HAVE_ORCC, test "x$cross_compiling" != xyes)
+AM_CONDITIONAL(HAVE_ORCC, test "x$cross_compiling" = none)
AC_ARG_WITH([thread],
AS_HELP_STRING([--with-thread=IMPL],[use threading library {auto,pthread,gthread,win32,none} [[default=auto]]]),