The affected *.make files are produced by the genie build tool.
The genie bootstrap build uses pre-generated sources and does not
pick up the patched file. We add a pre-build target that first
builds genie, then runs genie to regenerate the source files. The
main build will then create a fixed genie.
ok fcambus@
no need to consider the case with a ports-clang compiler on a gcc arch (which
uses libstdc++ not libc++). amd64 test and ok jca
(i386 is broken due to a different issue)
some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
ELF_RANDOMIZE_LIMIT was bumped to 1MB for retguard, but MAME actually
requires 4MB, so it fails on statup.
There is no sense bumping ELF_RANDOMIZE_LIMIT again just for one program,
so disable retguard by adding -fno-ret-protector to CFLAGS.
Discussed with mortimer@
"localpng.h" substitutions. Some substitutions where not done, which
caused the build to fail when graphics/png is not installed.
OK nigel@, who initially reported the issue.
MAME, formerly was an acronym which stood for Multi Arcade Machine Emulator,
documents and reproduces through emulation the inner components of arcade
machines, computers, consoles, chess computers, calculators, and many other
types of electronic amusement machines. As a nice side-effect, MAME allows
to use on a modern PC those programs and games which were originally
developed for the emulated machines.
Some relevant notes:
- MAME and MESS merged in 2015, there is only one codebase now
- Since version 0.172, MAME is GPLv2+ licensed [1], which means binary
packages can now be built and distributed
This port will replace emulators/sdlmame and emulators/sdlmess.
[1] http://mamedev.org/?p=424
OK bentley@