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
403 results
Show changes
Commits on Source (24)
Showing
with 33 additions and 284 deletions
......@@ -27,13 +27,9 @@ ifdef HAVE_ANDROID
cp $(ANDROID_NDK)/sources/android/cpufeatures/cpu-features.c $(ANDROID_NDK)/sources/android/cpufeatures/cpu-features.h aom/aom_ports/
endif
AOM_CFLAGS := $(CFLAGS)
AOM_CXXFLAGS := $(CXXFLAGS)
DEPS_aom =
ifdef HAVE_WIN32
DEPS_aom += pthreads $(DEPS_pthreads)
AOM_CFLAGS += -DPTW32_STATIC_LIB
AOM_CXXFLAGS += -DPTW32_STATIC_LIB
endif
AOM_LDFLAGS := $(LDFLAGS)
......@@ -97,7 +93,7 @@ endif
rm -rf $(PREFIX)/include/aom
cd $< && rm -rf aom_build && mkdir -p aom_build
cd $< && mkdir -p aom_build
cd $</aom_build && LDFLAGS="$(AOM_LDFLAGS)" $(HOSTVARS) CFLAGS="$(AOM_CFLAGS)" CXXFLAGS="$(AOM_CXXFLAGS)" $(CMAKE) ../ $(AOM_CONF)
cd $</aom_build && LDFLAGS="$(AOM_LDFLAGS)" $(HOSTVARS) $(CMAKE) ../ $(AOM_CONF)
cd $< && $(CMAKEBUILD) aom_build
$(call pkg_static,"aom_build/aom.pc")
cd $</aom_build && $(CMAKEBUILD) . --target install
......
......@@ -60,18 +60,19 @@ index d7a3f507e8..589338f59b 100755
check_lib ole32 "windows.h" CoTaskMemFree -lole32
check_lib shell32 "windows.h shellapi.h" CommandLineToArgvW -lshell32
diff --git a/libavformat/udp.c b/libavformat/udp.c
index 9b9d3de197..c5ebee9fdf 100644
index 9b9d3de197..2c881a30ca 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -1089,7 +1089,7 @@ static int udp_close(URLContext *h)
int ret;
// Cancel only read, as write has been signaled as success to the user
if (h->flags & AVIO_FLAG_READ) {
-#ifdef _WIN32
+#if defined(_WIN32) && HAVE_W32THREADS
/* recvfrom() is not a cancellation point for win32, so we shutdown
* the socket and abort pending IO, subsequent recvfrom() calls
* will fail with WSAESHUTDOWN causing the thread to exit. */
@@ -64,6 +64,9 @@
#if HAVE_W32THREADS
#undef HAVE_PTHREAD_CANCEL
#define HAVE_PTHREAD_CANCEL 1
+#elif defined(_WIN32_WINNT) && _WIN32_WINNT < 0x600
+#undef HAVE_PTHREAD_CANCEL // disable UDP threading as CancelIOEx is not on XP
+#define HAVE_PTHREAD_CANCEL 0
#endif
#if HAVE_PTHREAD_CANCEL
--
2.27.0.windows.1
......@@ -175,7 +175,8 @@ ifndef HAVE_VISUALSTUDIO
DEPS_ffmpeg += d3d11
endif
FFMPEGCONF += --target-os=mingw32
FFMPEGCONF += --disable-w32threads --enable-pthreads --extra-libs="-lpthread" --extra-cflags="-DPTW32_STATIC_LIB"
FFMPEGCONF += --disable-w32threads --enable-pthreads --extra-libs="-lpthread"
DEPS_ffmpeg += pthreads $(DEPS_pthreads)
# disable modules not compatible with XP
FFMPEGCONF += --disable-mediafoundation --disable-amf --disable-schannel
ifndef HAVE_WINSTORE
......
......@@ -16,17 +16,12 @@ new file mode 100644
index 0000000..4c431cf
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,43 @@
@@ -0,0 +1,38 @@
+SRCS := colorspace.c common.c context.c dither.c dispatch.c filters.c ra.c renderer.c shaders.c \
+ shaders/colorspace.c shaders/sampling.c spirv.c bstr/bstr.c bstr/format.c 3rdparty/siphash.c \
+ ta/ta.c ta/ta_utils.c ta/talloc.c
+
+ifdef HAVE_WIN32
+CFLAGS += -DPTW32_STATIC_LIB
+lpthread_libs = -lpthreadGC2 -lws2_32
+else
+lpthread_libs = $(shell $(LD) -lpthread && echo "-lpthread" || echo "")
+endif
+
+OBJS = $(patsubst %.c, $(OBJDIR)src/%.o, $(SRCS))
+
......
......@@ -8,9 +8,6 @@ LIBPLACEBO_CFLAGS := $(CFLAGS)
LIBPLACEBO_CXXFLAGS := $(CXXFLAGS)
ifdef HAVE_WIN32
LIBPLACEBO_WIN32 = HAVE_WIN32=1
DEPS_libplacebo += pthreads $(DEPS_pthreads)
LIBPLACEBO_CFLAGS += -DPTW32_STATIC_LIB
LIBPLACEBO_CXXFLAGS += -DPTW32_STATIC_LIB
endif
PKGS += libplacebo
......
......@@ -9,13 +9,9 @@ ifeq ($(call need_pkg,"libmysofa"),)
PKGS_FOUND += mysofa
endif
MYSOFA_CFLAGS := $(CFLAGS)
MYSOFA_CXXFLAGS := $(CXXFLAGS)
DEPS_mysofa += zlib $(DEPS_zlib)
ifdef HAVE_WIN32
DEPS_mysofa += pthreads $(DEPS_pthreads)
MYSOFA_CFLAGS += -DPTW32_STATIC_LIB
MYSOFA_CXXFLAGS += -DPTW32_STATIC_LIB
endif
$(TARBALLS)/libmysofa-$(MYSOFA_VERSION).tar.gz:
......@@ -29,7 +25,7 @@ mysofa: libmysofa-$(MYSOFA_VERSION).tar.gz .sum-mysofa
.mysofa: mysofa toolchain.cmake
cd $< && rm -f CMakeCache.txt
cd $< && $(HOSTVARS) CFLAGS="$(MYSOFA_CFLAGS)" CXXFLAGS="$(MYSOFA_CXXFLAGS)" $(CMAKE) -DBUILD_TESTS=OFF
cd $< && $(HOSTVARS) $(CMAKE) -DBUILD_TESTS=OFF
cd $< && $(CMAKEBUILD) . --target install
touch $@
......@@ -3,12 +3,8 @@
OPENJPEG_VERSION := 2.3.0
OPENJPEG_URL := https://github.com/uclouvain/openjpeg/archive/v$(OPENJPEG_VERSION).tar.gz
OPENJPEG_CFLAGS := $(CFLAGS)
OPENJPEG_CXXFLAGS := $(CXXFLAGS)
ifdef HAVE_WIN32
DEPS_openjpeg += pthreads $(DEPS_pthreads)
OPENJPEG_CFLAGS += -DPTW32_STATIC_LIB
OPENJPEG_CXXFLAGS += -DPTW32_STATIC_LIB
endif
$(TARBALLS)/openjpeg-v$(OPENJPEG_VERSION).tar.gz:
......@@ -30,7 +26,7 @@ endif
$(MOVE)
.openjpeg: openjpeg toolchain.cmake
cd $< && $(HOSTVARS) CFLAGS="$(OPENJPEG_CFLAGS)" CXXFLAGS="$(OPENJPEG_CXXFLAGS)" $(CMAKE) \
cd $< && $(HOSTVARS) $(CMAKE) \
-DBUILD_PKGCONFIG_FILES=ON \
-DBUILD_CODEC:bool=OFF \
.
......
......@@ -12,13 +12,9 @@ $(TARBALLS)/protobuf-$(PROTOBUF_VERSION)-cpp.tar.gz:
.sum-protobuf: protobuf-$(PROTOBUF_VERSION)-cpp.tar.gz
PROTOBUF_CFLAGS := $(CFLAGS)
PROTOBUF_CXXFLAGS := $(CXXFLAGS)
DEPS_protobuf = zlib $(DEPS_zlib)
ifdef HAVE_WIN32
DEPS_protobuf += pthreads $(DEPS_pthreads)
PROTOBUF_CFLAGS += -DPTW32_STATIC_LIB
PROTOBUF_CXXFLAGS += -DPTW32_STATIC_LIB
endif
protobuf: protobuf-$(PROTOBUF_VERSION)-cpp.tar.gz .sum-protobuf
......@@ -29,6 +25,6 @@ protobuf: protobuf-$(PROTOBUF_VERSION)-cpp.tar.gz .sum-protobuf
.protobuf: protobuf
$(RECONF)
cd $< && CFLAGS="$(PROTOBUF_CFLAGS)" CXXFLAGS="$(PROTOBUF_CXXFLAGS)" $(HOSTVARS) ./configure $(HOSTCONF) --with-protoc="$(PROTOC)"
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) --with-protoc="$(PROTOC)"
cd $< && $(MAKE) && $(MAKE) install
touch $@
9c06e85310766834370c3dceb83faafd397da18a32411ca7645c8eb6b9495fea54ca2872f4a3e8d83cb5fdc5dea7f3f0464be5bb9af3222a6534574a184bd551 pthreads-w32-2-9-1-release.tar.gz
30e5b2824a24eeb99ab519e3fc134cc9a7f04ee8b853bc8d66a13d1ab74144bf78b93e162bfe6de2a5e61f63c0e620a933b260b02d019cd68cc4b78bd36c67fd mingw-w64-v7.0.0.tar.bz2
diff -urN pthreads-orig/context.h pthreads/context.h
--- pthreads-orig/context.h 2011-03-04 01:37:20.000000000 +0200
+++ pthreads/context.h 2018-03-18 13:50:07.362676429 +0200
@@ -67,6 +67,10 @@
#define PTW32_PROGCTR(Context) ((Context).Pc)
#endif
+#if defined(_ARM64_) || defined(__aarch64__)
+#define PTW32_PROGCTR(Context) ((Context).Pc)
+#endif
+
#if !defined(PTW32_PROGCTR)
#error Module contains CPU-specific code; modify and recompile.
#endif
diff -urN pthreads-orig/GNUmakefile pthreads/GNUmakefile
--- pthreads-orig/GNUmakefile 2018-01-05 21:45:34.478551838 +0000
+++ pthreads/GNUmakefile 2018-01-05 21:51:37.918541470 +0000
@@ -523,25 +523,17 @@
$(GC_DLL) $(GCD_DLL): $(DLL_OBJS)
- $(CC) $(OPT) -shared -o $(GC_DLL) $(DLL_OBJS) $(LFLAGS)
- $(DLLTOOL) -z pthread.def $(DLL_OBJS)
- $(DLLTOOL) -k --dllname $@ --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
+ $(CC) $(OPT) -shared -o $(GC_DLL) -Wl,--out-implib,$(GC_LIB) $(DLL_OBJS) $(LFLAGS)
$(GCE_DLL): $(DLL_OBJS)
- $(CC) $(OPT) -mthreads -shared -o $(GCE_DLL) $(DLL_OBJS) $(LFLAGS)
- $(DLLTOOL) -z pthread.def $(DLL_OBJS)
- $(DLLTOOL) -k --dllname $@ --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
+ $(CC) $(OPT) -mthreads -shared -o $(GCE_DLL) -Wl,--out-implib,$(GCE_LIB) $(DLL_OBJS) $(LFLAGS)
$(GC_INLINED_STAMP) $(GCD_INLINED_STAMP): $(DLL_INLINED_OBJS)
- $(CC) $(OPT) $(XOPT) -shared -o $(GC_DLL) $(DLL_INLINED_OBJS) $(LFLAGS)
- $(DLLTOOL) -z pthread.def $(DLL_INLINED_OBJS)
- $(DLLTOOL) -k --dllname $(GC_DLL) --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
+ $(CC) $(OPT) $(XOPT) -shared -o $(GC_DLL) -Wl,--out-implib,$(GC_LIB) $(DLL_INLINED_OBJS) $(LFLAGS)
echo touched > $(GC_INLINED_STAMP)
$(GCE_INLINED_STAMP) $(GCED_INLINED_STAMP): $(DLL_INLINED_OBJS)
- $(CC) $(OPT) $(XOPT) -mthreads -shared -o $(GCE_DLL) $(DLL_INLINED_OBJS) $(LFLAGS)
- $(DLLTOOL) -z pthread.def $(DLL_INLINED_OBJS)
- $(DLLTOOL) -k --dllname $(GCE_DLL) --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
+ $(CC) $(OPT) $(XOPT) -mthreads -shared -o $(GCE_DLL) -Wl,--out-implib,$(GCE_LIB) $(DLL_INLINED_OBJS) $(LFLAGS)
echo touched > $(GCE_INLINED_STAMP)
$(GC_STATIC_STAMP) $(GCD_STATIC_STAMP): $(DLL_INLINED_OBJS)
--- pthreads/ptw32_MCS_lock.c.inline 2020-06-15 13:42:20.071125700 +0200
+++ pthreads/ptw32_MCS_lock.c 2020-06-15 15:38:28.630658800 +0200
@@ -99,7 +99,7 @@
* Set event if an event handle has been stored in the flag, and
* set flag to -1 otherwise. Note that -1 cannot be a valid handle value.
*/
-INLINE void
+static INLINE void
ptw32_mcs_flag_set (HANDLE * flag)
{
HANDLE e = (HANDLE)(PTW32_INTERLOCKED_SIZE)PTW32_INTERLOCKED_COMPARE_EXCHANGE_SIZE(
@@ -119,7 +119,7 @@ ptw32_mcs_flag_set (HANDLE * flag)
* Store an event handle in the flag and wait on it if the flag has not been
* set, and proceed without creating an event otherwise.
*/
-INLINE void
+static INLINE void
ptw32_mcs_flag_wait (HANDLE * flag)
{
if ((PTW32_INTERLOCKED_LONG)0 ==
--- pthreads/semaphore.h 2018-05-16 22:10:12.938777300 +0200
+++ pthreads/semaphore.h.mode_t 2018-05-16 22:08:58.453800700 +0200
@@ -98,8 +98,10 @@
# if defined(__MINGW64__)
# define HAVE_STRUCT_TIMESPEC
# define HAVE_MODE_T
+# include <sys/types.h>
# elif defined(_UWIN) || defined(__MINGW32__)
# define HAVE_MODE_T
+# include <sys/types.h>
# endif
#endif
--- pthreads/sched_getscheduler.c.uwpmingw7 2020-06-16 15:09:45.975803600 +0200
+++ pthreads/sched_getscheduler.c 2020-06-16 15:09:54.479850300 +0200
@@ -52,6 +52,7 @@ sched_getscheduler (pid_t pid)
if (pid != selfPid)
{
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) || !defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR > 7
HANDLE h =
OpenProcess (PROCESS_QUERY_INFORMATION, PTW32_FALSE, (DWORD) pid);
@@ -64,6 +65,10 @@ sched_getscheduler (pid_t pid)
}
else
CloseHandle(h);
+#else
+ errno = EPERM;
+ return -1;
+#endif
}
}
--- pthreads/sched_setscheduler.c.uwpmingw7 2020-06-16 15:09:43.567989900 +0200
+++ pthreads/sched_setscheduler.c 2020-06-16 15:09:59.727891200 +0200
@@ -54,6 +54,7 @@ sched_setscheduler (pid_t pid, int polic
if (pid != selfPid)
{
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) || !defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR > 7
HANDLE h =
OpenProcess (PROCESS_SET_INFORMATION, PTW32_FALSE, (DWORD) pid);
@@ -66,6 +67,10 @@ sched_setscheduler (pid_t pid, int polic
}
else
CloseHandle(h);
+#else
+ errno = EPERM;
+ return -1;
+#endif
}
}
diff -urN pthreads-orig/ptw32_spinlock_check_need_init.c pthreads/ptw32_spinlock_check_need_init.c
--- pthreads-orig/ptw32_spinlock_check_need_init.c 2011-03-10 13:40:17.000000000 +0000
+++ pthreads/ptw32_spinlock_check_need_init.c 2018-01-06 07:22:18.399696662 +0000
@@ -38,7 +38,7 @@
#include "implement.h"
-INLINE int
+int
ptw32_spinlock_check_need_init (pthread_spinlock_t * lock)
{
int result = 0;
# POSIX threads
# winpthreads
ifndef HAVE_WIN32
PKGS_FOUND += pthreads
endif
WINPTHREADS_VERSION := 7.0.0
WINPTHREADS_URL := https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v$(WINPTHREADS_VERSION).tar.bz2/download
PTHREADS_W32_VERSION := 2-9-1
PTHREADS_W32_URL := https://www.sourceware.org/pub/pthreads-win32/pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz
ifdef HAVE_WIN32
PKGS += pthreads
endif
$(TARBALLS)/pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz:
$(call download_pkg,$(PTHREADS_W32_URL),pthreads)
$(TARBALLS)/mingw-w64-v$(WINPTHREADS_VERSION).tar.bz2:
$(call download_pkg,$(WINPTHREADS_URL),winpthreads)
.sum-pthreads: pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz
.sum-pthreads: mingw-w64-v$(WINPTHREADS_VERSION).tar.bz2
ifdef HAVE_WIN32
pthreads: pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz .sum-pthreads
pthreads: mingw-w64-v$(WINPTHREADS_VERSION).tar.bz2 .sum-pthreads
$(UNPACK)
sed -e 's/^CROSS.*=/CROSS ?=/' -i.orig $(UNPACK_DIR)/GNUmakefile
ifdef HAVE_WINSTORE
$(APPLY) $(SRC)/pthreads/winrt.patch
endif
$(APPLY) $(SRC)/pthreads/implib.patch
$(APPLY) $(SRC)/pthreads/remove-inline.patch
$(APPLY) $(SRC)/pthreads/x86-inline-asm.patch
$(APPLY) $(SRC)/pthreads/arm64.patch
$(APPLY) $(SRC)/pthreads/pthreads-fix-mode_t.patch
$(APPLY) $(SRC)/pthreads/pthread-fix-inline.patch
$(APPLY) $(SRC)/pthreads/pthreads-fix-old-mingw.patch
$(MOVE)
PTHREADS_W32_CONF := LFLAGS="$(LDFLAGS)" PTW32_FLAGS="$(CFLAGS)"
ifdef HAVE_CROSS_COMPILE
PTHREADS_W32_CONF += CROSS="$(HOST)-"
endif
.pthreads: pthreads
cd $< && $(HOSTVARS) $(PTHREADS_W32_CONF) $(MAKE) MAKEFLAGS=-j1 GC-static
mkdir -p -- "$(PREFIX)/include"
cd $< && cp -v pthread.h sched.h semaphore.h "$(PREFIX)/include/"
sed -e 's/#if HAVE_CONFIG_H/#if 0 \&\& HAVE_CONFIG_H/' -i \
"$(PREFIX)/include/pthread.h"
mkdir -p -- "$(PREFIX)/lib"
cp -v $</*.a "$(PREFIX)/lib/"
cp -f "$(PREFIX)/lib/libpthreadGC2.a" "$(PREFIX)/lib/libpthread.a"
cd $</mingw-w64-libraries/winpthreads && $(HOSTVARS) ./configure $(HOSTCONF)
cd $< && $(MAKE) -C mingw-w64-libraries -C winpthreads install
touch $@
endif
--- pthreads/ptw32_getprocessors.c.orig 2016-05-11 20:50:47.774849703 +0200
+++ pthreads/ptw32_getprocessors.c 2016-05-11 20:50:56.054865989 +0200
@@ -55,6 +55,11 @@
int
ptw32_getprocessors (int *count)
{
+ SYSTEM_INFO systemInfo;
+ GetNativeSystemInfo(&systemInfo);
+ return systemInfo.dwNumberOfProcessors;
+#if 0
+
DWORD_PTR vProcessCPUs;
DWORD_PTR vSystemCPUs;
int result = 0;
@@ -88,4 +93,5 @@
#endif
return (result);
+#endif
}
--- pthreads/pthread_win32_attach_detach_np.c.orig 2016-05-11 21:08:47.988487073 +0200
+++ pthreads/pthread_win32_attach_detach_np.c 2016-05-11 21:09:06.804511207 +0200
@@ -70,6 +70,7 @@
*
* This should take care of any security issues.
*/
+#if 0
#if defined(__GNUC__) || _MSC_VER < 1400
if(GetSystemDirectory(QuserExDLLPathBuf, sizeof(QuserExDLLPathBuf)))
{
@@ -97,6 +98,7 @@
GetProcAddress (ptw32_h_quserex, (LPCSTR) "QueueUserAPCEx");
#endif
}
+#endif
if (NULL == ptw32_register_cancelation)
{
--- pthreads/pthread_cancel.c.orig 2016-05-11 22:43:53.653343096 +0200
+++ pthreads/pthread_cancel.c 2016-05-11 22:54:22.110220490 +0200
@@ -62,6 +62,7 @@
DWORD
ptw32_RegisterCancelation (PAPCFUNC unused1, HANDLE threadH, DWORD unused2)
{
+#if 0
CONTEXT context;
context.ContextFlags = CONTEXT_CONTROL;
@@ -69,6 +70,7 @@
PTW32_PROGCTR (context) = (DWORD_PTR) ptw32_cancel_self;
SetThreadContext (threadH, &context);
return 0;
+#endif
}
int
diff -u pthreads-orig/implement.h pthreads/implement.h
--- pthreads-orig/implement.h 2012-03-18 07:11:43.000000000 +0200
+++ pthreads/implement.h 2018-01-10 14:53:53.596756881 +0200
@@ -746,7 +746,7 @@
*
* The above aren't available in Mingw32 as of gcc 4.5.2 so define our own.
*/
-#if defined(__GNUC__)
+#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
# if defined(_WIN64)
# define PTW32_INTERLOCKED_COMPARE_EXCHANGE_64(location, value, comparand) \
({ \
......@@ -31,7 +31,7 @@ index 77fbfb0..52d6bcd 100644
+set (THREADS_PREFER_PTHREAD_FLAG ON)
+find_package (Threads REQUIRED)
+if (WIN32)
+ set (SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} -lpthreadGC2)
+ set (SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} -lpthread)
else()
- message(FATAL_ERROR "Failed to find pthread library. Specify PTHREAD_LIBRARY.")
+ set (SRT_LIBS_PRIVATE ${SRT_LIBS_PRIVATE} ${CMAKE_THREAD_LIBS_INIT})
......
......@@ -11,10 +11,9 @@ ifeq ($(call need_pkg,"srt >= 1.2.2"),)
PKGS_FOUND += srt
endif
DEPS_srt = gnutls $(DEPS_gnutls)
ifdef HAVE_WIN32
DEPS_srt += pthreads $(DEPS_pthreads)
SRT_CFLAGS += -DPTW32_STATIC_LIB
SRT_CXXFLAGS += -DPTW32_STATIC_LIB
endif
$(TARBALLS)/srt-$(SRT_VERSION).tar.gz:
......@@ -31,8 +30,6 @@ srt: srt-$(SRT_VERSION).tar.gz .sum-srt
$(call pkg_static,"scripts/haisrt.pc.in")
mv srt-$(SRT_VERSION) $@ && touch $@
DEPS_srt = gnutls $(DEPS_gnutls)
.srt: srt toolchain.cmake
cd $< && $(HOSTVARS_PIC) $(CMAKE) \
-DENABLE_SHARED=OFF -DUSE_GNUTLS=ON -DENABLE_CXX11=OFF
......