View | Details | Raw Unified | Return to bug 271374 | Differences between
and this patch

Collapse All | Expand All

(-)b/emulators/mame/Makefile (-110 / +123 lines)
Lines 1-6 Link Here
1
PORTNAME=	mame
1
PORTNAME=	mame
2
PORTVERSION=	0.254
2
DISTVERSION=	0.254
3
PORTREVISION=	1
3
PORTREVISION=	2
4
CATEGORIES=	emulators games
4
CATEGORIES=	emulators games
5
5
6
MAINTAINER=	agh@riseup.net
6
MAINTAINER=	agh@riseup.net
Lines 21-181 LICENSE_FILE= ${WRKSRC}/docs/LICENSE Link Here
21
ONLY_FOR_ARCHS=	aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le
21
ONLY_FOR_ARCHS=	aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le
22
ONLY_FOR_ARCHS_REASON=	not yet ported to any architecture other than armv7, arm64, x86, and powerpc*
22
ONLY_FOR_ARCHS_REASON=	not yet ported to any architecture other than armv7, arm64, x86, and powerpc*
23
23
24
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/py-sphinxcontrib-svg2pdfconverter@${PY_FLAVOR}
24
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinxcontrib-svg2pdfconverter>0:textproc/py-sphinxcontrib-svg2pdfconverter@${PY_FLAVOR} \
25
		glm>0:math/glm \
26
		rapidjson>0:devel/rapidjson
25
LIB_DEPENDS=	libexpat.so:textproc/expat2 \
27
LIB_DEPENDS=	libexpat.so:textproc/expat2 \
26
		libFLAC.so:audio/flac \
28
		libFLAC.so:audio/flac \
27
		libfontconfig.so:x11-fonts/fontconfig \
29
		libfontconfig.so:x11-fonts/fontconfig \
28
		libfreetype.so:print/freetype2 \
30
		libfreetype.so:print/freetype2 \
29
		libpugixml.so:textproc/pugixml
31
		libportmidi.so:audio/portmidi \
32
		libpugixml.so:textproc/pugixml \
33
		libutf8proc.so:textproc/utf8proc \
34
		libuv.so:devel/libuv
30
RUN_DEPENDS=	liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
35
RUN_DEPENDS=	liberation-fonts-ttf>=0:x11-fonts/liberation-fonts-ttf
31
36
32
USES=		compiler:c++14-lang gl gmake jpeg localbase lua:54 pkgconfig \
37
USES=		compiler:c++17-lang gl gmake jpeg localbase lua:54 pkgconfig \
33
		python:3.9,build qt:5 sdl shebangfix sqlite:3 xorg
38
		python:3.9,build sdl shebangfix sqlite:3 xorg
