Commit Graph

696 Commits

Author SHA1 Message Date
Brad Parker 8343cf2680 re-word warning message 2019-01-06 17:39:19 -05:00
Brad Parker 65c6bb69a4 allow building Qt with --disable-menu 2019-01-06 17:37:36 -05:00
orbea 65c6caf5a6 qb: Add '--disable-menu'. (#7910)
This adds '--disable-menu' which will disable all of the menu drivers
including Qt. This will also allow disabling only rgui and not the other
menu drivers.
2019-01-06 17:30:50 -05:00
orbea 5428d2a833 Fix warning with '--disable-rgui' and '--disable-easteregg'. (#7908)
Fixes:

retroarch.c: In function ‘runloop_check_state’:
retroarch.c:2593:20: warning: variable ‘seq’ set but not used [-Wunused-but-set-variable]
    static uint64_t seq              = 0;
                    ^~~
2019-01-06 17:21:15 -05:00
Twinaphex 56c246482e
Merge pull request #7902 from orbea/rgui
qb: Fix '--disable-rgui'.
2019-01-06 09:16:01 +01:00
orbea 34f3eb7277 qb: Fix '--disable-rgui'.
Also fixes a crash on startup with '--disable-rgui'.

Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0x0000000000529f52 in strlcpy_retro__ (dest=0x7fffffffbb17 "treaming_toggle",
    source=0x1 <error: Cannot access memory at address 0x1>, size=250)
    at libretro-common/compat/compat_strl.c:38
38	      while (--n && (*dest++ = *source++)) src_size++;
(gdb) bt
    dest=0x7fffffffbb17 "treaming_toggle",
    source=0x1 <error: Cannot access memory at address 0x1>, size=250)
    at libretro-common/compat/compat_strl.c:38
    size=250) at libretro-common/compat/compat_strl.c:60
    out_path=0x7fffffffbb10 "input_", dir=0x94b460 "input", path=0x0,
    delim=95 '_', size=256) at libretro-common/file/file_path.c:964
    prefix=0x94b460 "input", btn=0x0, bind=0x151e180 <input_autoconf_binds+4672>)
    at input/input_driver.c:2483
    binds=0x151cf40 <input_autoconf_binds>) at tasks/task_autodetect.c:172
    params=0x26adb40, task=0x26b74f0) at tasks/task_autodetect.c:252
    params=0x26adb40, task=0x26b74f0) at tasks/task_autodetect.c:393
    at tasks/task_autodetect.c:851
    at libretro-common/queues/task_queue.c:182
    at libretro-common/queues/task_queue.c:609
    at frontend/frontend.c:146
    at frontend/frontend.c:170

Fixes https://github.com/libretro/RetroArch/issues/7893
2019-01-05 16:54:40 -08:00
Brad Parker bbfbefa9dd easter egg 2019-01-05 18:33:29 -05:00
Twinaphex e827c3648f
Merge pull request #7772 from orbea/opt
Makefile: Better respect CFLAGS and CXXFLAGS as environment variables.
2019-01-05 17:21:16 +01:00
orbea a7f5fc9431 qb: Fix mpv check.
This fixes the mpv configure check and disables it by default
to avoid exposing other bugs. It can be enabled again when those
isssues are fixed.
2018-12-30 20:04:42 -08:00
orbea fb6fe1a87c Makefile: Better respect CFLAGS and CXXFLAGS as environment variables.
This fixes a few subtle problems with passing CFLAGS and CXXFLAGS as
environment variables for configure.

First it will now only add these variables to config.mk when they are
actually set. If they are unset then the default optimizations in the
Makefile are set. This avoids passing more than one conflicting
optimization level to the compiler.

Next all CFLAGS are added to CXXFLAGS to avoid issues with forgetting to
set both CFLAGS and CXXFLAGS. This results in the cxx compiler getting
passed several redundant optimization levels when both the CFLAGS and
CXXFLAGS environment variabls are used. Now these uses of CFLAGS in
Makefile.common are set to DEF_FLAGS. This allows adding $(DEF_FLAGS)
to the CXXFLAGS variable without adding redundant flags from CFLAGS.

