MODPY_BIN_ADJ's perl snippt accepts multiple files so save a few execs.
To make it more robust, also append `--' to it such that ports cannot
(accidentially) pass options; I've checked the tree that no port does
this on purpose.
The only case where this could fail is with huge MODPY_ADJ_FILES but
that is not the case in our tree; ports where lots of shebangs are
fixed have their own construct around it, e.g. textproc/calibre which
uses the `find -exec ${MODPY_ADJ_FILES} {} +' idiom.
OK sthen
setuptools picks up plugins during the configure stage whether a port
needs them or not. In some cases (currently just setuptools_scm), these
register hooks to run in the install stage; if the plugin is not a
listed build dependency this will cause the install stage to fail.
Recently reported by naddy with py-sphinx but we've seen spurious
failures elsewhere before which are likely due to this.
ok kmos@
Some OCaml ports build native-code programs on architectures where
supported, most of them probably don't need the big ocaml package at
runtime (for example net/unison). This commit introduces
MODOCAML_RUNDEP, setting it to `if-not-native' should do the right
thing.
Earlier diffs by bket@. ok sthen@ bket@
egcc -static was broken on most arches; the static binary wrongly
requested ld.so(1), but /usr/lib/rcrt0.o wants to do the relocation
without ld.so(1). The fix is to drop ld.so,
%{!static:-dynamic-linker /usr/libexec/ld.so}
Remove "%{!dynamic-linker:...}" because gcc -dynamic-linker is not an
option. Correct "%{!r*:...}" to "%{!r:...}" because gcc -r doesn't
take an option argument. Use "%{!nostdlib:-L/usr/lib}" on lld
arches, like base-gcc.
Edit the powerpc LINK_SPEC in rs6000/openbsd.h to be like the others.
Add "%{!nostdlib:-L/usr/lib}" so I can try lld on powerpc. For now,
don't edit the powerpc64 LINK_SPEC.
ok pascal@ (maintainer)
tested by several, ok benoit@
TCC (Tiny C Compiler) is a small and fast ANSI C compiler.
It generates optimized code, and can compile, assemble, and link several
times faster than 'gcc -O0'. Any C dynamic library can be used directly.
It includes an optional memory and bounds checker, and bounds-checked
code can be mixed freely with standard code. C scripting is also
supported via the usual hash-bang mechanism.
Backends exist for amd64, i386, arm, and arm64.