Commit Graph

41 Commits

Author SHA1 Message Date
ea08ded0ca configure.sh: Remove mentions of --no-proton-sdk. 2023-12-12 17:37:45 +02:00
c9f5e8ff47 configure.sh: drop --steam-runtime help text
This commit dropped the help text for --steam-runtime option.
That option is no longer used since the commit bc63dbbf2a.

Link: https://github.com/ValveSoftware/Proton/pull/7114
2023-12-12 17:37:45 +02:00
90cc4f1075 configure.sh: Add --enable-bear for autotools builds.
With --enable-bear all autotools projects will be built via bear so
compile_commands.json are generated.
2023-12-12 17:37:45 +02:00
5018cb5ab7 configure.sh: Don't allow people to build in the root of the source tree. 2023-06-05 17:55:10 +03:00
692ef0aa1f build: Do as much as possible inside of the SDK container.
Parts of the rules, including the magical ones created via
make/rules-*.mk, are executed inside of the container via SHELL
override, and parts are executed on the host side.

This makes reasoning about and debugging the rules much harder than it
should be. It also requirs the users to have certain programs installed
on the host in addition to docker/podman.

With this change `make` will act as a simple pass through to inside of
the container for the most part.

One notable exception is installation which still happens the host side.
2023-02-14 16:07:44 +02:00
e60f8c6aac build: Build all fonts in the container.
With the upgrade to sniper the fontforge is up to date enought to build
all our fonts.

Patch is used only to patch the fonts.
2023-02-14 16:07:44 +02:00
b4bba7eec4 configure.sh: Move the default SDK build container image URI to Makefile.in.
Up until now ./configure.sh was baking in the default value into the
generated Makefile. Because of it if there was a change that requires a
newer version of the SDK the compilation would fail until the next
./configure.sh invocation does the update.

This is proved to be confusing - mysterious build errors without clear
explanation.

With this change the default value is a part of Makefile.in and if user
doesn't specify --proton-sdk-image it will be always used and always up
to date.

--proton-sdk-image overrides the default and stores it in the Makefile
just like it used to.
2023-02-14 16:07:44 +02:00
28aeb63901 build: Switch over to sniper-based SDK container. 2023-02-14 16:07:44 +02:00
bc63dbbf2a build: Get rid of runtime selection options.
Those were first added when we were working on using the new
pressure-vessel based runtime but have basically no use during current
development.
2023-02-14 16:07:44 +02:00
db3274b1c7 build: Build PE modules with -mcmodel=small.
This breaks MinGW autoimport mechanism but nothing in Proton should be
using it. Instead, any PE module should be using standard dllimport and
ntdll will do the relocations as expected. We also don't and hopefully
never have modules larger than 2GB, so 32-bit %rip relative offsets
should be enough for everything.

This will OTOH save a lot of .refptr indirections, that are otherwise
generated for any extern symbols, even though they are later linked in
the same module, making all code smaller and maybe a little faster.
2023-02-14 16:07:44 +02:00
8959349ac9 configure.sh: Use SDK 0.20220601.0-1 2022-11-23 14:06:19 +02:00
6acaf51d6e configure.sh: Use SDK 0.20220601.0-0 2022-08-03 13:40:46 +03:00
d2e7a76010 configure.sh: Update default Proton SDK image to 0.20220329.0-0 2022-06-03 14:26:11 +03:00
76406455ac Build most of the fonts in the container.
We can move everything but Liberation fonts build to the container.
Sadly those require newer version of fontforge than the one available in
the Steam RT.

There's some extra logic necessary to assure that font build triggers in
the container with the default/all targets.

