Commit Graph
41 Commits
Author SHA1 Message Date
Arkadiusz Hiler ea08ded0ca configure.sh: Remove mentions of --no-proton-sdk. 2023-12-12 17:37:45 +02:00
Nozomi Miyamori 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
Arkadiusz Hiler 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
Arkadiusz Hiler 5018cb5ab7 configure.sh: Don't allow people to build in the root of the source tree. 2023-06-05 17:55:10 +03:00
Arkadiusz Hiler 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
Arkadiusz Hiler 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
Arkadiusz Hiler 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
Arkadiusz Hiler 28aeb63901 build: Switch over to sniper-based SDK container. 2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 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
Rémi Bernon 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
Arkadiusz Hiler 8959349ac9 configure.sh: Use SDK 0.20220601.0-1 2022-11-23 14:06:19 +02:00
Andrew Eikum 6acaf51d6e configure.sh: Use SDK 0.20220601.0-0 2022-08-03 13:40:46 +03:00
Arkadiusz Hiler d2e7a76010 configure.sh: Update default Proton SDK image to 0.20220329.0-0 2022-06-03 14:26:11 +03:00
Arkadiusz Hiler 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
Arkadiusz Hiler 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
Andrew Eikum 32e058dcbc Makefile.in: Build dav1d
CW-Bug-Id: #19516
2022-01-24 22:53:20 +02:00
Andrew Eikum 3bffbe24b3 build: Rename build/makefile_base.mak to Makefile.in 2022-01-19 11:29:54 +02:00
Arkadiusz Hiler f28e37b95c configure: Autodetect docker or podman 2022-01-19 11:29:54 +02:00
Rémi Bernon c308ae9f32 configure.sh: Update default Proton SDK image to 0.20211207.0-0. 2022-01-19 11:29:54 +02:00
Arkadiusz Hiler 158e04cb05 configure: Mention that people may need to install afdko using pip. 2021-11-11 18:36:07 +02:00
Arkadiusz Hiler b82289bd0d build: Add support for relabeling container volumes. 2021-08-12 08:53:50 -05:00
Arkadiusz Hiler 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
Arkadiusz Hiler 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
Arkadiusz Hiler 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
Arkadiusz Hiler 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