v2: Update other build files.
2018-12-30 17:17:19 -08:00
radius 0b13cba4ea add drmingw's exchndl support 2018-12-30 12:12:55 -05:00
Twinaphex 671b49afcd
Merge pull request #7833 from orbea/ffmpeg
qb: Only print threading warning when ffmpeg is not disabled.
2018-12-28 21:09:15 +01:00
orbea 1e513598d3 qb: Only print threading warning when ffmpeg is not disabled. 2018-12-28 11:51:27 -08:00
orbea 465b3e5774 qb: Disable the builtin lua by default.
Disables the builtin lua as it causes the mpv core to segfault and
doesn't do anything yet.
2018-12-28 10:32:02 -08:00
orbea c079a2f953 Makefile: Install assets only for enabled menus.
Currently RetroArch will install assets for xmb, materialui and ozone
unconditionally.

This change will now only install assets when RetroArch is compiled
with support for the relevant menu driver. This also exposes assets
from the nuklear and zarch menu drivers which are still disabled by
default.
2018-12-23 09:55:05 -08:00
orbea 7e4723e37a qb: Minor cleanup.
This uses safer quoting and removes an unneeded use of printf.

Fixes the following shellcheck warning.

In qb/qb.libs.sh line 143:
	if [ $3 ]; then
             ^-- SC2086: Double quote to prevent globbing and word splitting.

v2: Remove redundant conditional.
2018-12-21 08:32:01 -08:00
nia 1721bd07c4 Use the correct message when printing macro tests. 2018-12-21 14:23:13 +00:00
nia 3ef9bbb592 Add an AudioIO dirver for NetBSD and Solaris. 2018-12-21 14:15:30 +00:00
orbea 066bbd1a29 Makefile.common: Remove redundant conditionals.
C89 builds are only used for the qb build system currently and these are
already checked in qb/config.params.sh.

Additionally the HAVE_NETWORKING check is handled with qb/config.lib.sh
where HAVE_SSL and HAVE_BUILTINMBEDTLS are disabled if networking is
also disabled. The other build systems should never define HAVE_SSL or
HAVE_BUILTINMBEDTLS without HAVE_NETWORKING. Also there are no other
build systems that rely on Makefile.common using this yet.
2018-12-20 10:49:23 -08:00
Twinaphex 7835d0c54c
Merge pull request #7745 from orbea/mbedtls
Support building with the system mbedtls.
2018-12-19 01:53:14 +01:00
orbea e0c634cd76 qb: Fix typo. 2018-12-15 19:02:36 -08:00
orbea dc020f2569 qb: Support building with the system mbedtls.
Fixes https://github.com/libretro/RetroArch/issues/7639

