everything that is related to it.
The wrappers in WRKDIR/.wrapper now call the compilers in SUNWSPROBASE
directly. The aliases that have been provided had never been called
because WRKDIR/.wrapper was earlier in the PATH and already called the
canonical compiler (for example, .wrapper/gcc called .sunpro/cc, not
.sunpro/gcc).
Also removed the comments related to f2c. We have a version control
system to keep outdated code, so why keep it in the current source?
to all internal recursive make processes. As such, rename it to
"PKGSRC_MAKE_ENV".
XXX Note, some of the usage of this variable in package Makefiles seems
XXX incorrect. They probably want "MAKE_ENV", which is the environment
XXX passed to the make process when running "make" within ${WRKSRC}.
the linker, set _COMPILER_RPATH_FLAG accordingly. "-Wl," is removed by
the sunpro compiler wrapper where necessary.
fix comment for _LINKER_RPATH_FLAG while here.
this fixes, among other things, apache modules built with apxs.
to tech-pkg:
=====
* USE_BUILDLINK3=YES will be unconditional. (In fact, USE_BUILDLINK3 will
be ignored altogether by mk/; but see below.)
* NO_BUILDLINK and NO_WRAPPER will be ignored by mk/. If a build happens,
these phases will happen.
* The existing NO_BUILD will imply the previous NO_BUILDLINK and NO_WRAPPER.
If no build happens, those phases are not needed.
* NO_TOOLS will be ignored by mk/. The tools phase, which provides much
more than just the C compiler, will always happen regardless of package.
This will make metapackage builds only slightly slower, in trade for far
less user error.
icc is a high performance compiler suite for Linux/i386 and ia64, and
is free for non-commercial use. see:
http://www.intel.com/software/products/compilers/clin/
for more information.
tested with icc version 8.0 and 8.1 on Slackware 10/i386.
Also move its definition later in bsd.pkg.mk, so that it actually works
for compiler/*.mk (which is why those files originally had to provide
"defaults" for their variables -- they never did get evaluated).
one fork/exec step on platforms where gcc is compiled with hardcoded gcc-lib
pathnames. This applies to most platforms, but the default currently
remains not to use symlinks so as to avoid unexpected gotchas for users.
definitions supplied in /etc/mk.conf. It should now be possible to
pass optimization flags directly using CC and CXX when using SunPro
and MIPSpro compilers.
framework. The list of changes include:
* Modify compiler.mk so that "c" is always prepended to USE_LANGUAGES,
so we no longer need to say it in package Makefiles. Packages
should now append to USE_LANGUAGES instead of setting it.
* Create mk/compiler/f2c.mk which implements another pseudo-compiler
"f2c" that may be used with any C compiler backend, e.g.
PKGSRC_COMPILER= f2c ccache gcc
* Teach the various "real" compiler files, e.g., sunpro.mk, mipspro.mk,
etc., to use f2c if the native Fortran compiler isn't present.
Packages that use Fortran should now simply include the line:
USE_LANGUAGES+= fortran
in the package Makefile.
are handled. The idea now is to simply remove the paths in the values
of these variables, leaving behind only the basename plus any arguments,
e.g.:
CC= /usr/local/bin/gcc becomes CC= gcc
CPP= /usr/local/bin/gcc -E becomes CPP= gcc -E
The wrapper scripts are generated for every unique executable mentioned
by the toolchain variables, so for the example above, only a "gcc"
wrapper script is generated for ${CC} and ${CPP}. PKG_{CC,CPP,CXX,etc.}
are the paths to the executables wrapped by the wrapper scripts.
Note that it's now possible to set "CC" to something more than just the
path to the compiler, e.g.
CC= cc -ffast-math -funroll-loops -fomit-frame-pointer
and the full value of ${CC} will be passed through via CONFIGURE_ENV
and MAKE_ENV.