diff --git a/Makefile.common b/Makefile.common index aada4f1f10..41a54ef570 100644 --- a/Makefile.common +++ b/Makefile.common @@ -544,7 +544,6 @@ OBJ += deps/libui/libui_main.o endif endif - # Miscellaneous ifeq ($(HAVE_STDIN_CMD), 1) @@ -1337,32 +1336,54 @@ ifeq ($(HAVE_7ZIP),1) $(7ZOBJ) endif +ifeq ($(HAVE_IBXM), 1) + DEFINES += -DHAVE_IBXM + OBJ += $(DEPS_DIR)/ibxm/ibxm.o +endif + ifeq ($(HAVE_FLAC),1) - CFLAGS += -I$(DEPS_DIR)/libFLAC/include - DEFINES += -DHAVE_FLAC -DHAVE_STDINT_H -DHAVE_LROUND -DFLAC__HAS_OGG=0 \ - -DFLAC_PACKAGE_VERSION="\"retroarch\"" - FLACOBJ = $(DEPS_DIR)/libFLAC/bitmath.o \ - $(DEPS_DIR)/libFLAC/bitreader.o \ - $(DEPS_DIR)/libFLAC/cpu.o \ - $(DEPS_DIR)/libFLAC/crc.o \ - $(DEPS_DIR)/libFLAC/fixed.o \ - $(DEPS_DIR)/libFLAC/float.o \ - $(DEPS_DIR)/libFLAC/format.o \ - $(DEPS_DIR)/libFLAC/lpc.o \ - $(DEPS_DIR)/libFLAC/lpc_intrin_avx2.o \ - $(DEPS_DIR)/libFLAC/lpc_intrin_sse2.o \ - $(DEPS_DIR)/libFLAC/lpc_intrin_sse41.o \ - $(DEPS_DIR)/libFLAC/lpc_intrin_sse.o \ - $(DEPS_DIR)/libFLAC/md5.o \ - $(DEPS_DIR)/libFLAC/memory.o \ - $(DEPS_DIR)/libFLAC/stream_decoder.o - ifneq ($(findstring Win32,$(OS)),) - DEFINES += -DHAVE_FSEEKO - # make sure not to use this on legacy Windows versions that don't have W-functions implemented - DEFINES += -DNEED_UTF8_SUPPORT - FLACOBJ += $(DEPS_DIR)/libFLAC/windows_unicode_filenames.o + DEFINES += -DHAVE_FLAC + ifeq ($(HAVE_BUILTINFLAC),1) + CFLAGS += -I$(DEPS_DIR)/libFLAC/include + DEFINES += -DHAVE_STDINT_H -DHAVE_LROUND -DFLAC__HAS_OGG=0 \ + -DFLAC_PACKAGE_VERSION="\"retroarch\"" + FLACOBJ = $(DEPS_DIR)/libFLAC/bitmath.o \ + $(DEPS_DIR)/libFLAC/bitreader.o \ + $(DEPS_DIR)/libFLAC/cpu.o \ + $(DEPS_DIR)/libFLAC/crc.o \ + $(DEPS_DIR)/libFLAC/fixed.o \ + $(DEPS_DIR)/libFLAC/float.o \ + $(DEPS_DIR)/libFLAC/format.o \ + $(DEPS_DIR)/libFLAC/lpc.o \ + $(DEPS_DIR)/libFLAC/lpc_intrin_avx2.o \ + $(DEPS_DIR)/libFLAC/lpc_intrin_sse2.o \ + $(DEPS_DIR)/libFLAC/lpc_intrin_sse41.o \ + $(DEPS_DIR)/libFLAC/lpc_intrin_sse.o \ + $(DEPS_DIR)/libFLAC/md5.o \ + $(DEPS_DIR)/libFLAC/memory.o \ + $(DEPS_DIR)/libFLAC/stream_decoder.o + ifneq ($(findstring Win32,$(OS)),) + DEFINES += -DHAVE_FSEEKO + # make sure not to use this on legacy Windows versions that don't have W-functions implemented + DEFINES += -DNEED_UTF8_SUPPORT + FLACOBJ += $(DEPS_DIR)/libFLAC/windows_unicode_filenames.o + endif + OBJ += $(FLACOBJ) + else + LIBS += $(FLAC_LIBS) + endif + ifeq ($(HAVE_7ZIP), 1) + ifeq ($(HAVE_ZLIB), 1) + DEFINES += -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR + CFLAGS += -I$(LIBRETRO_COMM_DIR)/formats/libchdr + OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/bitstream.o \ + $(LIBRETRO_COMM_DIR)/formats/libchdr/cdrom.o \ + $(LIBRETRO_COMM_DIR)/formats/libchdr/chd.o \ + $(LIBRETRO_COMM_DIR)/formats/libchdr/flac.o \ + $(LIBRETRO_COMM_DIR)/formats/libchdr/huffman.o \ + $(LIBRETRO_COMM_DIR)/streams/chd_stream.o + endif endif - OBJ += $(FLACOBJ) endif ifeq ($(HAVE_ZLIB), 1) @@ -1413,11 +1434,6 @@ ifeq ($(HAVE_RBMP), 1) OBJ += $(LIBRETRO_COMM_DIR)/formats/bmp/rbmp.o endif -ifeq ($(HAVE_IBXM), 1) - DEFINES += -DHAVE_IBXM - OBJ += $(DEPS_DIR)/ibxm/ibxm.o -endif - OBJ += $(LIBRETRO_COMM_DIR)/formats/bmp/rbmp_encode.o \ $(LIBRETRO_COMM_DIR)/formats/json/jsonsax.o \ $(LIBRETRO_COMM_DIR)/formats/json/jsonsax_full.o \ @@ -1427,21 +1443,6 @@ ifdef HAVE_COMPRESSION DEFINES += -DHAVE_COMPRESSION endif -ifeq ($(HAVE_7ZIP), 1) -ifeq ($(HAVE_ZLIB), 1) -ifeq ($(HAVE_FLAC), 1) - DEFINES += -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR - CFLAGS += -I$(LIBRETRO_COMM_DIR)/formats/libchdr - OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/bitstream.o \ - $(LIBRETRO_COMM_DIR)/formats/libchdr/cdrom.o \ - $(LIBRETRO_COMM_DIR)/formats/libchdr/chd.o \ - $(LIBRETRO_COMM_DIR)/formats/libchdr/flac.o \ - $(LIBRETRO_COMM_DIR)/formats/libchdr/huffman.o \ - $(LIBRETRO_COMM_DIR)/streams/chd_stream.o -endif -endif -endif - # Video4Linux 2 ifeq ($(HAVE_V4L2),1) diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 2e76d34ba8..cd2c5e9327 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -266,6 +266,15 @@ if [ "$HAVE_SDL2" = 'yes' ]; then fi fi +if [ "$HAVE_FLAC" = 'no' ]; then + HAVE_BUILTINFLAC=no +elif [ "$HAVE_BUILTINFLAC" = 'yes' ]; then + HAVE_FLAC=yes +else + check_pkgconf FLAC flac + check_val '' FLAC '-lFLAC' +fi + check_pkgconf LIBUSB libusb-1.0 1.0.13 if [ "$OS" = 'Win32' ]; then diff --git a/qb/config.params.sh b/qb/config.params.sh index 9d20ca8c79..00fef57db3 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -82,8 +82,9 @@ HAVE_SSE=no # x86 SSE optimizations (SSE, SSE2) HAVE_FLOATHARD=no # Force hard float ABI (for ARM) HAVE_FLOATSOFTFP=no # Force soft float ABI (for ARM) HAVE_7ZIP=yes # Compile in 7z support -HAVE_FLAC=yes # Compile in flac support -C89_FLAC=no +HAVE_FLAC=auto # Compile in flac support +HAVE_BUILTINFLAC=yes # Bake in flac support +C89_BUILTINFLAC=no HAVE_UPDATE_ASSETS=yes # Disable downloading assets with online updater HAVE_PRESERVE_DYLIB=no # Enable dlclose() for Valgrind support HAVE_PARPORT=auto # Parallel port joypad support