v2: Fix build failures with griffin.
2018-12-15 09:10:43 -08:00
orbea 9be245ad75 qb: Extend check_header.
Now the check_header function can test any number of header files
instead of only four.
2018-12-14 19:16:20 -08:00
Sunderland93 27f2cc0bff Increase minimal Wayland version to 1.15 2018-12-09 19:28:45 +04:00
Sunderland93 830882e296 Merge branch 'server-decorations' 2018-12-09 19:03:57 +04:00
Sunderland93 dc94886664 Initial support for xdg-decoration-unstable-v1 2018-12-05 22:51:07 +04:00
twinaphex 4ca7ebc9da Add xrandr implementation for get_output_options 2018-11-27 11:28:24 +01:00
Sunderland93 ea180a1775 Relax wayland and wayland-protocols version's 2018-11-26 21:58:43 +04:00
Sunderland93 c32c98e667 Very WIP: xdg-shell support 2018-11-17 16:01:51 +04:00
natinusala 6f631309cd ozone: always enable and build, set to default menu driver for libnx 2018-11-15 18:46:38 +01:00
natinusala 158ddc0b2a New menu driver : ozone (Nintendo Switch lookalike) 2018-10-26 13:24:32 +02:00
twinaphex ba020720db Add HAVE_NETPLAYDISCOVERY 2018-10-12 18:29:52 +02:00
twinaphex 2c546597b4 Don't bake in cheevos for C89 for now until issues are fixed 2018-10-01 03:33:54 +02:00
Andre Leiradella 77df31256d Only build Lua if HAVE_LUA is defined; define HAVE_LUA by default
Define RC_DISABLE_LUA if HAVE_LUA is not defined
2018-09-29 18:39:29 +01:00
Brad Parker 7731db9ed8 Qt: link to openssl so Qt will have it for later 2018-08-26 10:40:33 -04:00
twinaphex f657391b2a mbedtls does not support C89 so don't use HAVE_SSL for C89_BUILD 2018-08-13 03:21:08 -07:00
twinaphex 27c2c6c6d7 Add Discord integration 2018-08-08 07:32:37 +02:00
Brad Parker 4baecf84ca Qt: add option to update RetroArch (Windows only for now) 2018-08-06 20:52:47 -04:00
twinaphex 2f1dd78a77 Set HAVE_SSL=yes by default for Windows/Linux 2018-08-04 18:50:53 +02:00
Twinaphex 6150bd9772
Merge pull request #7010 from bparker06/qt_grid
Qt: initial working grid view
2018-07-23 17:45:43 +02:00
twinaphex 6cee45ab99 Don't bake in HAVE_STRIPES by default 2018-07-23 17:42:57 +02:00
Brad Parker 75ce796c34 Merge branch 'master' into qt_grid 2018-07-22 20:03:55 -04:00
Rob Loach aba179a910
Merge branch 'master' into stripes 2018-07-22 13:30:47 -04:00
Brad Parker ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
Brad Parker 04d5e6368e Merge branch 'master' into qt_grid 2018-07-02 11:52:04 -04:00
twinaphex 0286829348 Start adding HAVE_MPV ifdefs 2018-06-20 04:29:31 +02:00
Zoran Vuckovic b487c3cace Add MIDI support 2018-06-16 21:17:32 +02:00
Brad Parker ef8390dee1 Merge branch 'master' into qt_grid 2018-06-07 11:57:05 -04:00
twinaphex 8ad1ddbac5 Disable discord support for C89 2018-05-29 10:42:18 +02:00
twinaphex e056cd8005 Disable HAVE_DISCORD for now 2018-05-29 10:22:07 +02:00
radius d5c2bc90c1 add discord files 2018-05-28 23:46:36 -05:00
Brad Parker f79ba4885a Qt: threaded grid image loading 2018-05-03 22:05:12 -04:00
orbea 8f861d438b qb: Fix checking the CXX compiler
This does the following.

1. Fixes checking if the CXX compiler works on platforms other than windows.
2. Turns the error when the CXX compiler is missing or doesn't work into a warning.
3. Adds HAVE_CC and HAVE_CXX.
4. Only adds CC and CXX to config.mk when HAVE_CC or HAVE_CXX are true.
5. Disables Qt companion, Vulkan, CXX_BUILD and NEED_CXX_LINKER if HAVE_CXX is false.
6. Explicitly errors when the CXX compiler is broken or missing and Qt or vulkan support is enabled.
7. No longer explicitly links with the CXX compiler on windows since this should no longer be needed.

