gcc buildlink2.mk files and splitting the non-buildlink2.mk bits out
into compiler.mk.
this allows USE_GCC2 and USE_GCC3 to work with non-buildlink2 packages
again.
has allowed these packages to work :)
set CC, CXX, CPP and F77 in gcc{,3}/buildlink2.mk.
you now only need to define USE_GCC2 or USE_GCC3 to use the pkgsrc
gcc of your choice.
the share/examples/gcc/mk.conf and gcc3/mk.conf files are no longer
installed.
bump PKGREVISIONs.
Remove or trim "info related" patch files.
Install info files in package specific directory.
Hence the PLIST files are now nearly empty...
This should finish making these two packages really non-conflicting.
Bump PKGREVISION.
drawn from user variables
comma-separate the list of supported languages; while spaces work,
the libstdc++ configure script misbehaves if c++ is not the last one...
gcc3's fault. Worse, programs got built against the wrong
(main tree) libgcc.
Now that this is fixed, set a netbsdelf2.0 target on -current,
to get both thread support and crt*.o files.
Also, use the usual buildlink magic to avoid picking up
a GNU pth from /usr/pkg.
pkgsrc/mail/imap-uw builds with a gcc3 set up this way.
_GCC_ARCHSUBDIR, which happens to be the location of
libgcc.
This makes the buildlink stuff work independantly of
the exact GNU_PLATFORM gcc3 was compiled for.
If NetBSD and /usr/include/pthread.h is present, add --enable-threads to
configure arguments. Could set --host=i386--netbsdelf2.0 instead, but that
causes many other packages (eg: mail/imap-uw) to fail to link with
'/usr/bin/ld: cannot find -lgcc_eh'
even when they
.if defined(USE_GCC3)
. include "../../lang/gcc3/buildlink2.mk"
.endif
With this change a 1.6U/i386 machine can build mozilla with gcc3.
and ensure that the built compiler uses it. This fixes a problem reported by
abs compiling perl, among other things. Apparently, gcc-3.3 triggers a bug in
gas:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10877
Bump ${PKGREVISION}.
libstdc++ in gcc3.
when defined, USE_GCC_SHLIB ensures that the correct rpath is passed
to the linker, and a full dependency on the compiler package is
registered.
packages which define USE_GCC_SHLIB should not include
mk/gcc.buildlink2.mk (or gcc{,3}/buildlink2.mk) as it is handled
automatically.
Tested on NetBSD-current and Solaris 9.
Caveats
* The preprocessor no longer accepts multi-line string literals.
They were deprecated in 3.0, 3.1, and 3.2.
* The preprocessor no longer supports the -A- switch when appearing
alone. -A- followed by an assertion is still supported.
* Support for all the systems obsoleted in GCC 3.1 has been removed
from GCC 3.3.
* Checking for null format arguments has been decoupled from the rest
of the format checking mechanism. Programs which use the format
attribute may regain this functionality by using the new nonnull
function attribute. Note that all functions for which GCC has a
built-in format attribute, an appropriate built-in nonnull attribute
is also applied.
* The DWARF (version 1) debugging format has been deprecated and will
be removed in a future version of GCC. Version 2 of the DWARF
debugging format will continue to be supported for the foreseeable
future.
* The C and Objective-C compilers no longer accept the "Naming Types"
extension (typedef foo = bar); it was already unavailable in C++.
Code which uses it will need to be changed to use the "typeof"
extension instead: typedef typeof(bar) foo. (We have removed this
extension without a period of deprecation because it has caused
the compiler to crash since version 3.0 and no one noticed until
very recently. Thus we conclude it is not in widespread use.)
* The -traditional C compiler option has been removed. It was
deprecated in 3.1 and 3.2. (Traditional preprocessing remains
available.) The <varargs.h> header, used for writing variadic
functions in traditional C, still exists but will produce an error
message if used.
New Targets and Target Specific Improvements [trimmed for length and
relevance to NetBSD]
* The SPARC, HP-PA, SH4, and x86/pentium ports have been converted
to use the DFA processor pipeline description.
* The following NetBSD configurations for the SuperH processor family
have been added:
o SH3, big-endian, sh-*-netbsdelf*
o SH3, little-endian, shle-*-netbsdelf*
o SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd*
o SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd*
o SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd*
o SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd*
* The following changes have been made to the IA-32/x86-64 port:
o SSE2 and 3dNOW! intrinsics are now supported.
o Support for thread local storage has been added to the IA-32
and x86-64 ports.
o The x86-64 port has been significantly improved.
The full list of changes can be found at:
http://gcc.gnu.org/gcc-3.3/changes.html
use an old or non-compatible version that may be in the base system.
This makes this package install flawlessly under Linux, and even though it does
not directly address PR pkg/20880 (which I could not reproduce), it covers
similar problems.
The following method overrides "libgcc_link_spec" in the generated specs
file, which gives you a compiler that automatically inserts the correct
rpath argument at link time. This should work for any pkgsrc target
platform, as no platform-specific config overrides it.
Additionally, part of this fix changes the "scrubbed" LDFLAGS by
overriding that in CONFIGURE_ENV, rather than globally. Other changes to
the pkgsrc Makefile (including one I plan to submit for threads support)
may need access to the "real" LDFLAGS, so overriding it wholesale in the
pkg Makefile is Bad.
Bump version to 3.2.2nb2.