[vlc-commits] [Git][videolan/vlc][master] 11 commits: contrib: fluidlite: update the hash to allow out of tree builds

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed Sep 14 17:09:22 UTC 2022



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
1c7fdece by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: fluidlite: update the hash to allow out of tree builds

- - - - -
48caea17 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: mpcdec: backport some patches from the original SVN repo

via https://github.com/ctarbide/musepack_libmpc

It transforms the SHARED option into proper BUILD_SHARED_LIBS.

Fix the old patches and apply them as commits. The MSVC patch can be applied
no matter what. The macOS patching is useless since CFLAGS are respected thanks
to the first patch. The sed is not needed since the second patch removes build
of all the programs.

The decoder and encoder code has not changed since revision 481. Only the tools
have been slightly updated.

We don't need to copy the .a manually anymore.

- - - - -
7017b973 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: projectM: install extra depended on libraries via CMake

rather than manually.

- - - - -
cd41528c by Steve Lhomme at 2022-09-14T13:56:33+00:00
contribs: build from the top directory like other contribs

We just need to tell CMake where to find the root CMakeLists.txt file.

CMake already puts all its build files in a CMakeFiles folder.

There's only libaom that generates an error if you build the library from the
root...

- - - - -
3513e834 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contribs: don't force CMake to build in the current folder

It is the default behavior. We could change that in CMAKE for all targets
at once.

- - - - -
8f474129 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: build CMake targets in a build folder

Meson targets already do it.

We don't need to create the build folder prior to using it, CMake will do it
for us. We don't need to cd in the folder either, we can tell CMake where to
find the CMakeLists.txt file in the same call.

- - - - -
bb04ae46 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: aom: use the same build folder as other CMake contribs

We don't need to destroy nor create the build folder each time.

- - - - -
44ccea2f by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: put the build folder directly in the CMAKE command

We always use the same name and always use it.

- - - - -
8fa16a23 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: put the build folder directly in the CMAKEBUILD command

We always use the same name and always use it.

- - - - -
b2e78e25 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: assume CMakeLists.txt is in the contrib folder by default

It can be overriden when calling $(CMAKE).

Remove the stray '.' that was left after -S was used in all cases.

- - - - -
b6503634 by Steve Lhomme at 2022-09-14T13:56:33+00:00
contrib: use a command to clean the cemake contrib before rebuilding

Now the cmake build folder is handled in a single place.

- - - - -


27 changed files:

- contrib/src/aom/rules.mak
- contrib/src/chromaprint/rules.mak
- contrib/src/ebml/rules.mak
- contrib/src/fluid/rules.mak
- contrib/src/fluidlite/rules.mak
- contrib/src/glew/rules.mak
- contrib/src/glslang/rules.mak
- contrib/src/gme/rules.mak
- contrib/src/libaribcaption/rules.mak
- contrib/src/libebur128/rules.mak
- contrib/src/main.mak
- contrib/src/matroska/rules.mak
- + contrib/src/mpcdec/0004-libmpcdec-added-install-and-soversion.patch
- + contrib/src/mpcdec/0005-If-BUILD_SHARED_LIBS-is-set-and-SHARED-undefined-the.patch
- + contrib/src/mpcdec/0006-adapted-patch-0001-shared.patch-from-buildroot.patch
- contrib/src/mpcdec/rules.mak
- contrib/src/mysofa/rules.mak
- contrib/src/openjpeg/rules.mak
- + contrib/src/projectM/projectm-cmake-install.patch
- contrib/src/projectM/rules.mak
- contrib/src/soxr/rules.mak
- contrib/src/spatialaudio/rules.mak
- contrib/src/srt/rules.mak
- contrib/src/taglib/rules.mak
- contrib/src/vulkan-headers/rules.mak
- contrib/src/vulkan-loader/rules.mak
- contrib/src/x265/rules.mak


Changes:

