Try to fix duplicate symbols error on emscripten

This commit is contained in:
meepingsnesroms
2018-11-08 13:59:48 -08:00
parent 7275de328e
commit f9d4e65603
3 changed files with 47 additions and 44 deletions

View File

@@ -95,7 +95,7 @@ ifeq ($(platform), unix)
EXT ?= so
TARGET := $(TARGET_NAME)_libretro$(PLAT).$(EXT)
fpic := -fPIC
SHARED := -shared -Wl,--version-script=build/link.T
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T
ifneq ($(findstring Haiku,$(shell uname -a)),)
LIBM :=
endif
@@ -105,7 +105,7 @@ else ifeq ($(platform), linux-portable)
EXT ?= so
TARGET := $(TARGET_NAME)_libretro.$(EXT)
fpic := -fPIC -nostdlib
SHARED := -shared -Wl,--version-script=build/link.T
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T
LIBM :=
# OS X
@@ -167,7 +167,7 @@ else ifeq ($(platform), qnx)
EXT ?= so
TARGET := $(TARGET_NAME)_libretro_qnx.$(EXT)
fpic := -fPIC
SHARED := -shared -Wl,--version-script=build/link.T
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T
CC = qcc -Vgcc_ntoarmv7le
AR = qcc -Vgcc_ntoarmv7le
@@ -251,7 +251,7 @@ else ifeq ($(platform), ctr)
else ifeq ($(platform), rpi2)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T -Wl,--no-undefined
CFLAGS += -DARM
CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CFLAGS += -fomit-frame-pointer -ffast-math
@@ -261,7 +261,7 @@ else ifeq ($(platform), rpi2)
else ifeq ($(platform), rpi3)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T -Wl,--no-undefined
CFLAGS += -DARM
CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations
CFLAGS += -fomit-frame-pointer -ffast-math
@@ -281,7 +281,7 @@ else ifeq ($(platform), xenon)
else ifeq ($(platform), nintendoc)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T -Wl,--no-undefined
CFLAGS += -DARM
CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CFLAGS += -fomit-frame-pointer -ffast-math
@@ -360,7 +360,7 @@ else ifeq ($(platform), gcw0)
CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc
CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++
AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar
SHARED := -shared -Wl,--version-script=build/link.T
SHARED := -shared -Wl,--version-script=$(BUILD_DIR)/link.T
fpic := -fPIC
CFLAGS += $(PTHREAD_FLAGS)
CFLAGS += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float
@@ -414,7 +414,7 @@ else
EXT ?= dll
TARGET := $(TARGET_NAME)_libretro.$(EXT)
CC = gcc
SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=build/link.T
SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=$(BUILD_DIR)/link.T
CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
endif
@@ -482,7 +482,7 @@ all: $(TARGET)
$(TARGET): $(OBJECTS)
ifeq ($(platform), emscripten)
$(CC) $(CFLAGS) --version-script=build/link.T $(OBJOUT)$@ $^
$(CC) $(CFLAGS) $(OBJOUT)$@ $^
else ifeq ($(STATIC_LINKING_LINK),1)
ifneq (,$(findstring msvc,$(platform)))
$(LD) $(LINKOUT)$@ $(OBJECTS)

View File