This also adds the function `check_enabled` to `qb/qb.lib.sh` which
can be used to dynamically disable any libraries that require C++
support.
2018-05-03 12:24:32 -07:00
orbea 237a705a82 qb: Always print CC and CXX variables if set. 2018-05-01 17:47:14 -07:00
orbea b2f508d72e qb: Improve moc detection (#6680) 2018-05-01 13:40:42 -04:00
Brad Parker 20cb92c185 qb: allow building without Qt 2018-05-01 16:24:19 +00:00
Brad Parker 6639d0ed89 qb: don't fail if moc is missing 2018-05-01 08:51:57 -07:00
Brad Parker 791aaa00e1 qb: detect Qt automatically 2018-04-30 22:11:55 -07:00
twinaphex b7ceedd891 Qt GUI won't work for C89 2018-04-30 21:03:47 +02:00
Brad Parker a1aefc901c Qt WIMP GUI 2018-04-30 14:33:05 -04:00
twinaphex 958602d328 HAVE_BUILTINFLAC no longer needs to be excluded for C89 2018-04-27 23:17:28 +02:00
twinaphex 997c24ae0c Make FLAC, zlib and LZMA support in libchdr optional 2018-04-22 20:19:07 +02:00
twinaphex e0b57843aa Enable HAVE_D3D10 now for main Windows build 2018-04-21 05:14:50 +02:00
radius 3792a5e502 remap-redux part2: cleanup 2018-04-08 12:13:49 -05:00
Jean-André Santoni 1614519874 Clone xmb to stripe menu 2018-04-08 09:55:16 +07:00
Twinaphex 9a97c73dc2
Merge pull request #6285 from orbea/sysconfdir
qb: Add --sysconfdir
2018-04-07 22:54:30 +02:00
twinaphex c041470bb0 Add HAVE_RUNAHEAD ifdef 2018-03-29 15:38:22 +02:00
twinaphex ddf34bacfd Disable D3D10 for now by default until it gets menu display driver
support and shader support
2018-02-15 12:46:37 +01:00
orbea 72a02b7647 qb: Add --sysconfdir
This also deprecates --global-config-dir.
2018-02-11 09:54:57 -08:00
orbea 85e4f5d94d qb: Add --docdir
By default 'make install' will now install the following 2-3 files
to $(DESTDIR)$(SHARE_DIR)/doc/retroarch which by default is
/usr/local/share/doc/retroarch.

COPYING
README.md

and if media/assets exists it will install:

media/assets/COPYING to COPYING.assets

Users will be able to configure this install path with.

./configure --docdir=PATH

For example:

./configure --docdir=/usr/doc/RetroArch-1.7.0
2018-02-10 08:55:54 -08:00
orbea 72ff4c4d44 qb: Add --bindir and --mandir.
This also deprecates --with-bin_dir and --with-man_dir.
2018-02-08 12:01:28 -08:00
Twinaphex 103c8c3939
Merge pull request #6237 from orbea/datarootdir
qb: Add --datarootdir to configure.
2018-02-08 05:47:18 +01:00
twinaphex f364d2d3ec (C89) Don't build D3D9/10/11/12 2018-02-04 23:25:12 +01:00
orbea b67bb87c8d qb: Add --datarootdir to configure.
This allows a user to use --datarootdir=PATH to configure the
share directory used for pixmaps, desktop files, man pages and assets.

By default this will be '/usr/local/share'. Assets and man page install
paths can still be configured with:
  --with-man_dir=PATH
and
  --with-assets_dir=PATH

Some operating systems like Haiku use unconventional install paths
and this should allow them to configure their build correctly.
2018-02-04 13:54:55 -08:00
twinaphex aeab2e5bd1 enable d3d10/11/12 again for mingw build 2018-01-30 16:04:45 +01:00
twinaphex 15fb080e74 Turn this off by default again until we properly solve this on the
buildbot
2018-01-30 14:54:07 +01:00
twinaphex fde8cbecf2 Try to see if this works 2018-01-29 17:48:57 +01:00
Twinaphex 34699a9504
Update config.params.sh 2018-01-29 17:42:23 +01:00
twinaphex 9436cc0234 - Add HAVE_HLSL to qb/config.params.sh, set to no by default
- (D3D9 HLSL) Fix build/compilation
2018-01-26 04:09:35 +01:00
Twinaphex 706a549f03
Update config.params.sh 2018-01-25 15:02:23 +01:00
twinaphex d387cfbfbe Add include/dxsdk 2018-01-23 23:40:17 +01:00
twinaphex c24e66e61c (QB) Add HAVE_DIRECT3D11/HAVE_DIRECT3D12 (disabled by default
for now)
2018-01-23 07:45:16 +01:00
orbea cc26f4a88c qb: Don't overwrite defaults
Haiku really should use the configure flags provided, that is why they exists.

In this case.

./configure \
  --global-config-dir=$PREFIX/settings
  --with-assets_dir=$PREFIX/data
  --with-mand_dir=$PREFIX/documentation/man

Changing the defaults just makes the script more complicated for no good reason.
2018-01-20 09:27:02 -08:00
kwyxz b9585df325 Update Haiku port to allow it to build again 2018-01-20 00:19:01 -08:00
twinaphex 11f26ed549 Refactor verbosity code - try to avoid log calls if verbosity is not
set
2018-01-17 06:28:26 +01:00
orbea c8d25a9152 qb: Enable pulse detection for SunOS again. 2018-01-15 09:54:39 -08:00
orbea 06648ca21b qb: Silence shellcheck warning.
Line 25:
SORT=sort
^-- SC2209: Use var=$(command) to assign output (or quote to assign string).
2018-01-14 09:12:41 -08:00
kwyxz f566ecebf4 Disabling Pulse for now 2018-01-11 14:51:18 -08:00
kwyxz a11decf61d Added SunOS to the list of targets + fixed a sort specificity 2018-01-11 14:48:43 -08:00
orbea 4415086176
Revert "Fix building with built-in flac" 2018-01-08 18:12:53 +00:00
Brian Koropoff 4ad0a1214e Fix building with built-in flac
Not having HAVE_FLAC caused CHD support to be missing, etc.
This updates the logic to match how zlib is handled.
2018-01-07 10:48:09 -08:00
twinaphex f677a7ad7e Add HAVE_OVERLAY to qb system 2018-01-05 16:10:34 +01:00
orbea e2b003a993 qb: Only look in /opt/vc/include if $HAVE_VIDEOCORE=yes. 2018-01-02 09:40:36 -08:00
orbea 48982de355 qb: Improve build without pkg-config. 2018-01-02 09:40:36 -08:00
orbea 8287a961e4 qb: Enable vulkan for Win32.
The check_lib function does not seem able to detect vulkan on windows,
this replaces a hack in Makefile.common that does the same, but while allowing
C89_BUILD=1 and --disable-vulkan to work.
2018-01-01 10:09:17 -08:00
orbea f993355f71 qb: Fix undefined miniupnpc references with C89_BUILD=1
LD retroarch
obj-unix/./libretro-common/net/net_natt.o: In function `natt_open_port':
/RetroArch/libretro-common/net/net_natt.c:120: undefined reference to `UPNP_AddAnyPortMapping'
/RetroArch/libretro-common/net/net_natt.c:133: undefined reference to `UPNP_GetExternalIPAddress'
/RetroArch/libretro-common/net/net_natt.c:126: undefined reference to `UPNP_AddPortMapping'
obj-unix/./libretro-common/net/net_natt.o: In function `natt_init':
/RetroArch/libretro-common/net/net_natt.c:61: undefined reference to `upnpDiscover'
/RetroArch/libretro-common/net/net_natt.c:74: undefined reference to `miniwget'
/RetroArch/libretro-common/net/net_natt.c:77: undefined reference to `parserootdesc'
/RetroArch/libretro-common/net/net_natt.c:79: undefined reference to `GetUPNPUrls'
/RetroArch/libretro-common/net/net_natt.c:81: undefined reference to `freeUPNPDevlist'
collect2: error: ld returned 1 exit status
make: *** [Makefile:159: retroarch] Error 1
2017-12-31 14:18:02 -08:00
orbea 24f69cb537 qb: Fix undefined flac references with C89_BUILD=1 2017-12-30 22:40:02 -08:00
orbea c96ae959b3 qb: Add a fallback path for jack audio without pkg-config
This is a proof of concept for the fallback path without pkg-config.
As jack is something often not installed by default it demonstrates
that when pkg-config exists and the dependency doesn't the check_val
function in qb/qb.libs.sh will redundantly check -ljack and as expected,
fail. It also shows that when pkg-config is not installed and jack is
enabled with --enable-jack it will bail and print a configure error.
2017-12-30 20:56:40 -08:00
orbea a37d624967 qb: Improve the check_val function.
This accomplishes two things for the fallback path without pkg-config.

1. If --disable-foo is passed to configure it will explicitly skip
   check_val. This has the benefit of reducing checks in
   qb/config.libs.sh which are easy to break due to human error.

2. When a fallback path exists and --enable-foo is passed to configure,
   but fails due to the missing -lfoo check_val will now bail and print
   a configure error. However --enable-foo will still be ignored if
   there is no fallback path and pkg-config is not installed.

One issue with this is that if pkg-config is installed and the package
foo is not, it will still check if -lfoo works. As not all pkg-config
implemenations can be trusted to work even if they exist this seems
unavoidable.
2017-12-30 20:56:40 -08:00
orbea 7ab2254fc4 qb: Fix --disable-oss for openbsd.
If --disable-oss is passed to configure we should not check for any oss support.
2017-12-30 15:45:19 -08:00