This removes the requirement to have afdko and fonttools installed on
the host.
2022-04-05 18:13:11 +03:00
701dad161f configure.sh: Don't check for autoconf.
It's not required on the host since
44d9fb94b2 ("build: Run autoreconf in the container.")
2022-04-05 18:13:11 +03:00
32e058dcbc Makefile.in: Build dav1d
CW-Bug-Id: #19516
2022-01-24 22:53:20 +02:00
3bffbe24b3 build: Rename build/makefile_base.mak to Makefile.in 2022-01-19 11:29:54 +02:00
f28e37b95c configure: Autodetect docker or podman 2022-01-19 11:29:54 +02:00
c308ae9f32 configure.sh: Update default Proton SDK image to 0.20211207.0-0. 2022-01-19 11:29:54 +02:00
158e04cb05 configure: Mention that people may need to install afdko using pip. 2021-11-11 18:36:07 +02:00
b82289bd0d build: Add support for relabeling container volumes. 2021-08-12 08:53:50 -05:00
fc18afd71e configure.sh: Expose --enable-ccache.
Until now the option had to be added by hand to the Makefile or
specified each `make` invocation.
2021-06-17 15:24:39 -05:00
c52532efce configure.sh: Detect rootless container setups.
Until now the option had to be added by hand to the Makefile or
specified each `make` invocation.
2021-06-17 15:24:39 -05:00
82ae47758f configure.sh: Add option to select container engine.
Configure will also test the container engine by trying to run the
selected SDK image.

This may make the first configure a bit slow, as it downloads the image,
but after that the SDK will be cached locally.
2021-06-17 15:24:39 -05:00
33814e973d configure.sh: Look for AFDKO.
Debian-like distributions install AFDKO's executables into libexec and
provide an `afdko` helper to call them.

Python's pip installs the executables in bin.

Let's support both.
2021-06-17 15:24:39 -05:00
f55d7adcb1 configure.sh: Check for host-side tools and warn if something is missing.
The checks don't exit immediately so users won't have to rerun configure
after installing only a single dependency.
2021-06-17 15:24:39 -05:00
8448591ebd build: Build with Proton SDK 0.20210505.0-2.
But disable XPresent extension for now.
2021-06-17 15:10:20 -05:00
0e897ff8b7 build: Move protonsdk_version default value to configure.sh. 2021-05-27 16:59:02 +02:00
a8b3580679 configure: Rename --no-steam-runtime to --no-proton-sdk. 2021-05-27 16:58:19 +02:00
9d5b7eb0cc configure: Rename --steam-runtime-image to --proton-sdk-image. 2021-05-27 16:58:19 +02:00
f417b5c3e3 configure: Use a single steam runtime image.
* Make it more flexible on the image name,

* Remove the image type support, only Docker is likely to be supported.

* Add target runtime name (scout / soldier), independent of the image.
2021-02-05 08:28:09 -06:00
dcf5f0f53c configure: Remove unused ffmpeg option. 2021-02-05 08:28:09 -06:00
26e8db3d6f configure: Remove no longer needed steam-runtime argument 2020-09-29 14:29:06 -05:00
030bdcd224 Simplify DXVK build 2019-07-03 08:11:05 -05:00
d68e71bed6 Build wine with dxvk cross-compiler
WARNING: Do not look directly into the build system without eye
protection.
2019-07-03 08:11:05 -05:00
5c5bfcc81e Build dxvk with a special cross-compiler
This mingw-w64 build is a more recent compiler and has dwarf2 exceptions
enabled.
2019-06-06 11:41:28 -05:00
72499898a7 configure.sh: Fix no steam runtime argument 2019-02-18 14:16:44 -06:00
0ecb100046 Run Wine in the steam runtime 2019-02-14 08:32:38 -06:00
416bea727e Shellcheck fixes for configure.sh and steamrt-bootstrap.sh
In steamrt-bootstrap,sh
  + Used quotes to prevent word splitting SC2046
  + Used $() notation rather than legacy backtick SC2006
  + which is non-standard. 'command -v' is builtin SC2230

In configure.sh
  + Assigned to local variable separately to avoid masking return values SC2155
  + Used to quote to prevent glob matching SC2053
  + Used -z command rather than ! -n SC2236
  + Fixed SC2129 which would have a minor performance gain of avoiding constantly opening and closing the makefile.
2018-11-16 12:54:56 -06:00
f097693864 Update README for new build system 2018-10-12 08:30:18 -05:00
1be8592535 makefile_base.mak: Implement makefile-based build system 2018-10-11 08:31:51 -05:00