@@ -5,19 +5,19 @@ COREDEFINES =
INCFLAGS := -I$(LIBRETRO_COMM_DIR)/include
ifeq ($(DEBUG), 1)
COREDEFINES += -DEMU_DEBUG -DEMU_SANDBOX
COREDEFINES += -DEMU_DEBUG -DEMU_SANDBOX
else
COREDEFINES += -DEMU_NO_SAFETY
COREDEFINES += -DEMU_NO_SAFETY
endif
ifneq (,$(findstring msvc200,$(platform)))
INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc
INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc
endif
ifneq (,$(findstring msvc20,$(platform)))
#Mu is dependent on stdbool.h and the standard inline directive existing
INCFLAGS += -I$(CORE_DIR)/fixIncludes/stdbool
COREDEFINES += -Dinline=_inline -DINLINE=_inline
#Mu is dependent on stdbool.h and the standard inline directive existing
INCFLAGS += -I$(CORE_DIR)/fixIncludes/stdbool
COREDEFINES += -Dinline=_inline -DINLINE=_inline
endif
include $(EMU_PATH)/makefile.all
@@ -25,15 +25,18 @@ include $(EMU_PATH)/makefile.all
COREDEFINES += $(EMU_DEFINES)
SOURCES_C := $(CORE_DIR)/libretro.c \
$(CORE_DIR)/cursors.c \
$(LIBRETRO_COMM_DIR)/compat/compat_posix_string.c \
$(LIBRETRO_COMM_DIR)/compat/compat_strl.c \
$(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \
$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \
$(LIBRETRO_COMM_DIR)/memmap/memmap.c \
$(LIBRETRO_COMM_DIR)/streams/file_stream.c \
$(LIBRETRO_COMM_DIR)/string/stdstring.c \
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \
$(EMU_SOURCES_C)
$(CORE_DIR)/cursors.c \
$(EMU_SOURCES_C)
ifneq ($(STATIC_LINKING), 1)
SOURCES_C += $(LIBRETRO_COMM_DIR)/compat/compat_strl.c \
$(LIBRETRO_COMM_DIR)/compat/compat_posix_string.c \
$(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \
$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \
$(LIBRETRO_COMM_DIR)/memmap/memmap.c \
$(LIBRETRO_COMM_DIR)/streams/file_stream.c \
$(LIBRETRO_COMM_DIR)/string/stdstring.c \
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c
endif
SOURCES_ASM := $(EMU_SOURCES_ASM)

View File

@@ -1,26 +1,26 @@
EMU_DEFINES :=
EMU_SOURCES_ASM :=
EMU_SOURCES_C := $(EMU_PATH)/emulator.c \
$(EMU_PATH)/memoryAccess.c \
$(EMU_PATH)/hardwareRegisters.c \
$(EMU_PATH)/sed1376.c \
$(EMU_PATH)/ads7846.c \
$(EMU_PATH)/pdiUsbD12.c \
$(EMU_PATH)/sdCard.c \
$(EMU_PATH)/silkscreen.c \
$(EMU_PATH)/flx68000.c \
$(EMU_PATH)/audio/blip_buf.c \
$(EMU_PATH)/audio/inductor.c \
$(EMU_PATH)/debug/sandbox.c
$(EMU_PATH)/memoryAccess.c \
$(EMU_PATH)/hardwareRegisters.c \
$(EMU_PATH)/sed1376.c \
$(EMU_PATH)/ads7846.c \
$(EMU_PATH)/pdiUsbD12.c \
$(EMU_PATH)/sdCard.c \
$(EMU_PATH)/silkscreen.c \
$(EMU_PATH)/flx68000.c \
$(EMU_PATH)/audio/blip_buf.c \
$(EMU_PATH)/audio/inductor.c \
$(EMU_PATH)/debug/sandbox.c
ifeq ($(EMU_OPTIMIZE_FOR_ARM), true)
EMU_DEFINES += -DEMU_OPTIMIZE_FOR_ARM
EMU_SOURCES_ASM += $(EMU_PATH)/m68k/cyclone/Cyclone.s
EMU_DEFINES += -DEMU_OPTIMIZE_FOR_ARM
EMU_SOURCES_ASM += $(EMU_PATH)/m68k/cyclone/Cyclone.s
else
EMU_SOURCES_C += $(EMU_PATH)/m68k/musashi/m68kops.c \
$(EMU_PATH)/m68k/musashi/m68kopnz.c \
$(EMU_PATH)/m68k/musashi/m68kopdm.c \
$(EMU_PATH)/m68k/musashi/m68kopac.c \
$(EMU_PATH)/m68k/musashi/m68kdasm.c \
$(EMU_PATH)/m68k/musashi/m68kcpu.c
EMU_SOURCES_C += $(EMU_PATH)/m68k/musashi/m68kops.c \
$(EMU_PATH)/m68k/musashi/m68kopnz.c \
$(EMU_PATH)/m68k/musashi/m68kopdm.c \
$(EMU_PATH)/m68k/musashi/m68kopac.c \
$(EMU_PATH)/m68k/musashi/m68kdasm.c \
$(EMU_PATH)/m68k/musashi/m68kcpu.c
endif