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

Collapse All | Expand All

(-)b/emulators/mame/Makefile (-99 / +114 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_PROJECT=	mame # explicit (master port)
38
GH_TAGNAME=	mame${PORTVERSION:S/.//}
43
GH_TAGNAME=	mame${DISTVERSION:S/.//}
39
USE_GL=		gl
44
USE_GL=		gl
40
USE_QT=		buildtools core gui qmake widgets
41
USE_SDL=	sdl2 ttf2
45
USE_SDL=	sdl2 ttf2
42
USE_XORG=	x11 xext xi xinerama xrender
46
USE_XORG=	x11 xext xi xinerama xrender
43
47
44
MAKEFILE=	makefile
48
MAKEFILE=	makefile
45
MAKE_ARGS=	TARGETOS=freebsd \
49
MAKE_ARGS=	TARGETOS=freebsd \
46
		TOOLS=1 \
50
		VERBOSE="1"
47
		USE_SYSTEM_LIB_PUGIXML=1 \
51
MAKE_ENV=	LDOPTS="${LDFLAGS}" \
48
		USE_SYSTEM_LIB_SQLITE3=1 \
52
		NO_USE_PORTAUDIO=1 \
49
		VERBOSE=1
53
		NO_USE_PULSEAUDIO=1 \
50
MAKE_ENV=	FULLNAME="mame" \
51
		GCC_LDFLAGS="${LDFLAGS}" \
52
		LD="${CXX}" \
53
		NOWERROR=1 \
54
		NOWERROR=1 \
54
		OPT_FLAGS="${CXXFLAGS}" \
55
		OPT_FLAGS="${CXXFLAGS}" \
55
		PYTHON="${PYTHON_CMD}" \
56
		PRECOMPILE=0 \
56
		SDL_NETWORK="pcap" \
57
		PYTHON_EXECUTABLE="${PYTHON_CMD}" \
57
		SUBTARGET="${MSUBTARGET}" \
58
		USE_PCAP=1 \
58
		TARGET="${MTARGET}" \
59
		USE_SYSTEM_LIB_EXPAT=1 \
59
		USE_NETWORK=1
60
		USE_SYSTEM_LIB_FLAC=1 \
61
		USE_SYSTEM_LIB_GLM=1 \
62
		USE_SYSTEM_LIB_JPEG=1 \
63
		USE_SYSTEM_LIB_PORTMIDI=1 \
64
		USE_SYSTEM_LIB_RAPIDJSON=1 \
65
		USE_SYSTEM_LIB_SQLITE3=1 \
66
		USE_SYSTEM_LIB_UTF8PROC=1 \
67
		USE_SYSTEM_LIB_UV=1 \
68
		USE_SYSTEM_LIB_ZLIB=1 \
69
		USE_TAPTUN=1
60
70
61
BINARY_ALIAS=	python3=${PYTHON_CMD} python=${PYTHON_CMD}
62
SUB_FILES=	pkg-message target.ini
71
SUB_FILES=	pkg-message target.ini
63
SUB_LIST=	MSUBTARGET=${MSUBTARGET} \
64
		MTARGET=${MTARGET}
65
66
PORTDOCS=	LICENSE html/* legal/*
67
PORTEXAMPLES=	${MSUBTARGET}.ini
68
69
OPTIONS_DEFINE=	DEBUG DOCS EXAMPLES
70
DEBUG_DESC=	Build with debug profiling and symbols
71
DOCS_DESC=	Install additional MAME documentation
72
EXAMPLES_DESC=	Install example ${EMULATOR}.ini configuration
73
74
DEBUG_MAKE_ENV=	DEBUG=1
75
72
76
GENIE=		${WRKSRC}/3rdparty/genie
73
PORTDOCS=	html/*
77
MSUBTARGET=	mame
74
PORTEXAMPLES=	mame.ini
78
MTARGET=	mame
75
76
OPTIONS_DEFINE=	DEBUG DOCS EXAMPLES QTDEBUGGER TOOLS
77
78
OPTIONS_SUB=	yes
79
80
DEBUG_DESC=		Build with debug profiling and symbols
81
DOCS_DESC=		Install extensive online MAME documentation
82
EXAMPLES_DESC=		Install example mame.ini configuration
83
QTDEBUGGER_DESC=	Install Qt interactive low-level machine debugger
84
TOOLS_DESC=		Install tools for machine archiving and development
85
86
DEBUG_MAKE_ENV=			DEBUG=1 \
87
				OPTIMIZE=0 \
88
				PROFILER=1 \
89
				SYMBOLS=1
90
DEBUG_MAKE_ENV_OFF=		OPTIMIZE=2 \
91
				STRIP_SYMBOLS=1
92
# Attempt to avoid address space exhaustion during linking, specifically
93
# on armv7, and possibly other architectures:
94
DEBUG_LDFLAGS_OFF=		-s
95
QTDEBUGGER_USES=		qt:5
96
QTDEBUGGER_USE=			QT=core,gui,widgets,buildtools:build,qmake:build
97
QTDEBUGGER_MAKE_ENV=		USE_QTDEBUG=1
98
QTDEBUGGER_MAKE_ENV_OFF=	USE_QTDEBUG=0
99
TOOLS_MAKE_ENV=			TOOLS=1
100
TOOLS_MAKE_ENV_OFF=		TOOLS=0
101
102
_GENIE=		${WRKSRC}/3rdparty/genie
79
103
80
.include <bsd.port.options.mk>
104
.include <bsd.port.options.mk>
81
105
82
.if ${PORT_OPTIONS:MDEBUG}
106
.if ${PORT_OPTIONS:MDEBUG}
83
WITH_DEBUG=	"YES"
107
WITH_DEBUG=	yes
84
MAKE_ENV+=	DEBUG="1" \
108
.endif
85
		OPTIMIZE="0" \
109
86
		PROFILER="1" \
110
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1400000
87
		SYMBOLS="1"
111
USES+=		llvm:15,build
112
MAKE_ENV+=	OVERRIDE_AR="llvm-ar${LLVM_VERSION}" \
113
		OVERRIDE_CC="clang${LLVM_VERSION}" \
114
		OVERRIDE_CXX="clang++${LLVM_VERSION}" \
115
		OVERRIDE_LD="lld${LLVM_VERSION}"
88
.else
116
.else
89
# avoid address space exhaustion in linker on armv7
117
MAKE_ENV+=	OVERRIDE_AR="${AR}" \
90
LDFLAGS+=	-s
118
		OVERRIDE_CC="${CC}" \
119
		OVERRIDE_CXX="${CXX}" \
120
		OVERRIDE_LD="${LD}"
91
.endif
121
.endif
92
122
93
.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH:Mpowerpc64*}
123
.if ${ARCH:Maarch64} || ${ARCH:Mamd64} || ${ARCH:Mpowerpc64*}
94
MAKE_ARGS+=	PTR64=1
124
MAKE_ARGS+=	PTR64=1
95
.endif
125
.endif
96
126
97
EMULATOR=	${MSUBTARGET}
98
PLIST_SUB+=	EMULATOR=${EMULATOR}
99
100
do-build-DOCS-on:
127
do-build-DOCS-on:
101
	(cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \
128
	(cd ${WRKSRC}/docs && \
102
		${MAKE_CMD} ${MAKE_ARGS} html \
129
		${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
130
	@${RM} ${WRKSRC}/docs/build/html/.buildinfo
105
131
106
do-install:
132
do-install:
107
.for PROGRAM in castool chdman floptool imgtool jedutil ldresample ldverify \
133
.for DATA in artwork bgfx ctrlr ini hash language plugins samples
108
	nltool nlwav pngcmp regrep romcmp split srcclean testkeys unidasm
109
	${INSTALL_PROGRAM} ${WRKSRC}/${PROGRAM} \
110
		${STAGEDIR}${PREFIX}/bin
111
.endfor
112
113
.for data in artwork bgfx ctrlr ini hash language plugins samples
114
	(cd ${WRKSRC} && \
134
	(cd ${WRKSRC} && \
115
		${COPYTREE_SHARE} ${data} ${STAGEDIR}${DATADIR})
135
		${COPYTREE_SHARE} ${DATA} ${STAGEDIR}${DATADIR})
116
.endfor
136
.endfor
117
137
118
	${MKDIR} ${STAGEDIR}${DOCSDIR}
138
	${MKDIR} ${STAGEDIR}${DOCSDIR}
119
	${INSTALL_MAN} ${WRKSRC}/docs/man/*.1 \
139
	${INSTALL_MAN} ${WRKSRC}/docs/build/man/MAME.1 \
120
		${STAGEDIR}${MANPREFIX}/man/man1
140
		${STAGEDIR}${MANPREFIX}/man/man1
121
	${INSTALL_MAN} ${WRKSRC}/docs/build/man/*.1 \
141
	${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
142
		${STAGEDIR}${MANPREFIX}/man/man6
125
	${INSTALL_MAN} ${WRKSRC}/docs/LICENSE \
126
		${STAGEDIR}${DOCSDIR}
127
	(cd ${WRKSRC}/docs && \
128
		${COPYTREE_SHARE} legal ${STAGEDIR}${DOCSDIR})
129
130
do-install-DEBUG-off:
131
	${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET} \
132
		${STAGEDIR}${PREFIX}/bin/${EMULATOR}
133
143
134
do-install-DEBUG-on:
144
do-install-DEBUG-on:
135
	${INSTALL_PROGRAM} ${WRKSRC}/${MSUBTARGET}d \
145
	${INSTALL_PROGRAM} ${WRKSRC}/mamed \
136
		${STAGEDIR}${PREFIX}/bin/${EMULATOR}
146
		${STAGEDIR}${PREFIX}/bin/mame
137
147
138
post-build:
148
do-install-DEBUG-off:
139
	cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \
149
	${INSTALL_PROGRAM} ${WRKSRC}/mame \
140
		${MAKE_CMD} ${MAKE_ARGS} man \
150
		${STAGEDIR}${PREFIX}/bin/
141
		SPHINXBUILD=sphinx-build-${PYTHON_VER}
142
151
143
post-install-DOCS-on:
152
do-install-DOCS-on:
144
	${MKDIR} ${STAGEDIR}${DOCSDIR}
153
	${MKDIR} ${STAGEDIR}${DOCSDIR}
145
	(cd ${WRKSRC}/docs/build && \
154
	(cd ${WRKSRC}/docs/build && \
146
		${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
155
		${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
147
156
148
post-install-EXAMPLES-on:
157
do-install-EXAMPLES-on:
149
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
158
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
150
	${INSTALL_DATA} ${WRKDIR}/target.ini \
159
	${INSTALL_DATA} ${WRKDIR}/target.ini \
151
		${STAGEDIR}${EXAMPLESDIR}/${EMULATOR}.ini
160
		${STAGEDIR}${EXAMPLESDIR}/mame.ini
161
162
do-install-TOOLS-on:
163
.for PROGRAM in castool chdman floptool imgtool jedutil ldresample ldverify \
164
	nltool nlwav pngcmp regrep romcmp split srcclean testkeys unidasm
165
	${INSTALL_PROGRAM} ${WRKSRC}/${PROGRAM} \
166
		${STAGEDIR}${PREFIX}/bin
167
.endfor
168
169
.for MANUAL in castool chdman floptool imgtool jedutil ldplayer ldresample \
170
	ldverify romcmp
171
	${INSTALL_MAN} ${WRKSRC}/docs/man/${MANUAL}.1 \
172
		${STAGEDIR}${MANPREFIX}/man/man1
173
.endfor
174
175
post-build:
176
	(cd ${WRKSRC}/docs && \
177
		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} man SPHINXBUILD=sphinx-build-${PYTHON_VER})
178
179
post-extract:
180
	@${MV} ${WRKSRC}/src/lib/util/png.h \
181
		${WRKSRC}/src/lib/util/localpng.h
152
182
153
post-patch:
183
post-patch:
184
# Prefer some system headers over bundled.
154
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
185
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h
155
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
186
	@${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h
156
	@${MV} ${GENIE}/build/gmake.freebsd \
187
# Accommodate GENie conception of BSD.
157
		${GENIE}/build/gmake.bsd
188
	@${MV} ${_GENIE}/build/gmake.freebsd \
158
	@${REINPLACE_CMD} -e \
189
		${_GENIE}/build/gmake.bsd
159
		's|^\(AR \)|#\1| ; \
190
# Patch build to use bundled PNG.
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 | \
191
	@${GREP} -rl '"png.h"' ${WRKSRC}/src | \
175
		${XARGS} ${REINPLACE_CMD} -e 's|"png.h"|"localpng.h"|'
192
		${XARGS} ${REINPLACE_CMD} -e 's|"png.h"|"localpng.h"|'
176
	@${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
193
	@${REINPLACE_CMD} -e 's|"util/png.h"|"util/localpng.h"|' \
177
		${WRKSRC}/src/frontend/mame/ui/icorender.cpp
194
		${WRKSRC}/src/frontend/mame/ui/icorender.cpp
178
	@${MV} ${WRKSRC}/src/lib/util/png.h \
179
		${WRKSRC}/src/lib/util/localpng.h
180
195
181
.include <bsd.port.mk>
196
.include <bsd.port.mk>
(-)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 / +5 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
An example configuration file has been installed in "%%EXAMPLESDIR%%/mame.ini"
5
"%%EXAMPLESDIR%%/%%MSUBTARGET%%.ini" This configuration can be copied to your
5
This configuration can be copied to your "~/.mame" directory; alternatively,
6
"~/.%%MSUBTARGET%%" directory; alternatively, run "%%MSUBTARGET%% -createconfig" to
6
run "mame -createconfig" to create a clean copy of "mame.ini", which can be
7
create a clean copy of "%%MSUBTARGET%%.ini", which can be copied to
7
copied to "~/.mame", or elsewhere.
8
"~/.%%MSUBTARGET%%", or elsewhere.
8
To run mame with a custom path, run "mame -inipath path-to-mame.ini"
9
To run %%MSUBTARGET%% with a custom path, run "%%MSUBTARGET%% -inipath path-to-%%MSUBTARGET%%.ini"
10
EOM
9
EOM
11
}
10
}
12
]
11
]
(-)b/emulators/mame/files/target.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/pkg-plist (-28 / +28 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

Return to bug 271374