${MACHINE_ARCH}--freebsd${OSREL} is now passed to CONFIGURE_ARGS if
GNU_CONFIGURE is defined. Take the target out of CONFIGURE_ARGS of
some ports that added it explicitly; define it as
${MACHINE_ARCH}--freebsd if the port doesn't like the ${OSREL} part;
define it as something else (such as ${MACHINE_ARCH}--freebsdelf if
the port requires that; define it as an empty string if the port
doesn't like it at all.
The last might be a sign that a GNU_CONFIGURE port actually doesn't
use GNU's version of configure at all; but I don't have time to go
look at them all, we'll fix them as time goes on.
At least we've got much fewer "-unknown-"s in the tree as the result. :)
something already there (PORTOBJFORMAT, OSVERSION) or move stuff from after
.include <bsd.port.mk> to before.
(This is not by any means the complete list but just the ones I've noticed
recently.)
(I still intend to fix the bug in the script that misses an ELF system for
an a.out one)
Current fix submitted by: "Alec Wolman" <wolman@cs.washington.edu>
* Some initial support for FreeBSD-alpha
* Add some optimizations required by g77, which still might be of some use
to adventuring C/C++ programmers.
Obtained from: OpenBSD (parts)
under lang) use ${OSREL} as defined in bsd.port.mk rev 1.281 and
1.227.2.43.
Note gcc28 is hopelessly broken, it uses an undefined variable
${GNUOSREL} and thus has an empty string wherever ${OSREL} should
be. However, it's consistent with its own PLIST at the current state
so I haven't "fixed" it yet.
-current systems.
Fix the definition of the preprocessor symbol __FreeBSD__. It had
been defined as "2=3".
Implement support for weak symbols. This solves the "___error"
undefined problem on -current systems.
Default to -fsjlj-exceptions even for C programs. This is needed
because a few modules in libgcc are built with -fexceptions turned
on, and the default style of exception support causes croakage.
I tried a make buildworld on a recent -current system by adding the
following to /etc/make.conf:
CC=/usr/local/bin/gcc28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/
CXX=/usr/local/bin/g++28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/
It got pretty far along before dying. The death occurred when building
our old native libstdc++, almost certainly because of header file
incompatibilities.
Another obstacle for make world is that this port doesn't currently
build a PIC version of libgcc (libgcc_pic.a).