Commit Graph

866 Commits

Author SHA1 Message Date
Twinaphex
76c97bbfad
Merge pull request #10009 from orbea/qb-win
qb: Clean up.
2020-01-15 07:52:30 +01:00
orbea
77baa1c930 qb: Clean up. 2020-01-14 22:12:22 -08:00
orbea
d41b7770c4 qb: Fix the qt configure check with older compilers. 2020-01-14 21:01:50 -08:00
orbea
0dbfd721b3 qb: Move BUILD_DIRS to the correct function. 2020-01-14 20:06:09 -08:00
orbea
04af898fe5 qb: Remove potentially unsafe uses of eval. 2020-01-14 14:30:28 -08:00
orbea
d89b7f93b2 qb: Update the exists function. 2020-01-14 10:20:35 -08:00
orbea
19e86a2b19 qb: Allow multi argument CC and CXX. 2020-01-13 09:41:14 -08:00
twinaphex
88ee7cbfa8 Add HAVE_ACCESSIBILITY switch 2020-01-12 21:33:00 +01:00
Bartłomiej Burdukiewicz
562bf11946 Fixed more compiler invokes in configure stage. 2020-01-07 15:38:15 +01:00
twinaphex
0029598822 (ANGLE) Add MINGW32/MINGW64 detection 2020-01-05 21:46:19 +01:00
twinaphex
4380b73ca6 Add HAVE_DYNAMIC_EGL option 2020-01-05 19:14:47 +01:00
Bartłomiej Burdukiewicz
4ca5af4ac9 Fixed compiler invoke in configure stage. 2020-01-04 18:27:58 +01:00
twinaphex
3033491f3d Turn HAVE_EASTEREGG into HAVE_GONG 2019-12-22 03:08:02 +01:00
twinaphex
587a56026e Disable HAVE_UPDATE_CORES for Steam too 2019-12-18 18:13:05 +01:00
twinaphex
14c5825769 (Qb) Add ANGLE build option - currently requires you to put the required
libs in angle-x64 dir and then have the shared libs inside the main root
dir - after this, we want to try static linking
2019-12-07 21:01:44 +01:00
twinaphex
328d5bf648 For ANGLE, point the EGL include dir to our copied files on
the repo
2019-12-07 10:52:14 +01:00
twinaphex
7f1c1db651 Now that we can build with ANGLE, we have to take this out 2019-12-07 10:30:28 +01:00
twinaphex
5aa87c1734 Add HAVE_ANGLE switch 2019-12-07 08:16:00 +01:00
Nils Hasenbanck
c88f2b31ee Fix ffmpeg core build under linux.
Libass is optional again. This build will also compile with
ffmpeg 3.4 again, but HW acceleration is not guaranteed to work,
since it hasn't been tested well enough.
2019-12-05 19:39:56 +01:00
Twinaphex
9df2a6fd99
Merge pull request #9676 from orbea/qb3
Some minor qb changes.
2019-11-19 06:15:55 +01:00
Twinaphex
8518b4f50b
Merge pull request #9673 from orbea/deprecate
qb: Remove deprecated arguments.
2019-11-19 06:15:40 +01:00
twinaphex
9d0356dd73 Add HAVE_STEAM switch 2019-11-18 08:04:29 +01:00
twinaphex
08ce33eed0 Add HAVE_ONLINE_UPDATER 2019-11-11 00:22:03 +01:00
twinaphex
bc657778fe Add HAVE_UPDATE_CORES - by running ./configure --disable-update_cores
you can strip out the Online Core Updater
2019-11-10 15:55:39 +01:00
orbea
b427f44908 qb: Update configure checks to print the check before the result.
This is very helpful for debugging in case the check just exits or hangs
unexpectingly.
2019-11-01 09:02:01 -07:00
orbea
98de418b7a qb: Improve the windres check. 2019-11-01 09:01:38 -07:00
orbea
8fc4a788e1 qb: Make the pkgconfig check more simple pt. 2: 2019-11-01 08:38:52 -07:00
orbea
b590d0a219 qb: Print ... earlier.
Its better if the ... is printed before the check in case of unexpected
errors where it will look better.
2019-11-01 08:37:27 -07:00
orbea
98b04b99dc qb: Remove deprecated arguments.
Please use --bindir, --mandir and --sysconfdir now.
2019-10-31 22:53:52 -07:00
orbea
14e159decf qb: Make the pkgconfig check more simple. 2019-10-31 22:36:04 -07:00
orbea
d0442f4468 qb: Update the die function. 2019-10-15 19:29:29 -07:00
orbea
70fd455b13 qb: Fix --disable-networking.
Fixes https://github.com/libretro/RetroArch/issues/9580.
2019-10-15 07:37:24 -07:00
twinaphex
4fbf823707 Enable HAVE_VIDEO_LAYOUT by default 2019-10-14 00:31:44 +02:00
Ryan 'Swingflip' Hamlin
9be6d265b4
Fixed bug with QB. (Now doesn't look for the x11 client library headers (lxcb) if --disable-x11 is true) 2019-09-29 21:46:22 +01:00
Brad Parker
c7c7d0988e initial network video driver, sends raw frames over TCP 2019-09-17 04:18:44 +02:00
twinaphex
ccc6d65c43 (Translation) Enable by default for PC platforms, fix CXX_BUILD 2019-08-21 20:57:08 +02:00
Twinaphex
0ae7560026
Merge pull request #9206 from orbea/sixel
qb: Use check_val for caca and sixel.
2019-07-29 22:48:55 +02:00
orbea
91f486b255 qb: Clean up. 2019-07-29 07:24:10 -07:00
orbea
93e3248949 qb: Retain HAVE_NO variables.
Fixes a small oversight, nothing is using this code anyways so
I didn't notice at first.
2019-07-28 08:00:22 -07:00
orbea
59cb198dda qb: Make sure CONFIG_OPTS only contains HAVE_ variables. 2019-07-28 07:59:41 -07:00
orbea
13cf3cdef2 qb: Refactor how config.h and config.mk are created.
This is a potential security issue.

The problem is that config.h and config.mk are populated with
all variables prefixed with 'HAVE_' from the user's environment.

Example:

  $ HAVE_FOO=yes ./configure
  $ grep FOO config.mk
  HAVE_FOO = 1
  $ grep FOO config.h
  #define HAVE_FOO 1

After this commit these files will only use variables set by
qb configure process and not from the user's environment. This
issue could result in hard to diagnose undefined behavior or
maybe worse?

The user should experience no change in behavior, but
developers should be more careful about setting 'HAVE_'
variables manually.

Unless the FOO variable is used by check_enabled ($2 only),
check_platform, check_lib, check_pkgconf, check_header,
check_macro or check_switch functions it should be set at
least once by the new add_opt function. The first argument
should be 'FOO' which matches the HAVE_FOO variable and the
second argument should contain 'auto', 'no' or 'yes'.

Example:

  add_opt FOO yes

When in doubt its safe to use add_opt. This will also fix a
few potential issues where configure arguments used by the
user are ignored.

When the second argument is not set the FOO variable will only
be used to populate config.h and config.mk with its current
value. This should only be done in qb/qb.libs.sh in functions
that set 'HAVE_' variables.
2019-07-28 07:59:41 -07:00
orbea
4c121523aa qb: Use check_val for caca and sixel. 2019-07-27 00:57:06 -07:00
orbea
de7bf62f86 qb: Enable HAVE_SLANG, HAVE_GLSLANG and HAVE_SPRIV_CROSS dynamically.
May help issue https://github.com/libretro/RetroArch/issues/9160.
2019-07-21 15:10:02 -07:00
orbea
d896acb0c2 Fix --disable-hid. 2019-07-21 09:17:09 -07:00
Twinaphex
af2b2b07f2
Merge pull request #9150 from orbea/glsl
qb: Improve the glsl check.
2019-07-21 11:49:09 +02:00
Twinaphex
013eb8d619
Merge pull request #9146 from orbea/win32
qb: Improve win32 checks.
2019-07-21 11:48:50 +02:00
Twinaphex
e3faaa575a
Merge pull request #9147 from orbea/slang
qb: Improve the slang, glslang and SPIRV-Cross checks.
2019-07-21 11:48:31 +02:00
orbea
19774f820f qb: Improve the glsl check. 2019-07-21 00:46:14 -07:00
orbea
ba1ed7aa13 qb: Allow --enable-metal for osx only. 2019-07-21 00:18:41 -07:00
orbea
a7c03df014 qb: Improve the slang, glslang and SPIRV-Cross checks. 2019-07-20 23:30:40 -07:00
orbea
b893f58868 qb: Improve win32 checks. 2019-07-20 22:39:55 -07:00
twinaphex
b6b22a9a32 More shader refactors - make sure we can compile entirely
without shader support if HAVE_CG, HAVE_GLSL, HAVE_SLANG
and HAVE_HLSL are all not defined
2019-07-21 00:34:07 +02:00
twinaphex
260b06750d It's possible to build and run D3D10/11/12 without glslang/spirv-cross -
just no frontend shaders
2019-07-20 21:23:37 +02:00
twinaphex
c6c8d03f29 Take out HAVE_D3D10 rule 2019-07-20 21:07:03 +02:00
twinaphex
e2e9823eb7 Revert "D3D10/11/12 can work without SPIRV-Cross/glslang - you just won't"
This reverts commit 4fcf2c42ef.
2019-07-20 21:03:09 +02:00
twinaphex
4fcf2c42ef D3D10/11/12 can work without SPIRV-Cross/glslang - you just won't
be able to load frontend shaders
2019-07-20 20:53:28 +02:00
twinaphex
8fe7e3f730 (Qb) Add HAVE_DR_MP3 2019-07-20 16:42:46 +02:00
twinaphex
cd9cbc0881 (qb) Add HAVE_METAL, set it to 'no' for now 2019-07-20 16:34:49 +02:00
twinaphex
39120e8ffc Fix C89_BUILD 2019-07-20 15:17:04 +02:00
twinaphex
a4573f1dd5 (Qb) Update config.libs.sh - there are more hardware renderers now 2019-07-20 15:05:28 +02:00
twinaphex
13fa504919 Set these to enable by default 2019-07-20 14:06:19 +02:00
twinaphex
bcb9762ec8 (qb) Add HAVE_SLANG, HAVE_SPIRV_CROSS, HAVE_GLSLANG 2019-07-20 13:52:18 +02:00
twinaphex
a60463fd76 (qb) Add HAVE_XAUDIO 2019-07-20 00:12:55 +02:00
twinaphex
2f2c53586c (qb) Add HAVE_CC_RESAMPLER 2019-07-19 19:03:48 +02:00
twinaphex
c5be03c209 (Qb) Add winmm switch 2019-07-19 17:53:19 +02:00
twinaphex
0ad02dc72d (Qb) Add way to exclude WASAPI 2019-07-19 17:31:08 +02:00
twinaphex
0cd4f6623f (qb) Add HAVE_DSOUND option 2019-07-19 17:18:51 +02:00
Brad Parker
e843354b14 cdrom: use sys/ioctl header instead of stropts 2019-07-15 10:38:54 -04:00
orbea
76e130a988 qb: Fix the CDROM check.
This improves the CDROM check.

Fixes https://github.com/libretro/RetroArch/issues/9096
2019-07-12 11:35:22 -07:00
orbea
89a8202dc5 qb: Extend check_platform.
This extends the check_platform function to support checking more
than one OS for each feature.

This also adds the match helper function to qb.init.sh to compare
one variable against a list of variables.
2019-07-12 11:35:22 -07:00
twinaphex
bddfca940e Add HAVE_GDI switch 2019-07-11 13:18:38 +02:00
twinaphex
b2bf822f13 Add HAVE_AUDIOMIXER switch 2019-07-11 11:51:06 +02:00
Brad Parker
79aa9afc8c enable CDROM read support by default for Windows (mingw) and Linux 2019-07-09 14:10:09 -04:00
twinaphex
f0f5c32b51 Remove state tracker - legacy code - we can revisit this later
and integrate it in a way so that it scales across all drivers
2019-07-09 07:39:38 +02:00
orbea
4c7aa40a17 qb: Extend the check_enabled function.
This extends the check_enabled function to be able to check more than
one feature. In the case of RPNG it depends on either the builtin or
system zlib, but if the system zlib was not available while the builtin
zlib was it would still be disabled erroneously.

Now it will only be disabled if both the system and builtin zlib are
disabled.
2019-06-19 22:49:16 -07:00
bparker06
b945cfbbf9
Update config.params.sh 2019-06-13 11:56:19 -04:00
orbea
c450b7d2f2 qb: Improve various tests.
Also fixes a compile failure with --disable-networking
2019-06-08 17:22:05 -07:00
orbea
0af5352f56 qb: Clean up EGL check 2019-06-08 09:12:06 -07:00
orbea
9794e4af07 qb: Add missing checks for EGL support.
Some systems may have egl libraries, but not egl headers which
will result in failing to build EGL support.

Also OpenGLES2 also required EGL support so lets make that clear.
2019-06-08 07:26:31 -07:00
orbea
1489a66ea5 qb: Improve the Qt check. 2019-06-04 08:26:15 -07:00
Twinaphex
240f0a578c
Merge pull request #8792 from orbea/enabled
qb: Improve X11 checks.
2019-06-03 17:00:58 +02:00
Twinaphex
b3d3f2db58
Merge pull request #8781 from orbea/haiku
qb: Add check_platform.
2019-06-02 18:10:19 +02:00
orbea
8922e96869 qb: Add check_platform.
This allows enabling and disabling features for platforms
more robustly.

Fixes https://github.com/libretro/RetroArch/issues/8777

v2: Fix D3D configure checks.
v3: Cleanup.
v4: Update Makefile.msvc and Makefile.win
2019-06-02 08:48:05 -07:00
orbea
04c184252d qb: Improve X11 checks. 2019-06-02 08:45:24 -07:00
orbea
fbe6639ee1 qb: Log the configure arguments in config.log. 2019-06-02 07:04:56 -07:00
orbea
0d167afc4f Fix the OpenGLES3 build.
This depends on HAVE_EGL.

Revert "Remove this Travis test for now"

This reverts commit 678089c2de.
2019-06-01 13:37:48 -07:00
Twinaphex
8610a77dac
Merge pull request #8892 from orbea/egl
Revert "(EGL) Turn EGL off by default for now until we figure out how"
2019-06-01 21:36:37 +02:00
orbea
0498f8ba1c Revert "(EGL) Turn EGL off by default for now until we figure out how"
This reverts commit 8076d06c24.

This seems to work again.
2019-06-01 07:46:46 -07:00
orbea
35d4405d3e qb: Fix the zlib check.
This is the correct change to prefer the builtin zlib.

Revert "(QB) Bake in zlib by default, make zlib as dynamic library dependency"

This reverts commit 2713e792ca.

Revert "(QB) Change behavior - if HAVE_ZLIB = no, that doesn't mean"

This reverts commit f66fe5e16b.
2019-06-01 07:39:02 -07:00
twinaphex
6a30a1f89a Disable Discord for C89 again 2019-05-28 16:27:21 +02:00
twinaphex
876e1a43aa Remove C89_DISCORD 2019-05-28 16:02:09 +02:00
twinaphex
f66fe5e16b (QB) Change behavior - if HAVE_ZLIB = no, that doesn't mean
HAVE_BUILTINZLIB will also be set to no implicitly. It will still
try to use the baked in zlib. If you want to build without any zlib
support entirely, you now need to do this -

./configure --disable-zlib --disable-builtinzlib
2019-05-27 15:44:54 +02:00
twinaphex
2713e792ca (QB) Bake in zlib by default, make zlib as dynamic library dependency
optional instead
2019-05-27 15:03:38 +02:00
twinaphex
8076d06c24 (EGL) Turn EGL off by default for now until we figure out how
to leave this to on without it breaking PC buildss
2019-05-26 09:16:58 +02:00
nia
3be224989d qb.libs.sh: Use CFLAGS in header check. 2019-05-18 22:42:25 +01:00
Twinaphex
b0bfe1c9be
Revert "qb.libs.sh: Use $CFLAGS when searching for header files and macros." 2019-05-18 19:00:01 +02:00
nia
efcf6220b9 qb.libs.sh: Use $CFLAGS when searching for header files and macros.
Allows configuring with --enable-gl on systems with OpenGL outside the
standard compiler search path (assuming CFLAGS is set correctly...)
2019-05-18 17:17:59 +01:00
orbea
f5a9c21b99 qb: Improve the KMS check. 2019-05-13 08:45:24 -07:00
orbea
271aef55a4 qb: Improve the OpenGLES build. 2019-05-13 08:02:26 -07:00
twinaphex
f904c698d2 Disable this - crashes at startup 2019-05-13 00:56:37 +02:00