=====================================
contrib/src/aom/rules.mak
=====================================
@@ -77,9 +77,9 @@ endif
 # libaom doesn't allow in-tree builds
 .aom: aom toolchain.cmake
 	rm -rf $(PREFIX)/include/aom
-	cd $< && rm -rf aom_build && mkdir -p aom_build
-	cd $</aom_build && $(HOSTVARS) $(CMAKE) ../ $(AOM_CONF)
-	+$(CMAKEBUILD) $</aom_build
-	$(call pkg_static,"aom_build/aom.pc")
-	+$(CMAKEBUILD) $</aom_build --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(AOM_CONF)
+	+$(CMAKEBUILD)
+	$(call pkg_static,"build/aom.pc")
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/chromaprint/rules.mak
=====================================
@@ -22,7 +22,7 @@ chromaprint: chromaprint-$(CHROMAPRINT_VERSION).tar.gz .sum-chromaprint
 DEPS_chromaprint = ffmpeg $(DEPS_ffmpeg)
 
 .chromaprint: chromaprint toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/ebml/rules.mak
=====================================
@@ -18,7 +18,7 @@ ebml: libebml-$(EBML_VERSION).tar.xz .sum-ebml
 	$(MOVE)
 
 .ebml: ebml toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/fluid/rules.mak
