From f555e5a7bda0dfed6f7bfe02d9aa3b0e0ab7e039 Mon Sep 17 00:00:00 2001 From: Thomas Crider Date: Thu, 13 Dec 2018 01:18:06 -0500 Subject: [PATCH 1/3] Enable ffmpeg by default and build FAudio with it --- README.md | 4 ++-- build/makefile_base.mak | 13 ++++++++----- vagrant-user-setup.sh | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index cc71ab86bd..bab5eddcba 100644 --- a/README.md +++ b/README.md @@ -126,11 +126,11 @@ VM. If you are configuring manually, run these steps: mkdir proton/mybuild/ cd proton/mybuild - ../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 + ../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --with-ffmpeg If you are building without the Steam runtime, then instead use: - ../configure.sh --no-steam-runtime + ../configure.sh --no-steam-runtime --with-ffmpeg **Tip**: If you are building without the Steam runtime, you should now run `make obj-wine64/Makefile obj-wine32/Makefile` and check the files diff --git a/build/makefile_base.mak b/build/makefile_base.mak index 3ed9180ffc..77038c0b8f 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -434,7 +434,6 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 --disable-doc \ --disable-avdevice \ --disable-avformat \ - --disable-swresample \ --disable-swscale \ --disable-postproc \ --disable-avfilter \ @@ -470,7 +469,6 @@ $(FFMPEG_CONFIGURE_FILES32): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ3 --disable-doc \ --disable-avdevice \ --disable-avformat \ - --disable-swresample \ --disable-swscale \ --disable-postproc \ --disable-avfilter \ @@ -513,14 +511,14 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64) +$(MAKE) -C $(FFMPEG_OBJ64) +$(MAKE) -C $(FFMPEG_OBJ64) install mkdir -pv $(DST_DIR)/lib64 - cp -L $(TOOLS_DIR64)/lib/{libavcodec,libavutil}* $(DST_DIR)/lib64 + cp -L $(TOOLS_DIR64)/lib/{libavcodec,libavutil,libswresample}* $(DST_DIR)/lib64 ffmpeg32: SHELL = $(CONTAINER_SHELL32) ffmpeg32: $(FFMPEG_CONFIGURE_FILES32) +$(MAKE) -C $(FFMPEG_OBJ32) +$(MAKE) -C $(FFMPEG_OBJ32) install mkdir -pv $(DST_DIR)/lib - cp -L $(TOOLS_DIR32)/lib/{libavcodec,libavutil}* $(DST_DIR)/lib + cp -L $(TOOLS_DIR32)/lib/{libavcodec,libavutil,libswresample}* $(DST_DIR)/lib endif # ifeq ($(WITH_FFMPEG),1) @@ -547,18 +545,23 @@ FAUDIO_CONFIGURE_FILES64 := $(FAUDIO_OBJ64)/Makefile $(FAUDIO_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) $(FAUDIO_CONFIGURE_FILES32): $(FAUDIO)/CMakeLists.txt $(MAKEFILE_DEP) $(CMAKE_BIN32) | $(FAUDIO_OBJ32) + cd $(dir $@) && \ ../$(CMAKE_BIN32) $(abspath $(FAUDIO)) \ -DCMAKE_INSTALL_PREFIX="$(abspath $(TOOLS_DIR32))" \ $(FAUDIO_CMAKE_FLAGS) \ + -DFFmpeg_INCLUDE_DIR="$(abspath $(TOOLS_DIR32))/include" \ -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32" $(FAUDIO_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) $(FAUDIO_CONFIGURE_FILES64): $(FAUDIO)/CMakeLists.txt $(MAKEFILE_DEP) $(CMAKE_BIN64) | $(FAUDIO_OBJ64) + cd $(dir $@) && \ ../$(CMAKE_BIN64) $(abspath $(FAUDIO)) \ -DCMAKE_INSTALL_PREFIX="$(abspath $(TOOLS_DIR64))" \ - $(FAUDIO_CMAKE_FLAGS) + $(FAUDIO_CMAKE_FLAGS) \ + -DFFmpeg_INCLUDE_DIR="$(abspath $(TOOLS_DIR64))/include" + faudio32: SHELL = $(CONTAINER_SHELL32) faudio32: $(FAUDIO_CONFIGURE_FILES32) diff --git a/vagrant-user-setup.sh b/vagrant-user-setup.sh index 4b199e90f7..11be7063ec 100755 --- a/vagrant-user-setup.sh +++ b/vagrant-user-setup.sh @@ -8,6 +8,6 @@ git clone https://github.com/ValveSoftware/steam-runtime.git #configure proton build mkdir build cd build -../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 +../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --with-ffmpeg #if building without the runtime, use: -#../proton/configure.sh --no-steam-runtime +#../proton/configure.sh --no-steam-runtime --with-ffmpeg From c2a2696cff7a6c1ad6bf3a1dd21b22d9eabee885 Mon Sep 17 00:00:00 2001 From: Matthew Harm Bekkema Date: Sat, 15 Dec 2018 14:44:50 +1100 Subject: [PATCH 2/3] wine LDFLAGS: Add lib path to -rpath-link This is so ld can find ffmpeg when required by faudio. --- build/makefile_base.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/makefile_base.mak b/build/makefile_base.mak index 77038c0b8f..5e9fa6df4c 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -704,7 +704,7 @@ $(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64) cd $(dir $@) && \ STRIP=$(STRIP_QUOTED) \ CFLAGS=-I$(abspath $(TOOLS_DIR64))"/include -g $(COMMON_FLAGS)" \ - LDFLAGS=-L$(abspath $(TOOLS_DIR64))/lib \ + LDFLAGS="-L$(abspath $(TOOLS_DIR64))/lib -Wl,-rpath-link,$(abspath $(TOOLS_DIR64))/lib" \ PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \ CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) \ @@ -719,7 +719,7 @@ $(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(WINE_OBJ32) $(WINE_ORDER_DEPS32) cd $(dir $@) && \ STRIP=$(STRIP_QUOTED) \ CFLAGS=-I$(abspath $(TOOLS_DIR32))"/include -g $(COMMON_FLAGS)" \ - LDFLAGS=-L$(abspath $(TOOLS_DIR32))/lib \ + LDFLAGS="-L$(abspath $(TOOLS_DIR32))/lib -Wl,-rpath-link,$(abspath $(TOOLS_DIR32))/lib" \ PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) \ From 458bd69d6a7a20bff0b9234ac466d1fee115f4a7 Mon Sep 17 00:00:00 2001 From: Thomas Crider Date: Thu, 4 Apr 2019 15:10:29 -0600 Subject: [PATCH 3/3] cleanup, fix --with-ffmpeg --- Makefile | 2 +- README.md | 4 ++-- vagrant-user-setup.sh | 10 ---------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index c734fbc333..9e3e3e8431 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ override build_name := $(shell echo $(build_name) | tr -dc '[:alnum:] ._-') STEAM_DIR := $(HOME)/.steam/root DEPLOY_DIR := $(shell git describe --tags --always) -CONFIGURE_CMD := ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime="$$HOME"/steam-runtime/runtime/ --build-name="$(build_name)" +CONFIGURE_CMD := ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime="$$HOME"/steam-runtime/runtime/ --build-name="$(build_name)" --with-ffmpeg # make doesn't handle spaces well... replace them with underscores in paths BUILD_DIR := "build-$(shell echo $(build_name) | sed -e 's/ /_/g')" diff --git a/README.md b/README.md index 9c7ad9e5e9..b614745fc3 100644 --- a/README.md +++ b/README.md @@ -174,11 +174,11 @@ course use whatever paths you like. mkdir build/ cd build - ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/ --with-ffmpeg + ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/ If you are building without the Steam runtime, then instead use: - ../proton/configure.sh --no-steam-runtime --with-ffmpeg + ../proton/configure.sh --no-steam-runtime **Tip**: If you are building without the Steam runtime, you should now run `make obj-wine64/Makefile obj-wine32/Makefile` and check the files diff --git a/vagrant-user-setup.sh b/vagrant-user-setup.sh index 4703554833..feafd3b2d7 100755 --- a/vagrant-user-setup.sh +++ b/vagrant-user-setup.sh @@ -4,14 +4,4 @@ git clone https://github.com/ValveSoftware/steam-runtime.git ./steam-runtime/setup_docker.sh amd64 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev ./steam-runtime/setup_docker.sh i386 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev32 -<<<<<<< HEAD - -#configure proton build -mkdir build -cd build -../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --with-ffmpeg -#if building without the runtime, use: -#../proton/configure.sh --no-steam-runtime --with-ffmpeg -======= (cd steam-runtime && ./build-runtime.py --output=./runtime/) ->>>>>>> 8aedf2bbf42a767f0a1a21f820ba5e170f55691f