34
39
35
USE_GITHUB=	yes
40
USE_GITHUB=	yes
36
GH_ACCOUNT=	mamedev
41
GH_ACCOUNT=	mamedev
37
GH_PROJECT=	mame # explicit (master port)
42
GH_TAGNAME=	mame${DISTVERSION:S/.//}
38
GH_TAGNAME=	mame${PORTVERSION:S/.//}
39
USE_GL=		gl
43
USE_GL=		gl
40
USE_QT=		buildtools core gui qmake widgets
41
USE_SDL=	sdl2 ttf2
44
USE_SDL=	sdl2 ttf2
42
USE_XORG=	x11 xext xi xinerama xrender
45
USE_XORG=	x11 xext xi xinerama xrender
43
46
44
MAKEFILE=	makefile
47
MAKEFILE=	makefile
45
MAKE_ARGS=	TARGETOS=freebsd \
48
MAKE_ARGS=	TARGETOS=freebsd \
46
		TOOLS=1 \
49
		VERBOSE="1"
47
		USE_SYSTEM_LIB_PUGIXML=1 \
50
MAKE_ENV=	LDOPTS="${LDFLAGS}" \
48
		USE_SYSTEM_LIB_SQLITE3=1 \
51
		NO_USE_PORTAUDIO=1 \
49
		VERBOSE=1
52
		NO_USE_PULSEAUDIO=1 \
50
MAKE_ENV=	FULLNAME="mame" \
51
		GCC_LDFLAGS="${LDFLAGS}" \
52
		LD="${CXX}" \
53
		NOWERROR=1 \
53
		NOWERROR=1 \
54
		OPT_FLAGS="${CXXFLAGS}" \
54
		OPT_FLAGS="${CXXFLAGS}" \
55
		PYTHON="${PYTHON_CMD}" \
55
		PRECOMPILE=0 \
56
		SDL_NETWORK="pcap" \
56
		PYTHON_EXECUTABLE="${PYTHON_CMD}" \
57
		SUBTARGET="${MSUBTARGET}" \
57
		USE_PCAP=1 \
58
		TARGET="${MTARGET}" \
58
		USE_SYSTEM_LIB_EXPAT=1 \
59
		USE_NETWORK=1
59
		USE_SYSTEM_LIB_FLAC=1 \
60
60
		USE_SYSTEM_LIB_GLM=1 \
61
BINARY_ALIAS=	python3=${PYTHON_CMD} python=${PYTHON_CMD}
61
		USE_SYSTEM_LIB_JPEG=1 \
62
SUB_FILES=	pkg-message target.ini
62
		USE_SYSTEM_LIB_PORTMIDI=1 \
63
SUB_LIST=	MSUBTARGET=${MSUBTARGET} \
63
		USE_SYSTEM_LIB_PUGIXML=1 \
64
		MTARGET=${MTARGET}
64
		USE_SYSTEM_LIB_RAPIDJSON=1 \
65
65
		USE_SYSTEM_LIB_SQLITE3=1 \
66
PORTDOCS=	LICENSE html/* legal/*
66
		USE_SYSTEM_LIB_UTF8PROC=1 \
67
PORTEXAMPLES=	${MSUBTARGET}.ini
67
		USE_SYSTEM_LIB_UV=1 \
68
68
		USE_SYSTEM_LIB_ZLIB=1 \
69
OPTIONS_DEFINE=	DEBUG DOCS EXAMPLES
69
		USE_TAPTUN=1
70
DEBUG_DESC=	Build with debug profiling and symbols
70
71
DOCS_DESC=	Install additional MAME documentation
71
SUB_FILES=	pkg-message mame.ini plugin.ini ui.ini
72
EXAMPLES_DESC=	Install example ${EMULATOR}.ini configuration
72
73
73
PORTDOCS=	html/*
74
DEBUG_MAKE_ENV=	DEBUG=1
74
75
75
OPTIONS_DEFINE=	DEBUG DOCS QTDEBUGGER TOOLS
76
GENIE=		${WRKSRC}/3rdparty/genie
76
OPTIONS_SUB=	yes
77
MSUBTARGET=	mame
77
78
MTARGET=	mame
78
DEBUG_DESC=		Build with debug profiling and symbols
79
DOCS_DESC=		Install extensive online MAME documentation
80
QTDEBUGGER_DESC=	Install Qt interactive low-level machine debugger
81
TOOLS_DESC=		Install tools for machine archiving and development
82
83
DEBUG_MAKE_ENV=			DEBUG=1 \
84
				OPTIMIZE=0 \
85
				PROFILER=1 \
86
				SYMBOLS=1
87
DEBUG_MAKE_ENV_OFF=		OPTIMIZE=2 \
88
				STRIP_SYMBOLS=1
89
# Attempt to avoid address space exhaustion during linking, specifically
90
# on armv7, and possibly other architectures:
91
DEBUG_LDFLAGS_OFF=		-s
92
QTDEBUGGER_USES=		qt:5
93
QTDEBUGGER_USE=			QT=core,gui,widgets,buildtools:build,qmake:build
94
QTDEBUGGER_MAKE_ENV=		USE_QTDEBUG=1
95
QTDEBUGGER_MAKE_ENV_OFF=	USE_QTDEBUG=0
96
TOOLS_MAKE_ENV=			TOOLS=1
97
TOOLS_MAKE_ENV_OFF=		TOOLS=0
98
99
_GENIE=		${WRKSRC}/3rdparty/genie
79
100
80
.include <bsd.port.options.mk>
101
.include <bsd.port.options.mk>
81
102
82
.if ${PORT_OPTIONS:MDEBUG}
103
.if ${PORT_OPTIONS:MDEBUG}
83
WITH_DEBUG=	"YES"
104
WITH_DEBUG=	yes
84
MAKE_ENV+=	DEBUG="1" \
105
.endif
85
		OPTIMIZE="0" \
106
86
		PROFILER="1" \
107
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1400000
87
		SYMBOLS="1"
108
USES+=		llvm:15,build
109
MAKE_ENV+=	OVERRIDE_AR="llvm-ar${LLVM_VERSION}" \
110
		OVERRIDE_CC="clang${LLVM_VERSION}" \
111
		OVERRIDE_CXX="clang++${LLVM_VERSION}" \
112
		OVERRIDE_LD="lld${LLVM_VERSION}"
88
.else
113
.else
89
# avoid address space exhaustion in linker on armv7
114
MAKE_ENV+=	OVERRIDE_AR="${AR}" \
90
LDFLAGS+=	-s
115
		OVERRIDE_CC="${CC}" \
116
		OVERRIDE_CXX="${CXX}" \
117
		OVERRIDE_LD="${LD}"
91
.endif
118
.endif
92
119
93
.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH:Mpowerpc64*}
120
.if ${ARCH:Maarch64} || ${ARCH:Mamd64} || ${ARCH:Mpowerpc64*}
94
MAKE_ARGS+=	PTR64=1
121
MAKE_ARGS+=	PTR64=1
95
.endif
122
.endif
96
123
97
EMULATOR=	${MSUBTARGET}
124
post-extract:
98
PLIST_SUB+=	EMULATOR=${EMULATOR}
125
	@${MV} ${WRKSRC}/src/lib/util/png.h \
126
		${WRKSRC}/src/lib/util/localpng.h
127
128
post-patch:
129
# Prefer some system headers over bundled.
130
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
131
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
132
# Accommodate GENie conception of BSD.
133
	@${MV} ${_GENIE}/build/gmake.freebsd \
134
		${_GENIE}/build/gmake.bsd
135
# Patch build to use bundled PNG.
136
	@${GREP} -rl '"png.h"' ${WRKSRC}/src | \
137
		${XARGS} ${REINPLACE_CMD} -e 's|"png.h"|"localpng.h"|'
138
	@${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
139
		${WRKSRC}/src/frontend/mame/ui/icorender.cpp
99
140
100
do-build-DOCS-on:
141
do-build-DOCS-on:
101
	(cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \
142
	(cd ${WRKSRC}/docs && \
102
		${MAKE_CMD} ${MAKE_ARGS} html \
143
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} html SPHINXBUILD=sphinx-build-${PYTHON_VER})
103
		SPHINXBUILD=sphinx-build-${PYTHON_VER})
104
	@${RM} ${WRKSRC}/docs/build/html/.buildinfo
144
	@${RM} ${WRKSRC}/docs/build/html/.buildinfo
105
145
106
do-install:
146
post-build:
107
.for PROGRAM in castool chdman floptool imgtool jedutil ldresample ldverify \
147
	(cd ${WRKSRC}/docs && \
108
	nltool nlwav pngcmp regrep romcmp split srcclean testkeys unidasm
148
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} man SPHINXBUILD=sphinx-build-${PYTHON_VER})
109
	${INSTALL_PROGRAM} ${WRKSRC}/${PROGRAM} \
110
		${STAGEDIR}${PREFIX}/bin
111
.endfor
112
149
113
.for data in artwork bgfx ctrlr ini hash language plugins samples
150
do-install:
151
.for DATA in artwork bgfx ctrlr ini hash language plugins samples
114
	(cd ${WRKSRC} && \
152
	(cd ${WRKSRC} && \
115
		${COPYTREE_SHARE} ${data} ${STAGEDIR}${DATADIR})
153
		${COPYTREE_SHARE} ${DATA} ${STAGEDIR}${DATADIR})
116
.endfor
154
.endfor
117
155
118
	${MKDIR} ${STAGEDIR}${DOCSDIR}
156
	${MKDIR} ${STAGEDIR}${DOCSDIR}
119
	${INSTALL_MAN} ${WRKSRC}/docs/man/*.1 \
157
	${INSTALL_MAN} ${WRKSRC}/docs/build/man/MAME.1 \
120
		${STAGEDIR}${MANPREFIX}/man/man1
158
		${STAGEDIR}${MANPREFIX}/man/man1
121
	${INSTALL_MAN} ${WRKSRC}/docs/build/man/*.1 \
159
	${INSTALL_MAN} ${WRKSRC}/docs/man/mame.6 \
122
		${STAGEDIR}${MANPREFIX}/man/man1
123
	${INSTALL_MAN} ${WRKSRC}/docs/man/${EMULATOR}.6 \
124
		${STAGEDIR}${MANPREFIX}/man/man6
160
		${STAGEDIR}${MANPREFIX}/man/man6
125
	${INSTALL_MAN} ${WRKSRC}/docs/LICENSE \
126
		${STAGEDIR}${DOCSDIR}
127
	(cd ${WRKSRC}/docs && \
128
		${COPYTREE_SHARE} legal ${STAGEDIR}${DOCSDIR})
129
161
130
do-install-DEBUG-off:
162
	${MKDIR} ${STAGEDIR}${ETCDIR}
131
	${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET} \
163
.for INI in mame plugin ui
132
		${STAGEDIR}${PREFIX}/bin/${EMULATOR}
164
	${INSTALL_DATA} ${WRKDIR}/${INI}.ini \
165
		${STAGEDIR}${ETCDIR}/${INI}.ini.sample
166
.endfor
133
167
134
do-install-DEBUG-on:
168
do-install-DEBUG-on:
135
	${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET}d \
169
	${INSTALL_PROGRAM} ${WRKSRC}/mamed \
136
		${STAGEDIR}${PREFIX}/bin/${EMULATOR}
170
		${STAGEDIR}${PREFIX}/bin/mame
137
171
138
post-build:
172
do-install-DEBUG-off:
139
	cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \
173
	${INSTALL_PROGRAM} ${WRKSRC}/mame \
140
		${MAKE_CMD} ${MAKE_ARGS} man \
174
		${STAGEDIR}${PREFIX}/bin/
141
		SPHINXBUILD=sphinx-build-${PYTHON_VER}
142
175
143
post-install-DOCS-on:
176
do-install-DOCS-on:
144
	${MKDIR} ${STAGEDIR}${DOCSDIR}
177
	${MKDIR} ${STAGEDIR}${DOCSDIR}
145
	(cd ${WRKSRC}/docs/build && \
178
	(cd ${WRKSRC}/docs/build && \
146
		${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
179
		${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
147
180
148
post-install-EXAMPLES-on:
181
do-install-TOOLS-on:
149
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
182
.for PROGRAM in castool chdman floptool imgtool jedutil ldresample ldverify \
150
	${INSTALL_DATA} ${WRKDIR}/target.ini \
183
	nltool nlwav pngcmp regrep romcmp split srcclean testkeys unidasm
151
		${STAGEDIR}${EXAMPLESDIR}/${EMULATOR}.ini
184
	${INSTALL_PROGRAM} ${WRKSRC}/${PROGRAM} \
185
		${STAGEDIR}${PREFIX}/bin
186
.endfor
152
187
153
post-patch:
188
.for MANUAL in castool chdman floptool imgtool jedutil ldplayer ldresample \
154
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
189
	ldverify romcmp
155
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
190
	${INSTALL_MAN} ${WRKSRC}/docs/man/${MANUAL}.1 \
156
	@${MV} ${GENIE}/build/gmake.freebsd \
191
		${STAGEDIR}${MANPREFIX}/man/man1
157
		${GENIE}/build/gmake.bsd
192
.endfor
158
	@${REINPLACE_CMD} -e \
159
		's|^\(AR \)|#\1| ; \
160
		 s|^\(CC \)|#\1| ; \
161
		 s|^\(CXX \)|#\1| ; \
162
		 s|^\(CXX:\)|#\1| ; \
163
		 s|^\(LD \)|#\1| ; \
164
		 s| .(ARCH)||g' \
165
		 ${WRKSRC}/makefile \
166
		 ${GENIE}/build/gmake.bsd/genie.make
167
	@${REINPLACE_CMD} -e 's|gcc|${CC}|; s|g++|${CXX}|' \
168
		${GENIE}/src/tools/gcc.lua \
169
		${GENIE}/src/tools/snc.lua \
170
		${GENIE}/tests/test_gmake_cpp.lua
171
	@${REINPLACE_CMD} -e 's|= \"gcc|= \"${CC}|; s|= \"g++|= \"${CXX}|' \
172
		-e "s|'CXX =|'#CXX =|; s|'CC  =|'#CC  =|; s| .(ARCH)| |g" \
173
		${GENIE}/src/host/scripts.c
174
	@${GREP} -rl '"png.h"' ${WRKSRC}/src | \
175
		${XARGS} ${REINPLACE_CMD} -e 's|"png.h"|"localpng.h"|'
176
	@${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
177
		${WRKSRC}/src/frontend/mame/ui/icorender.cpp
178
	@${MV} ${WRKSRC}/src/lib/util/png.h \
179
		${WRKSRC}/src/lib/util/localpng.h
180
193
181
.include <bsd.port.mk>
194
.include <bsd.port.mk>
(-)b/emulators/mame/files/mame.ini.in (-22 / +35 lines)
Lines 7-37 writeconfig 0 Link Here
7
#
7
#
8
# CORE SEARCH PATH OPTIONS
8
# CORE SEARCH PATH OPTIONS
9
#
9
#
10
homepath                  ~/.%%MTARGET%%
10
homepath                  ~/.mame
11
rompath                   ~/.%%MTARGET%%/roms;%%DATADIR%%/roms/
11
rompath                   ~/.mame/roms;%%DATADIR%%/roms/
12
hashpath                  ~/.%%MTARGET%%/hash;%%DATADIR%%/hash/
12
hashpath                  ~/.mame/hash;%%DATADIR%%/hash/
13
samplepath                ~/.%%MTARGET%%/samples;%%DATADIR%%/samples/
13
samplepath                ~/.mame/samples;%%DATADIR%%/samples/
14
artpath                   ~/.%%MTARGET%%/artwork;%%DATADIR%%/artwork/
14
artpath                   ~/.mame/artwork;%%DATADIR%%/artwork/
15
ctrlrpath                 ~/.%%MTARGET%%/ctrlr;%%DATADIR%%/ctrlr/
15
ctrlrpath                 ~/.mame/ctrlr;%%DATADIR%%/ctrlr/
16
inipath                   ~/.%%MTARGET%%/;.;~/.%%MTARGET%%/ini;%%DATADIR%%/ini/
16
inipath                   ~/.mame/ini;%%DATADIR%%/ini/;.
17
fontpath                  ~/.%%MTARGET%%/font;%%DATADIR%%/font/
17
fontpath                  ~/.mame/font;%%DATADIR%%/font/
18
cheatpath                 ~/.%%MTARGET%%/cheat;%%DATADIR%%/cheat/
18
cheatpath                 ~/.mame/cheat;%%DATADIR%%/cheat/
19
crosshairpath             ~/.%%MTARGET%%/crosshair;%%DATADIR%%/crosshair/
19
crosshairpath             ~/.mame/crosshair;%%DATADIR%%/crosshair/
20
pluginspath               ~/.%%MTARGET%%/plugins;%%DATADIR%%/plugins/
20
pluginspath               ~/.mame/plugins;%%DATADIR%%/plugins/
21
languagepath              ~/.%%MTARGET%%/language;%%DATADIR%%/language/
21
languagepath              ~/.mame/language;%%DATADIR%%/language/
22
swpath                    ~/.%%MTARGET%%/software;%%DATADIR%%/software/
22
swpath                    ~/.mame/software;%%DATADIR%%/software/
23
23
24
#
24
#
25
# CORE OUTPUT DIRECTORY OPTIONS
25
# CORE OUTPUT DIRECTORY OPTIONS
26
#
26
#
27
cfg_directory             ~/.%%MTARGET%%/cfg
27
cfg_directory             ~/.mame/cfg
28
nvram_directory           ~/.%%MTARGET%%/nvram
28
nvram_directory           ~/.mame/nvram
29
input_directory           ~/.%%MTARGET%%/inp
29
input_directory           ~/.mame/inp
30
state_directory           ~/.%%MTARGET%%/state
30
state_directory           ~/.mame/state
31
snapshot_directory        ~/.%%MTARGET%%/snapshot
31
snapshot_directory        ~/.mame/snapshot
32
diff_directory            ~/.%%MTARGET%%/diff
32
diff_directory            ~/.mame/diff
33
comment_directory         ~/.%%MTARGET%%/comments
33
comment_directory         ~/.mame/comments
34
share_directory           ~/.%%MTARGET%%/share
34
share_directory           ~/.mame/share
35
35
36
#
36
#
37
# CORE STATE/PLAYBACK OPTIONS
37
# CORE STATE/PLAYBACK OPTIONS
Lines 138-143 offscreen_reload 0 Link Here
138
joystick_map              auto
138
joystick_map              auto
139
joystick_deadzone         0.3
139
joystick_deadzone         0.3
140
joystick_saturation       0.85
140
joystick_saturation       0.85
141
joystick_threshold        0.3
141
natural                   0
142
natural                   0
142
joystick_contradictory    0
143
joystick_contradictory    0
143
coin_impulse              0
144
coin_impulse              0
Lines 211-219 http_port 8080 Link Here
211
http_root                 web
212
http_root                 web
212
213
213
#
214
#
214
# OSD KEYBOARD MAPPING OPTIONS
215
# OSD INPUT MAPPING OPTIONS
215
#
216
#
216
uimodekey                 auto
217
uimodekey                 auto
218
controller_map            none
219
background_input          0
217
220
218
#
221
#
219
# OSD FONT OPTIONS
222
# OSD FONT OPTIONS
Lines 330-335 glsl_shader_screen9 none Link Here
330
sound                     auto
333
sound                     auto
331
audio_latency             2
334
audio_latency             2
332
335
336
#
337
# OSD MIDI OPTIONS
338
#
339
midiprovider              auto
340
341
#
342
# OSD EMULATED NETWORKING OPTIONS
343
#
344
networkprovider           auto
345
333
#
346
#
334
# BGFX POST-PROCESSING OPTIONS
347
# BGFX POST-PROCESSING OPTIONS
335
#
348
#
(-)b/emulators/mame/files/patch-3rdparty_genie_build_gmake.freebsd_genie.make (+63 lines)
Added Link Here
1
--- 3rdparty/genie/build/gmake.freebsd/genie.make.orig	2023-05-26 04:14:50 UTC
2
+++ 3rdparty/genie/build/gmake.freebsd/genie.make
3
@@ -28,9 +28,9 @@ endif
4
   RM    = $(SILENT) del /F "$(subst /,\\,$(1))" 2> nul || exit 0
5
 endif
6
 
7
-CC  = gcc
8
-CXX = g++
9
-AR  = ar
10
+CC  ?= gcc
11
+CXX ?= g++
12
+AR  ?= ar
13
 
14
 ifndef RESCOMP
15
   ifdef WINDRES
16
@@ -49,17 +49,17 @@ ifeq ($(config),release)
17
   DEFINES            += -DNDEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
18
   INCLUDES           += -I"../../src/host/lua-5.3.0/src"
19
   ALL_CPPFLAGS       += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
20
-  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
21
-  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
22
-  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
23
-  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
24
-  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -Os $(MPARAM)
25
+  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -Os $(MPARAM)
26
+  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -Os $(MPARAM)
27
+  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -Os $(MPARAM)
28
+  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -Os $(MPARAM)
29
+  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -Os $(MPARAM)
30
   ALL_RESFLAGS       += $(RESFLAGS) $(DEFINES) $(INCLUDES)
31
   ALL_LDFLAGS        += $(LDFLAGS) -L. -s -rdynamic
32
   LDDEPS             +=
33
   LIBS               += $(LDDEPS) -lm
34
   EXTERNAL_LIBS      +=
35
-  LINKCMD             = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)
36
+  LINKCMD             = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES)  $(ALL_LDFLAGS) $(LIBS)
37
   OBJECTS := \
38
 	$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o \
39
 	$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o \
40
@@ -132,17 +132,17 @@ ifeq ($(config),debug)
41
   DEFINES            += -D_DEBUG -DLUA_COMPAT_MODULE -DLUA_USE_POSIX -DLUA_USE_DLOPEN
42
   INCLUDES           += -I"../../src/host/lua-5.3.0/src"
43
   ALL_CPPFLAGS       += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES)
44
-  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
45
-  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
46
-  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
47
-  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
48
-  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Wall -Wextra -g
49
+  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -g
50
+  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -g
51
+  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -g
52
+  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -g
53
+  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS)  -Wall -Wextra -g
54
   ALL_RESFLAGS       += $(RESFLAGS) $(DEFINES) $(INCLUDES)
55
   ALL_LDFLAGS        += $(LDFLAGS) -L. -rdynamic
56
   LDDEPS             +=
57
   LIBS               += $(LDDEPS) -lm
58
   EXTERNAL_LIBS      +=
59
-  LINKCMD             = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS)
60
+  LINKCMD             = $(CC) -o $(TARGET) $(OBJECTS) $(RESOURCES)  $(ALL_LDFLAGS) $(LIBS)
61
   OBJECTS := \
62
 	$(OBJDIR)/src/host/lua-5.3.0/src/lapi.o \
63
 	$(OBJDIR)/src/host/lua-5.3.0/src/lauxlib.o \
(-)b/emulators/mame/files/patch-3rdparty_genie_src_host_scripts.c (+16 lines)
Added Link Here
1
--- 3rdparty/genie/src/host/scripts.c.orig	2023-05-22 09:40:13 UTC
2
+++ 3rdparty/genie/src/host/scripts.c
3
@@ -237,10 +237,10 @@ const char* builtin_scripts[] = {
4
 	"exit 0')\n_p('  COPY  = $(SILENT) copy /Y \"$(subst /,\\\\\\\\,$(1))\" \"$(subst /,\\\\\\\\,$(2))\"')\n_p('  RM    = $(SILENT) del /F \"$(subst /,\\\\\\\\,$(1))\" 2> nul || exit 0')\n_p('endif')\n_p('')\n_p('CC  = %s', cc.cc)\n_p('CXX = %s', cc.cxx)\n_p('AR  = %s', cc.ar)\n_p('')\n_p('ifndef RESCOMP')\n_p('  ifdef WINDRES')\n_p('    RESCOMP = $(WINDRES)')\n_p('  else')\n_p('    RESCOMP = %s', cc.rc or 'windres')\n_p('  endif')\n_p('endif')\n_p('')\nif (not premake.make.makefile_ignore) then\n_p('MAKEFILE = %s', _MAKE.getmakefilename(prj, true))\n_p('')\nend\nend\nlocal function is_excluded(prj, cfg, file)\nif table.icontains(prj.excludes, file) then\nreturn true\nend\nif table.icontains(cfg.excludes, file) then\nreturn true\nend\nreturn false\nend\nfunction premake.gmake_cpp_configs(prj, cc, platforms)\nfor _, platform in ipairs(platforms) do\nfor cfg in premake.eachconfig(prj, platform) do\npremake.gmake_cpp_config(prj, cfg, cc)\nend\nend\nend\nfunction premake.gmake_cpp_config(prj, cfg, cc)\n_p('ifeq ($(conf"
5
 	"ig),%s)', _MAKE.esc(cfg.shortname))\ncpp.platformtools(cfg, cc)\nlocal targetDir = _MAKE.esc(cfg.buildtarget.directory)\n_p('  ' .. (table.contains(premake.make.override,\"OBJDIR\") and \"override \" or \"\") ..    'OBJDIR              = %s', _MAKE.esc(cfg.objectsdir))\n_p('  ' .. (table.contains(premake.make.override,\"TARGETDIR\") and \"override \" or \"\") .. 'TARGETDIR           = %s', iif(targetDir == \"\", \".\", targetDir))\n_p('  ' .. (table.contains(premake.make.override,\"TARGET\") and \"override \" or \"\") ..    'TARGET              = $(TARGETDIR)/%s', _MAKE.esc(cfg.buildtarget.name))\n_p('  DEFINES            +=%s', make.list(_MAKE.escquote(cc.getdefines(cfg.defines))))\nlocal id  = make.list(cc.getincludedirs(cfg.includedirs));\nlocal uid = make.list(cc.getquoteincludedirs(cfg.userincludedirs))\nlocal sid = make.list(cc.getsystemincludedirs(cfg.systemincludedirs))\nif id ~= \"\" then\n_p('  INCLUDES           +=%s', id)\nend\nif uid ~= \"\" then\n_p('  INCLUDES           +=%s', uid)\nend\nif sid "
6
 	"~= \"\" then\n_p('  INCLUDES           +=%s', sid)\nend\ncpp.pchconfig(cfg)\ncpp.flags(cfg, cc)\ncpp.linker(prj, cfg, cc)\ntable.sort(cfg.files)\nif cfg.flags.UseObjectResponseFile then\n_p('  OBJRESP             = $(OBJDIR)/%s_objects', prj.name)\nelse\n_p('  OBJRESP             =')\nend\n_p('  OBJECTS := \\\\')\nfor _, file in ipairs(cfg.files) do\nif path.issourcefile(file) then\nif not is_excluded(prj, cfg, file) then\n_p('\\t$(OBJDIR)/%s.o \\\\'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n)\nend\nend\nend\n_p('')\n_p('  define PREBUILDCMDS')\nif #cfg.prebuildcommands > 0 then\n_p('\\t@echo Running pre-build commands')\n_p('\\t%s', table.implode(cfg.prebuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p('  endef')\n_p('  define PRELINKCMDS')\nif #cfg.prelinkcommands > 0 then\n_p('\\t@echo Running pre-link commands')\n_p('\\t%s', table.implode(cfg.prelinkcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p('  endef')\n_p('  define POSTBUILDCMDS')\nif #cfg.postbuildcommands > 0 then\n_p('\\t@echo Running post-bui"
7
-	"ld commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p('  endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p('  CC         = %s', platform.cc)\nend\nif platform.cxx then\n_p('  CXX        = %s', platform.cxx)\nend\nif platform.ar then\n_p('  AR         = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheader and not cfg.flags.NoPCH then\n_p('  FORCE_INCLUDE      += -include $(OBJDIR)/$(notdir $(PCH))')\n_p('  FORCE_INCLUDE_OBJC += -include $(OBJDIR)/$(notdir $(PCH))_objc')\nend\nif #cfg.forcedincludes > 0 then\n_p('  FORCE_INCLUDE      += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p('  ALL_CPPFLAGS       += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p('  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), c"
8
-	"fg.buildoptions, cfg.buildoptions_asm)))\n_p('  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p('  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p('  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p('  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH)%s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objcpp)))\n_p('  ALL_RESFLAGS       += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n        make.list(table.join(cc.getdefines(cfg.resdefines),\n                                cc.getincludedirs(cfg.resincludedirs), cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg, cc)\nlocal libdeps\nl"
9
+	"ld commands')\n_p('\\t%s', table.implode(cfg.postbuildcommands, \"\", \"\", \"\\n\\t\"))\nend\n_p('  endef')\nmake.settings(cfg, cc)\n_p('endif')\n_p('')\nend\nfunction cpp.platformtools(cfg, cc)\nlocal platform = cc.platforms[cfg.platform]\nif platform.cc then\n_p('  CC         = %s', platform.cc)\nend\nif platform.cxx then\n_p('  CXX        = %s', platform.cxx)\nend\nif platform.ar then\n_p('  AR         = %s', platform.ar)\nend\nend\nfunction cpp.flags(cfg, cc)\nif cfg.pchheader and not cfg.flags.NoPCH then\n_p('  FORCE_INCLUDE      += -include $(OBJDIR)/$(notdir $(PCH))')\n_p('  FORCE_INCLUDE_OBJC += -include $(OBJDIR)/$(notdir $(PCH))_objc')\nend\nif #cfg.forcedincludes > 0 then\n_p('  FORCE_INCLUDE      += -include %s'\n,_MAKE.esc(table.concat(cfg.forcedincludes, \";\")))\nend\n_p('  ALL_CPPFLAGS       += $(CPPFLAGS) %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), \" \"))\n_p('  ALL_ASMFLAGS       += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), c"
10
+	"fg.buildoptions, cfg.buildoptions_asm)))\n_p('  ALL_CFLAGS         += $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cfg.buildoptions, cfg.buildoptions_c)))\n_p('  ALL_CXXFLAGS       += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cfg.buildoptions, cfg.buildoptions_cpp)))\n_p('  ALL_OBJCFLAGS      += $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objc)))\n_p('  ALL_OBJCPPFLAGS    += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) %s', make.list(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getobjcflags(cfg), cfg.buildoptions, cfg.buildoptions_objcpp)))\n_p('  ALL_RESFLAGS       += $(RESFLAGS) $(DEFINES) $(INCLUDES)%s',\n        make.list(table.join(cc.getdefines(cfg.resdefines),\n                                cc.getincludedirs(cfg.resincludedirs), cfg.resoptions)))\nend\nfunction cpp.linker(prj, cfg, cc)\nlocal libdeps\nl"
11
 	"ocal lddeps\nif #cfg.wholearchive > 0 then\nlibdeps = {}\nlddeps  = {}\nfor _, linkcfg in ipairs(premake.getlinks(cfg, \"siblings\", \"object\")) do\nlocal linkpath = path.rebase(linkcfg.linktarget.fullpath, linkcfg.location, cfg.location)\nif table.icontains(cfg.wholearchive, linkcfg.project.name) then\nlddeps = table.join(lddeps, cc.wholearchive(linkpath))\nelse\ntable.insert(lddeps, linkpath)\nend\ntable.insert(libdeps, linkpath)\nend\nlibdeps = make.list(_MAKE.esc(libdeps))\nlddeps  = make.list(_MAKE.esc(lddeps))\nelse\nlibdeps = make.list(_MAKE.esc(premake.getlinks(cfg, \"siblings\", \"fullpath\")))\nlddeps  = libdeps\nend\n_p('  ALL_LDFLAGS        += $(LDFLAGS)%s', make.list(table.join(cc.getlibdirflags(cfg), cc.getldflags(cfg), cfg.linkoptions)))\n_p('  LIBDEPS            +=%s', libdeps)\n_p('  LDDEPS             +=%s', lddeps)\nif cfg.flags.UseLDResponseFile then\n_p('  LDRESP              = $(OBJDIR)/%s_libs', prj.name)\n_p('  LIBS               += @$(LDRESP)%s', make.list(cc.getlinkflags(cfg)))\nelse"
12
-	"\n_p('  LDRESP              =')\n_p('  LIBS               += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nend\n_p('  EXTERNAL_LIBS      +=%s', make.list(cc.getlibfiles(cfg)))\n_p('  LINKOBJS            = %s', (cfg.flags.UseObjectResponseFile and \"@$(OBJRESP)\" or \"$(OBJECTS)\"))\nif cfg.kind == \"StaticLib\" then\nif (not prj.options.ArchiveSplit) then\n_p('  LINKCMD             = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\nelse\n_p('  LINKCMD             = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\n_p('  LINKCMD_NDX         = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\nlocal startgroup = ''\nlocal endgroup = ''\nif (cfg.flags.LinkSupportCircularDependencies) then\nstartgroup = '-Wl,--start-group '\nendgroup   = ' -Wl,--end-group'\nend\n_p('  LINKCMD             = $(%s) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) %s$(LIBS)%s', tool, startgroup,"
13
+	"\n_p('  LDRESP              =')\n_p('  LIBS               += $(LDDEPS)%s', make.list(cc.getlinkflags(cfg)))\nend\n_p('  EXTERNAL_LIBS      +=%s', make.list(cc.getlibfiles(cfg)))\n_p('  LINKOBJS            = %s', (cfg.flags.UseObjectResponseFile and \"@$(OBJRESP)\" or \"$(OBJECTS)\"))\nif cfg.kind == \"StaticLib\" then\nif (not prj.options.ArchiveSplit) then\n_p('  LINKCMD             = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\nelse\n_p('  LINKCMD             = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, false)))\n_p('  LINKCMD_NDX         = $(AR) %s $(TARGET)', make.list(cc.getarchiveflags(prj, cfg, true)))\nend\nelse\nlocal tool = iif(cfg.language == \"C\", \"CC\", \"CXX\")\nlocal startgroup = ''\nlocal endgroup = ''\nif (cfg.flags.LinkSupportCircularDependencies) then\nstartgroup = '-Wl,--start-group '\nendgroup   = ' -Wl,--end-group'\nend\n_p('  LINKCMD             = $(%s) -o $(TARGET) $(LINKOBJS) $(RESOURCES)  $(ALL_LDFLAGS) %s$(LIBS)%s', tool, startgroup,"
14
 	" endgroup)\nend\nend\nfunction cpp.pchconfig(cfg)\nif not cfg.pchheader or cfg.flags.NoPCH then\nreturn\nend\nlocal pch = cfg.pchheader\nfor _, incdir in ipairs(cfg.includedirs) do\nlocal abspath = path.getabsolute(path.join(cfg.project.location, incdir))\nlocal testname = path.join(abspath, pch)\nif os.isfile(testname) then\npch = path.getrelative(cfg.location, testname)\nbreak\nend\nend\n_p('  PCH                 = %s', _MAKE.esc(pch))\n_p('  GCH                 = $(OBJDIR)/$(notdir $(PCH)).gch')\n_p('  GCH_OBJC            = $(OBJDIR)/$(notdir $(PCH))_objc.gch')\nend\nfunction cpp.pchrules(prj)\n_p('ifneq (,$(PCH))')\n_p('$(GCH): $(PCH) $(MAKEFILE) | $(OBJDIR)')\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_CFLAGS) -x c-header\", \"$(CXX) $(ALL_CXXFLAGS) -x c++-header\")\n_p('\\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o \"$@\" -c \"$<\"', cmd)\n_p('')\n_p('$(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR)'"
15
 	")\nif prj.msgprecompile then\n_p('\\t@echo ' .. prj.msgprecompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nlocal cmd = iif(prj.language == \"C\", \"$(CC) $(ALL_OBJCFLAGS) -x objective-c-header\", \"$(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header\")\n_p('\\t$(SILENT) %s $(DEFINES) $(INCLUDES) -o \"$@\" -c \"$<\"', cmd)\n_p('endif')\n_p('')\nend\nfunction cpp.fileRules(prj, cc)\nlocal platforms = premake.filterplatforms(prj.solution, cc.platforms, \"Native\")\n_p('ifneq (,$(OBJRESP))')\n_p('$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS)')\n_p('\\t$(SILENT) echo $^')\n_p('\\t$(SILENT) echo $^ > $@')\n_p('endif')\n_p('')\n_p('ifneq (,$(LDRESP))')\n_p('$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS)')\n_p('\\t$(SILENT) echo $^')\n_p('\\t$(SILENT) echo $^ > $@')\n_p('endif')\n_p('')\ntable.sort(prj.allfiles)\nfor _, file in ipairs(prj.allfiles or {}) do\nif path.issourcefile(file) then\nif (path.isobjcfile(file)) then\n_p('$(OBJDIR)/%s.o: %s $(GCH_OBJC) $(MAKEFILE) | $(OBJDIR)/%s'\n, _MAKE.esc(path.trimdots(path"
16
 	".removeext(file)))\n, _MAKE.esc(file)\n, _MAKE.esc(path.getdirectory(path.trimdots(file)))\n)\nelse\n_p('$(OBJDIR)/%s.o: %s $(GCH) $(MAKEFILE) | $(OBJDIR)/%s'\n, _MAKE.esc(path.trimdots(path.removeext(file)))\n, _MAKE.esc(file)\n, _MAKE.esc(path.getdirectory(path.trimdots(file)))\n)\nend\nif (path.isobjcfile(file) and prj.msgcompile_objc) then\n_p('\\t@echo ' .. prj.msgcompile_objc)\nelseif prj.msgcompile then\n_p('\\t@echo ' .. prj.msgcompile)\nelse\n_p('\\t@echo $(notdir $<)')\nend\nif (path.isobjcfile(file)) then\nif (path.iscfile(file)) then\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCFLAGS) $(FORCE_INCLUDE_OBJC) -o \"$@\" -c \"$<\"')\nelse\n_p('\\t$(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) $(FORCE_INCLUDE_OBJC) -o \"$@\" -c \"$<\"')\nend\nelseif (path.isasmfile(file)) then\n_p('\\t$(SILENT) $(CC) $(ALL_ASMFLAGS) -o \"$@\" -c \"$<\"')\nelse\ncpp.buildcommand(path.iscfile(file) and not prj.options.ForceCPP, \"o\")\nend\nfor _, task in ipairs(prj.postcompiletasks or {}) do\n_p('\\t$(SILENT) %s', task)\n_p('')\nend\n_p('')\n"
(-)b/emulators/mame/files/patch-3rdparty_genie_src_tools_gcc.lua (+15 lines)
Added Link Here
1
--- 3rdparty/genie/src/tools/gcc.lua.orig	2023-05-25 09:19:09 UTC
2
+++ 3rdparty/genie/src/tools/gcc.lua
3
@@ -12,9 +12,9 @@ --
4
 -- Set default tools
5
 --
6
 
7
-	premake.gcc.cc     = "gcc"
8
-	premake.gcc.cxx    = "g++"
9
-	premake.gcc.ar     = "ar"
10
+	premake.gcc.cc     = _OPTIONS["CC"]
11
+	premake.gcc.cxx    = _OPTIONS["CXX"]
12
+	premake.gcc.ar     = _OPTIONS["AR"]
13
 	premake.gcc.rc     = "windres"
14
 	premake.gcc.llvm   = false
15
 
(-)b/emulators/mame/files/patch-3rdparty_genie_tests_test__gmake__cpp.lua (+15 lines)
Added Link Here
1
--- 3rdparty/genie/tests/test_gmake_cpp.lua.orig	2023-04-25 15:19:25 UTC
2
+++ 3rdparty/genie/tests/test_gmake_cpp.lua
3
@@ -47,9 +47,9 @@ endif
4
   SILENT = @
5
 endif
6
 
7
-CC = gcc
8
-CXX = g++
9
-AR = ar
10
+CC ?= gcc
11
+CXX ?= g++
12
+AR ?= ar
13
 
14
 ifndef RESCOMP
15
   ifdef WINDRES
(-)b/emulators/mame/files/patch-makefile (-8 / +21 lines)
Lines 1-14 Link Here
1
--- makefile.orig	2023-05-17 11:43:34 UTC
1
--- makefile.orig	2023-04-25 15:19:25 UTC
2
+++ makefile
2
+++ makefile
3
@@ -1425,6 +1425,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make
3
@@ -447,9 +447,9 @@ ifneq ($(TARGETOS),asmjs)
4
 endif
4
 
5
 
5
 .PHONY: freebsd_x64_clang
6
 ifneq ($(TARGETOS),asmjs)
6
 freebsd_x64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
7
-CC := $(SILENT)gcc
7
+	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64 precompile
8
-LD := $(SILENT)g++
8
+	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64
9
-CXX:= $(SILENT)g++
10
+CC ?= $(SILENT)gcc
11
+LD ?= $(SILENT)g++
12
+CXX ?= $(SILENT)g++
13
 endif
14
 
15
 #-------------------------------------------------
16
@@ -1409,6 +1409,11 @@ $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: make
17
 
18
 $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
19
 	$(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=freebsd-clang --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
9
+
20
+
10
+.PHONY: freebsd_arm64_clang
21
+.PHONY: freebsd_arm64_clang
11
+freebsd_arm64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
22
+freebsd_arm64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
12
 	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64 precompile
23
+	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64 precompile
13
 	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64
24
+	$(SILENT) $(MAKE) -C $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang config=$(CONFIG)64
14
 
25
 
26
 .PHONY: freebsd_x64_clang
27
 freebsd_x64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-freebsd-clang/Makefile
(-)b/emulators/mame/files/patch-scripts_genie.lua (+14 lines)
Added Link Here
1
--- scripts/genie.lua.orig	2023-05-24 01:14:32 UTC
2
+++ scripts/genie.lua
3
@@ -1238,6 +1238,11 @@ configuration { "netbsd" }
4
 			"LinkSupportCircularDependencies",
5
 		}
6
 
7
+configuration { "freebsd" }
8
+		flags {
9
+			"LinkSupportCircularDependencies",
10
+		}
11
+
12
 configuration { "osx*" }
13
 		links {
14
 			"pthread",
(-)b/emulators/mame/files/patch-scripts_toolchain.lua (-2 / +2 lines)
Lines 1-4 Link Here
1
--- scripts/toolchain.lua.orig	2023-05-06 02:56:32 UTC
1
--- scripts/toolchain.lua.orig	2023-05-27 02:18:45 UTC
2
+++ scripts/toolchain.lua
2
+++ scripts/toolchain.lua
3
@@ -60,7 +60,8 @@ function androidToolchainRoot()
3
@@ -60,7 +60,8 @@ function androidToolchainRoot()
4
 		local hostTags = {
4
 		local hostTags = {
Lines 6-12 Link Here
6
 			linux   = "linux-x86_64",
6
 			linux   = "linux-x86_64",
7
-			macosx  = "darwin-x86_64"
7
-			macosx  = "darwin-x86_64"
8
+			macosx  = "darwin-x86_64",
8
+			macosx  = "darwin-x86_64",
9
+			bsd = "freebsd-x86_64"
9
+			bsd     = "freebsd-x86_64"
10
 		}
10
 		}
11
 		android.toolchainRoot = (os.getenv("ANDROID_NDK_HOME") or "") .. "/toolchains/llvm/prebuilt/" .. hostTags[os.get()]
11
 		android.toolchainRoot = (os.getenv("ANDROID_NDK_HOME") or "") .. "/toolchains/llvm/prebuilt/" .. hostTags[os.get()]
12
 	end
12
 	end
(-)b/emulators/mame/files/pkg-message.in (-6 / +9 lines)
Lines 1-12 Link Here
1
[
1
[
2
{ type: install
2
{ type: install
3
  message: <<EOM
3
  message: <<EOM
4
An example configuration file has been installed in
4
Sample configuration files have been installed in "%%ETCDIR%%/"
5
"%%EXAMPLESDIR%%/%%MSUBTARGET%%.ini" This configuration can be copied to your
5
The configuration data can be copied to your "~/.mame" directory; alternatively,
6
"~/.%%MSUBTARGET%%" directory; alternatively, run "%%MSUBTARGET%% -createconfig" to
6
to create clean copies of MAME's configuration, run "mame -createconfig",
7
create a clean copy of "%%MSUBTARGET%%.ini", which can be copied to
7
the output from this can be stored in ~/.mame or elsewhere.
8
"~/.%%MSUBTARGET%%", or elsewhere.
8
9
To run %%MSUBTARGET%% with a custom path, run "%%MSUBTARGET%% -inipath path-to-%%MSUBTARGET%%.ini"
9
To run mame with a custom path, run "mame -inipath path-to-mame.ini"
10
11
By default, MAME will search and write to the current working directory, unless
12
it finds configuration data.
10
EOM
13
EOM
11
}
14
}
12
]
15
]
(-)b/emulators/mame/files/plugin.ini.in (+20 lines)
Added Link Here
1
#
2
# PLUGINS OPTIONS
3
#
4
autofire                  0
5
cheat                     0
6
cheatfind                 0
7
commonui                  0
8
console                   0
9
data                      1
10
discord                   0
11
dummy                     0
12
gdbstub                   0
13
hiscore                   0
14
inputmacro                0
15
json                      0
16
layout                    0
17
portname                  0
18
timecode                  0
19
timer                     0
20
SLAXML                    0
(-)b/emulators/mame/files/ui.ini.in (+71 lines)
Added Link Here
1
#
2
# UI SEARCH PATH OPTIONS
3
#
4
historypath               ~/.mame/histroy;~/.mame/dats;%%DATADIR%%/history/;%%DATADIR%%/dats/;.
5
categorypath              folders
6
cabinets_directory        ~/.mame/cabinets;~/.mame/cabdevs;%%DATADIR%%/cabinets/;%%DATADIR%%/cabdevs/
7
cpanels_directory         ~/.mame/cpanel;%%DATADIR%%/cpanel
8
pcbs_directory            ~/.mame/pcb;%%DATADIR%%/pcb
9
flyers_directory          ~/.mame/flyers;%%DATADIR%%/flyers
10
titles_directory          ~/.mame/titles;%%DATADIR%%/titles
11
ends_directory            ~/.mame/ends;%%DATADIR%%/ends
12
marquees_directory        ~/.mame/marguees;%%DATADIR%%/marquees
13
artwork_preview_directory ~/.mame/artpreview;%%DATADIR%%/artpreview
14
bosses_directory          ~/.mame/bosses;%%DATADIR%%/bosses
15
logos_directory           ~/.mame/logo;%%DATADIR%%/logo
16
scores_directory          ~/.mame/scores;%%DATADIR%%/scores
17
versus_directory          ~/.mame/versus;%%DATADIR%%/versus
18
gameover_directory        ~/.mame/gameover;%%DATADIR%%/gameover
19
howto_directory           ~/.mame/howto;%%DATADIR%%/howto
20
select_directory          ~/.mame/select;%%DATADIR%%/select
21
icons_directory           ~/.mame/icons;%%DATADIR%%/icons
22
covers_directory          ~/.mame/covers;%%DATADIR%%/covers
23
ui_path                   ui
24
25
#
26
# UI MISC OPTIONS
27
#
28
system_names              
29
skip_warnings             0
30
unthrottle_mute           0
31
versus
32
#
33
# UI OPTIONS
34
#
35
infos_text_size           0.75
36
font_rows                 30
37
ui_border_color           ffffffff
38
ui_bg_color               ef101030
39
ui_clone_color            ff808080
40
ui_dipsw_color            ffffff00
41
ui_gfxviewer_color        ef101030
42
ui_mousedown_bg_color     b0606000
43
ui_mousedown_color        ffffff80
44
ui_mouseover_bg_color     70404000
45
ui_mouseover_color        ffffff80
46
ui_selected_bg_color      ef808000
47
ui_selected_color         ffffff00
48
ui_slider_color           ffffffff
49
ui_subitem_color          ffffffff
50
ui_text_bg_color          ef000000
51
ui_text_color             ffffffff
52
ui_unavail_color          ff404040
53
54
#
55
# SYSTEM/SOFTWARE SELECTION MENU OPTIONS
56
#
57
hide_main_panel           0
58
use_background            1
59
skip_biosmenu             0
60
skip_partsmenu            0
61
remember_last             1
62
last_used_machine         
63
last_used_filter          
64
system_right_panel        image
65
software_right_panel      image
66
system_right_image        snap
67
software_right_image      snap
68
enlarge_snaps             1
69
forced4x3                 1
70
info_audit_enabled        0
71
hide_romless              1
(-)b/emulators/mame/pkg-plist (-28 / +31 lines)
Lines 1-31 Link Here
1
bin/castool
1
%%TOOLS%%bin/castool
2
bin/chdman
2
%%TOOLS%%bin/chdman
3
bin/floptool
3
%%TOOLS%%bin/floptool
4
bin/imgtool
4
%%TOOLS%%bin/imgtool
5
bin/jedutil
5
%%TOOLS%%bin/jedutil
6
bin/ldresample
6
%%TOOLS%%bin/ldresample
7
bin/ldverify
7
%%TOOLS%%bin/ldverify
8
bin/%%EMULATOR%%
8
bin/mame
9
bin/nltool
9
%%TOOLS%%bin/nltool
10
bin/nlwav
10
%%TOOLS%%bin/nlwav
11
bin/pngcmp
11
%%TOOLS%%bin/pngcmp
12
bin/regrep
12
%%TOOLS%%bin/regrep
13
bin/romcmp
13
%%TOOLS%%bin/romcmp
14
bin/split
14
%%TOOLS%%bin/split
15
bin/srcclean
15
%%TOOLS%%bin/srcclean
16
bin/testkeys
16
%%TOOLS%%bin/testkeys
17
bin/unidasm
17
%%TOOLS%%bin/unidasm
18
man/man1/MAME.1.gz
18
man/man1/MAME.1.gz
19
man/man1/castool.1.gz
19
%%TOOLS%%man/man1/castool.1.gz
20
man/man1/chdman.1.gz
20
%%TOOLS%%man/man1/chdman.1.gz
21
man/man1/floptool.1.gz
21
%%TOOLS%%man/man1/floptool.1.gz
22
man/man1/imgtool.1.gz
22
%%TOOLS%%man/man1/imgtool.1.gz
23
man/man1/jedutil.1.gz
23
%%TOOLS%%man/man1/jedutil.1.gz
24
man/man1/ldplayer.1.gz
24
%%TOOLS%%man/man1/ldplayer.1.gz
25
man/man1/ldresample.1.gz
25
%%TOOLS%%man/man1/ldresample.1.gz
26
man/man1/ldverify.1.gz
26
%%TOOLS%%man/man1/ldverify.1.gz
27
man/man1/romcmp.1.gz
27
%%TOOLS%%man/man1/romcmp.1.gz
28
man/man6/%%EMULATOR%%.6.gz
28
man/man6/mame.6.gz
29
%%DATADIR%%/artwork/LICENSE
29
%%DATADIR%%/artwork/LICENSE
30
%%DATADIR%%/artwork/README.md
30
%%DATADIR%%/artwork/README.md
31
%%DATADIR%%/artwork/aperture-grille.png
31
%%DATADIR%%/artwork/aperture-grille.png
Lines 2204-2210 man/man6/%%EMULATOR%%.6.gz Link Here
2204
%%DATADIR%%/plugins/data/data_gameinit.lua
2204
%%DATADIR%%/plugins/data/data_gameinit.lua
2205
%%DATADIR%%/plugins/data/data_hiscore.lua
2205
%%DATADIR%%/plugins/data/data_hiscore.lua
2206
%%DATADIR%%/plugins/data/data_history.lua
2206
%%DATADIR%%/plugins/data/data_history.lua
2207
%%DATADIR%%/plugins/data/data_%%EMULATOR%%info.lua
2207
%%DATADIR%%/plugins/data/data_mameinfo.lua
2208
%%DATADIR%%/plugins/data/data_marp.lua
2208
%%DATADIR%%/plugins/data/data_marp.lua
2209
%%DATADIR%%/plugins/data/data_messinfo.lua
2209
%%DATADIR%%/plugins/data/data_messinfo.lua
2210
%%DATADIR%%/plugins/data/data_story.lua
2210
%%DATADIR%%/plugins/data/data_story.lua
Lines 2269-2271 man/man6/%%EMULATOR%%.6.gz Link Here
2269
%%DATADIR%%/samples/floppy/525_spin_start_empty.wav
2269
%%DATADIR%%/samples/floppy/525_spin_start_empty.wav
2270
%%DATADIR%%/samples/floppy/525_spin_start_loaded.wav
2270
%%DATADIR%%/samples/floppy/525_spin_start_loaded.wav
2271
%%DATADIR%%/samples/floppy/525_step_1_1.wav
2271
%%DATADIR%%/samples/floppy/525_step_1_1.wav
2272
@sample %%ETCDIR%%/mame.ini.sample
2273
@sample %%ETCDIR%%/plugin.ini.sample
2274
@sample %%ETCDIR%%/ui.ini.sample

Return to bug 271374