=====================================
@@ -42,7 +42,7 @@ FLUIDCONF := \
 	-Denable-readline=0
 
 .fluid: fluidsynth toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE) $(FLUIDCONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(FLUIDCONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/fluidlite/rules.mak
=====================================
@@ -1,7 +1,7 @@
 # fluidlite
 
 FLUID_GITURL := https://github.com/divideconcept/FluidLite.git
-FLUID_HASH := a95c0303a40deb335dd3e51a8a783bb99a403c31
+FLUID_HASH := 238997654efb20e736512847f3f5f6d618de9423
 
 ifdef HAVE_WIN32
 PKGS += fluidlite
@@ -26,7 +26,7 @@ fluidlite: fluidlite-$(FLUID_HASH).tar.xz .sum-fluidlite
 	$(MOVE)
 
 .fluidlite: fluidlite toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/glew/rules.mak
=====================================
@@ -17,7 +17,7 @@ glew: glew-$(GLEW_VERSION).tgz .sum-glew
 	$(MOVE)
 
 .glew: glew toolchain.cmake
-	rm -f $</build/cmake/CMakeCache.txt
-	cd $</build/cmake && $(HOSTVARS_PIC) $(CMAKE)
-	+$(CMAKEBUILD) $</build/cmake --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) -S $</build/cmake
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/glslang/rules.mak
=====================================
@@ -30,7 +30,7 @@ glslang: glslang-$(GLSLANG_VERSION).tar.gz .sum-glslang
 GLSLANG_CONF := -DENABLE_GLSLANG_BINARIES=OFF
 
 .glslang: glslang toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) CXXFLAGS="-DYYDEBUG=0" $(CMAKE) $(GLSLANG_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) CXXFLAGS="-DYYDEBUG=0" $(CMAKE) $(GLSLANG_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/gme/rules.mak
=====================================
@@ -24,7 +24,7 @@ game-music-emu: game-music-emu-$(GME_VERSION).tar.xz .sum-gme
 GME_CONF := -DENABLE_UBSAN=OFF
 
 .gme: game-music-emu toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) . $(GME_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(GME_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/libaribcaption/rules.mak
=====================================
@@ -56,7 +56,7 @@ endif
 
 
 .libaribcaption: libaribcaption toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) $(LIBARIBCC_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(LIBARIBCC_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/libebur128/rules.mak
=====================================
@@ -21,7 +21,7 @@ libebur128: libebur128-$(LIBEBUR128_VERSION).tar.gz .sum-libebur128
 LIBEBUR128_CONF := -DENABLE_INTERNAL_QUEUE_H=TRUE
 
 .libebur128: libebur128 toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) $(LIBEBUR128_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(LIBEBUR128_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/main.mak
=====================================
@@ -445,8 +445,10 @@ RECONF = mkdir -p -- $(PREFIX)/share/aclocal && \
 # When using a single command, make might take a shortcut and fork/exec
 # itself instead of relying on a shell, but a bug in gnulib ends up
 # trying to execute a cmake folder when one is found in the PATH
-CMAKEBUILD := env cmake --build
-CMAKE = cmake . -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) \
+CMAKEBUILD = env cmake --build $</build
+CMAKECLEAN = rm -f $</build/CMakeCache.txt
+CMAKE = cmake -S $< -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake) \
+		-B $</build \
 		-DCMAKE_INSTALL_PREFIX:STRING=$(PREFIX) \
 		-DBUILD_SHARED_LIBS:BOOL=OFF \
 		-DCMAKE_INSTALL_LIBDIR:STRING=lib


=====================================
contrib/src/matroska/rules.mak
=====================================
@@ -22,7 +22,7 @@ matroska: libmatroska-$(MATROSKA_VERSION).tar.xz .sum-matroska
 	$(MOVE)
 
 .matroska: matroska toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/mpcdec/0004-libmpcdec-added-install-and-soversion.patch
=====================================
@@ -0,0 +1,72 @@
+From 1db3ae6dd941c1f68e0d447bb70a18679fccea2f Mon Sep 17 00:00:00 2001
+From: r2d <r2d at c51c8d5e-032a-db11-a0f2-0002b3467eef>
+Date: Mon, 21 Oct 2013 20:34:18 +0000
+Subject: [PATCH 4/6] libmpcdec : added install and soversion
+
+git-svn-id: http://svn.musepack.net/libmpc/trunk@482 c51c8d5e-032a-db11-a0f2-0002b3467eef
+
+---
+ CMakeLists.txt           |  1 -
+ include/CMakeLists.txt   |  1 -
+ libmpcdec/CMakeLists.txt | 16 ++++++++++++++++
+ libmpcdec/Makefile.am    |  1 +
+ 4 files changed, 17 insertions(+), 2 deletions(-)
+ delete mode 100644 include/CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 06d4363..e958296 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,4 +23,3 @@ add_subdirectory(libmpcdec)
+ add_subdirectory(libmpcpsy)
+ add_subdirectory(libmpcenc)
+ add_subdirectory(libwavformat)
+-add_subdirectory(include)
+diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
+deleted file mode 100644
+index 074461d..0000000
+--- a/include/CMakeLists.txt
++++ /dev/null
+@@ -1 +0,0 @@
+-INSTALL(DIRECTORY mpc DESTINATION include)
+diff --git a/libmpcdec/CMakeLists.txt b/libmpcdec/CMakeLists.txt
+index 0bc5b62..fb18968 100644
+--- a/libmpcdec/CMakeLists.txt
++++ b/libmpcdec/CMakeLists.txt
+@@ -1,7 +1,23 @@
++SET(mpcdec_VERSION_MAJOR 7)
++SET(mpcdec_VERSION_MINOR 0)
++SET(mpcdec_VERSION_PATCH 1)
++
++set(mpcdec_VERSION ${mpcdec_VERSION_MAJOR}.${mpcdec_VERSION_MINOR}.${mpcdec_VERSION_PATCH})
++
+ include_directories(${libmpc_SOURCE_DIR}/include)
++install(FILES
++	${libmpc_SOURCE_DIR}/include/mpc/mpcdec.h
++	${libmpc_SOURCE_DIR}/include/mpc/reader.h
++	${libmpc_SOURCE_DIR}/include/mpc/streaminfo.h
++	${libmpc_SOURCE_DIR}/include/mpc/mpc_types.h
++	DESTINATION include/mpc COMPONENT headers)
++
+ if(SHARED)
+   add_library(mpcdec SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32)
++  set_target_properties(mpcdec PROPERTIES VERSION ${mpcdec_VERSION} SOVERSION ${mpcdec_VERSION_MAJOR})
++  install(TARGETS mpcdec LIBRARY DESTINATION "lib" COMPONENT libraries)
+ else(SHARED)
+   add_library(mpcdec_static STATIC huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32)
++  install(TARGETS mpcdec_static ARCHIVE DESTINATION "lib/static" COMPONENT libraries)
+ endif(SHARED)
+ 
+diff --git a/libmpcdec/Makefile.am b/libmpcdec/Makefile.am
+index 48f3835..048217a 100644
+--- a/libmpcdec/Makefile.am
++++ b/libmpcdec/Makefile.am
+@@ -16,4 +16,5 @@ libmpcdec_la_SOURCES = huffman.c mpc_decoder.c mpc_reader.c \
+ 	mpc_bits_reader.h huffman.h decoder.h internal.h requant.h mpcdec_math.h \
+ 	$(common_sources)
+ 
++# version info shoud match the one in CMakeLists.txt
+ libmpcdec_la_LDFLAGS = -no-undefined -version-info 7:0:1
+-- 
+2.37.3.windows.1
+


=====================================
contrib/src/mpcdec/0005-If-BUILD_SHARED_LIBS-is-set-and-SHARED-undefined-the.patch
=====================================
@@ -0,0 +1,41 @@
+From bab8308ca1ae6b96f4e1c2929608e02971d24009 Mon Sep 17 00:00:00 2001
+From: r2d <r2d at c51c8d5e-032a-db11-a0f2-0002b3467eef>
+Date: Sun, 5 Oct 2014 18:31:05 +0000
+Subject: [PATCH 5/6] If BUILD_SHARED_LIBS is set and SHARED undefined, then
+ drive SHARED with the BUILD_SHARED_LIBS value. patch by Samuel Martin
+ <s.martin49 at gmail.com>
+
+git-svn-id: http://svn.musepack.net/libmpc/trunk@485 c51c8d5e-032a-db11-a0f2-0002b3467eef
+---
+ CMakeLists.txt | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e958296..50666fe 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,11 +7,16 @@ project(libmpc C)
+ set(CMAKE_VERBOSE_MAKEFILE false)
+ TEST_BIG_ENDIAN(MPC_ENDIANNESS)
+ 
+-if(WIN32)
+-  option(SHARED "Use shared libmpcdec" OFF)
+-else(WIN32)
+-  option(SHARED "Use shared libmpcdec" ON)
+-endif(WIN32)
++# Use the standard CMake flag to drive the shared object build.
++if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED SHARED)
++  set(SHARED ${BUILD_SHARED_LIBS})
++else()
++  if(WIN32)
++    option(SHARED "Use shared libmpcdec" OFF)
++  else(WIN32)
++    option(SHARED "Use shared libmpcdec" ON)
++  endif(WIN32)
++endif()
+ 
+ add_definitions(-DFAST_MATH -DCVD_FASTLOG)
+ 
+-- 
+2.37.3.windows.1
+


=====================================
contrib/src/mpcdec/0006-adapted-patch-0001-shared.patch-from-buildroot.patch
=====================================
@@ -0,0 +1,53 @@
+From 617c72c7df93da5bcca2febbad066e31a411d976 Mon Sep 17 00:00:00 2001
+From: r2d <r2d at c51c8d5e-032a-db11-a0f2-0002b3467eef>
+Date: Sun, 14 Feb 2016 22:07:10 +0000
+Subject: [PATCH 6/6] adapted patch 0001-shared.patch from buildroot:
+ https://git.busybox.net/buildroot/tree/package/musepack/0001-shared.patch
+ original changelog :
+
+Fixup installation of shared mpcdec library.
+Based on gentoo patch.
+
+Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
+
+git-svn-id: http://svn.musepack.net/libmpc/trunk@491 c51c8d5e-032a-db11-a0f2-0002b3467eef
+---
+ libmpcdec/CMakeLists.txt | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/libmpcdec/CMakeLists.txt b/libmpcdec/CMakeLists.txt
+index fb18968..fa9c800 100644
+--- a/libmpcdec/CMakeLists.txt
++++ b/libmpcdec/CMakeLists.txt
+@@ -4,7 +4,6 @@ SET(mpcdec_VERSION_PATCH 1)
+ 
+ set(mpcdec_VERSION ${mpcdec_VERSION_MAJOR}.${mpcdec_VERSION_MINOR}.${mpcdec_VERSION_PATCH})
+ 
+-include_directories(${libmpc_SOURCE_DIR}/include)
+ install(FILES
+ 	${libmpc_SOURCE_DIR}/include/mpc/mpcdec.h
+ 	${libmpc_SOURCE_DIR}/include/mpc/reader.h
+@@ -12,12 +11,16 @@ install(FILES
+ 	${libmpc_SOURCE_DIR}/include/mpc/mpc_types.h
+ 	DESTINATION include/mpcdec COMPONENT headers)
+ 
++include_directories(${libmpc_SOURCE_DIR}/include)
+ if(SHARED)
+-  add_library(mpcdec SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32)
+-  set_target_properties(mpcdec PROPERTIES VERSION ${mpcdec_VERSION} SOVERSION ${mpcdec_VERSION_MAJOR})
+-  install(TARGETS mpcdec LIBRARY DESTINATION "lib" COMPONENT libraries)
++  add_library(mpcdec_shared SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32)
++  set_target_properties(mpcdec_shared PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1 VERSION ${mpcdec_VERSION} SOVERSION ${mpcdec_VERSION_MAJOR})
++  install(TARGETS mpcdec_shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}" COMPONENT libraries)
++  target_link_libraries(mpcdec_shared m)
+ else(SHARED)
+   add_library(mpcdec_static STATIC huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32)
+-  install(TARGETS mpcdec_static ARCHIVE DESTINATION "lib/static" COMPONENT libraries)
++  set_target_properties(mpcdec_static PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1)
++  install(TARGETS mpcdec_static LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}" COMPONENT libraries)
++  target_link_libraries(mpcdec_static m)
+ endif(SHARED)
+ 
+-- 
+2.37.3.windows.1
+


=====================================
contrib/src/mpcdec/rules.mak
=====================================
@@ -28,26 +28,14 @@ musepack: musepack_src_r$(MUSE_REV).tar.gz .sum-mpcdec
 	$(UNPACK)
 	$(APPLY) $(SRC)/mpcdec/musepack-no-cflags-clobber.patch
 	$(APPLY) $(SRC)/mpcdec/musepack-no-binaries.patch
-ifdef HAVE_VISUALSTUDIO
 	$(APPLY) $(SRC)/mpcdec/musepack-asinh-msvc.patch
-endif
-	sed -i.orig \
-		-e 's,^add_subdirectory(mpcgain),,g' \
-		-e 's,^add_subdirectory(mpcchap),,g' \
-		$(UNPACK_DIR)/CMakeLists.txt
-ifdef HAVE_MACOSX
-	cd $(UNPACK_DIR) && \
-	sed -e 's%-O3 -Wall%-O3 -Wall $(CFLAGS)%' CMakeLists.txt
-endif
+	$(APPLY) $(SRC)/mpcdec/0004-libmpcdec-added-install-and-soversion.patch
+	$(APPLY) $(SRC)/mpcdec/0005-If-BUILD_SHARED_LIBS-is-set-and-SHARED-undefined-the.patch
+	$(APPLY) $(SRC)/mpcdec/0006-adapted-patch-0001-shared.patch-from-buildroot.patch
 	$(MOVE)
 
-MUSE_CONF := -DSHARED=OFF
-
 .mpcdec: musepack toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) $(MUSE_CONF)
-	+$(CMAKEBUILD) $< --target install
-	mkdir -p -- "$(PREFIX)/lib"
-	# Use globbing to work around cmake's change of destination file
-	cd $< && cp libmpcdec/*mpcdec_static.* "$(PREFIX)/lib/libmpcdec.a"
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(MUSE_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/mysofa/rules.mak
=====================================
@@ -26,8 +26,8 @@ mysofa: libmysofa-$(MYSOFA_VERSION).tar.gz .sum-mysofa
 MYSOFA_CONF := -DBUILD_TESTS=OFF
 
 .mysofa: mysofa toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE) $(MYSOFA_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(MYSOFA_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@
 


=====================================
contrib/src/openjpeg/rules.mak
=====================================
@@ -29,7 +29,7 @@ endif
 OPENJPEG_CONF := -DBUILD_PKGCONFIG_FILES=ON -DBUILD_CODEC:bool=OFF
 
 .openjpeg: openjpeg toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE) . $(OPENJPEG_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(OPENJPEG_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/projectM/projectm-cmake-install.patch
=====================================
@@ -0,0 +1,14 @@
+--- projectM/MilkdropPresetFactory/CMakeLists.txt.orig	2022-09-13 09:39:32.537914700 +0200
++++ projectM/MilkdropPresetFactory/CMakeLists.txt	2022-09-13 09:39:11.108002400 +0200
+@@ -17,3 +17,4 @@ LINK_DIRECTORIES(${projectM_BINARY_DIR}
+ ADD_LIBRARY(MilkdropPresetFactory STATIC ${MilkdropPresetFactory_SOURCES})
+ SET_TARGET_PROPERTIES(MilkdropPresetFactory PROPERTIES VERSION 2.00 SOVERSION 2)
+ TARGET_LINK_LIBRARIES(MilkdropPresetFactory Renderer)
++INSTALL(TARGETS MilkdropPresetFactory LIBRARY)
+--- projectM/Renderer/CMakeLists.txt.orig	2022-09-13 09:39:40.281885500 +0200
++++ projectM/Renderer/CMakeLists.txt	2022-09-13 09:39:07.123633100 +0200
+@@ -11,3 +11,4 @@ INCLUDE_DIRECTORIES(${projectM_SOURCE_DI
+ ADD_LIBRARY(Renderer STATIC ${Renderer_SOURCES})
+ SET_TARGET_PROPERTIES(Renderer PROPERTIES VERSION 2.00 SOVERSION 2)
+ TARGET_LINK_LIBRARIES(Renderer m)
++INSTALL(TARGETS Renderer LIBRARY)


=====================================
contrib/src/projectM/rules.mak
=====================================
@@ -33,6 +33,7 @@ endif
 	$(APPLY) $(SRC)/projectM/gcc6.patch
 	$(APPLY) $(SRC)/projectM/clang6.patch
 	$(APPLY) $(SRC)/projectM/missing-includes.patch
+	$(APPLY) $(SRC)/projectM/projectm-cmake-install.patch
 	$(MOVE)
 
 PROJECTM_CONF := \
@@ -42,8 +43,7 @@ PROJECTM_CONF := \
 		-DBUILD_PROJECTM_STATIC:BOOL=ON
 
 .projectM: projectM toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE) . $(PROJECTM_CONF)
-	+$(CMAKEBUILD) $< --target install
-	-cd $<; cp Renderer/libRenderer.a MilkdropPresetFactory/libMilkdropPresetFactory.a $(PREFIX)/lib
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(PROJECTM_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/soxr/rules.mak
=====================================
@@ -41,7 +41,7 @@ SOXR_CONF := \
 		-DWITH_AVFFT=ON
 
 .soxr: soxr toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) $(SOXR_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(SOXR_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/spatialaudio/rules.mak
=====================================
@@ -23,7 +23,7 @@ spatialaudio: spatialaudio-$(SPATIALAUDIO_VERSION).tar.bz2 .sum-spatialaudio
 SPATIALAUDIO_CONF := -DMYSOFA_ROOT_DIR=$(PREFIX) -DHAVE_MIT_HRTF=OFF
 
 .spatialaudio: spatialaudio toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE) $(SPATIALAUDIO_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE) $(SPATIALAUDIO_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/srt/rules.mak
=====================================
@@ -32,7 +32,7 @@ srt: srt-$(SRT_VERSION).tar.gz .sum-srt
 SRT_CONF := -DENABLE_SHARED=OFF -DUSE_ENCLIB=gnutls -DENABLE_CXX11=OFF
 
 .srt: srt toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) $(SRT_CONF)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) $(SRT_CONF)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/taglib/rules.mak
=====================================
@@ -20,7 +20,7 @@ taglib: taglib-$(TAGLIB_VERSION).tar.gz .sum-taglib
 	$(MOVE)
 
 .taglib: taglib toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS_PIC) $(CMAKE) .
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/vulkan-headers/rules.mak
=====================================
@@ -13,7 +13,7 @@ vulkan-headers: Vulkan-Headers-$(VULKAN_HEADERS_VERSION).tar.gz .sum-vulkan-head
 	$(MOVE)
 
 .vulkan-headers: vulkan-headers toolchain.cmake
-	rm -f $</CMakeCache.txt
-	cd $< && $(HOSTVARS) $(CMAKE)
-	+$(CMAKEBUILD) $< --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS) $(CMAKE)
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/vulkan-loader/rules.mak
=====================================
@@ -53,10 +53,9 @@ VULKAN_LOADER_ENV_CONF = \
 	VULKAN_HEADERS_INSTALL_DIR="$(PREFIX)"
 
 .vulkan-loader: vulkan-loader toolchain.cmake
-	cd $< && rm -rf ./build && mkdir -p build
-	cd $</build && $(VULKAN_LOADER_ENV_CONF) $(HOSTVARS) \
-		$(CMAKE) $(VULKAN_LOADER_CONF) ..
-	+$(CMAKEBUILD) $</build
+	$(CMAKECLEAN)
+	$(VULKAN_LOADER_ENV_CONF) $(HOSTVARS) $(CMAKE) $(VULKAN_LOADER_CONF)
+	+$(CMAKEBUILD)
 
 ifdef HAVE_WIN32
 # CMake will generate a .pc file with -lvulkan even if the static library
@@ -65,5 +64,5 @@ ifdef HAVE_WIN32
 endif
 
 	$(call pkg_static,"build/loader/vulkan.pc")
-	+$(CMAKEBUILD) $</build --target install
+	+$(CMAKEBUILD) --target install
 	touch $@


=====================================
contrib/src/x265/rules.mak
=====================================
@@ -39,8 +39,8 @@ X265_CONF := -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
 
 .x265: x265 toolchain.cmake
 	$(REQUIRE_GPL)
-	rm -f $</source/CMakeCache.txt
-	cd $</source && $(HOSTVARS_PIC) $(CMAKE) $(X265_CONF)
-	+$(CMAKEBUILD) $</source --target install
+	$(CMAKECLEAN)
+	$(HOSTVARS_PIC) $(CMAKE) -S $</source $(X265_CONF)
+	+$(CMAKEBUILD) --target install
 	sed -e s/'[^ ]*clang_rt[^ ]*'//g -i.orig "$(PREFIX)/lib/pkgconfig/x265.pc"
 	touch $@



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/24779e2e4d49f5543d5b3867b848cf88bfc35613...b650363488c735a1bb2959e8380044cad9e3b5d2

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/24779e2e4d49f5543d5b3867b848cf88bfc35613...b650363488c735a1bb2959e8380044cad9e3b5d2
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list