summaryrefslogtreecommitdiff
path: root/mk/compiler
AgeCommit message (Collapse)AuthorFilesLines
2004-07-06Retire buildlink2, now that all packages using it have been converted towiz1-6/+2
buildlink3.
2004-07-03gcc 3.3.4 is in pkgsrc now.grant1-2/+2
2004-06-10We really need to pass the ABI flags to both CFLAGS and LDFLAGS, sincejschauma1-1/+7
some packages (for example ntp4) have configure scripts that try to be clever and insert their own if they don't find any. This would be wrong on a system that relies on /etc/compiler.defaults to choose the correct ABI.
2004-05-17Check that MABIFLAG is defined before checking that it's non-empty. Thisjlam1-3/+3
avoids breakage if MABIFLAG isn't defined.
2004-05-17Allow use of 32bit gcc compiled from pkgsrc on 64bit Irix for a defaultjschauma1-4/+10
ABI of 64.
2004-05-12If ABI is set, LDFLAGS also needs the proper flag.jschauma1-1/+2
2004-05-06Finally set _COMPILER_LD_FLAG.jschauma1-1/+4
(Not having this set caused various rpath related problems, as the compiler was passed ' -rpath,/path' instead of '-Wl,-rpath,/path', leading to a rpath of ",path", which of course wouldn't work.)
2004-05-05gcc can use -mabi=${ABI}, if ABI is set (for example on Irix).jschauma1-1/+8
(Includes ugly hack for ABI-inconsistency. See also PR pkg/22571.)
2004-05-04/usr/bin/cpp on darwin is a wrapper script that forces thedanw1-3/+3
-traditional flag; you need to use "gcc -E" to get sane behavior. Override sys.mk's definition of CPP in defs.Darwin.mk, and don't re-override CPP in gcc.mk if ${OPSYS} == Darwin.
2004-03-30GCC has this annoying behaviour where it advocates in a multi-linejlam1-1/+11
banner the use of "#include" over "#import" when including headers. This generates a _huge_ number of warnings when building practically all Objective-C code where it is convention to use "#import". Suppress the warning if we're building Objective-C code using GCC by passing -Wno-import to the compiler.
2004-03-17Also accept DISTCC_VERBOSE in /etc/mk.conf to allow for easier debugging.jlam1-1/+4
2004-03-17Allow DISTCC_HOSTS and DISTCC_SSH to be set in /etc/mk.conf to modify thejlam1-1/+8
behaviour of distcc when used in the compiler framework.
2004-03-13Don't save the value of _NEED_NEWER_GCC as it gets a bad value on 1.5.3.jlam1-2/+2
XXX This should be removed after pkgsrc/bootstrap is up and running.
2004-03-13Provide a way to forcibly use the native GCC by setting USE_NATIVE_GCC injlam1-4/+10
a package Makefile. Also modify pkg_admin checks to drop stderr so that errors aren't so verbose.
2004-03-13Note what _CC contains.jlam1-1/+2
2004-03-12Add support for Objective C, and set USE_GCC_SHLIB whenever we're usingjlam1-2/+13
C++, Fortran, or Objective C, as we must link against shared libraries.
2004-03-10set F77 as well as FC.dmcmahill1-1/+2
was: 1% make show-var PKG_STAGE=configure VARNAME=FC g77 2% make show-var PKG_STAGE=configure VARNAME=F77 /usr/pkgsrc-current/math/scilab/work/.gcc/bin/g77 is: 3% make show-var PKG_STAGE=configure VARNAME=FC g77 4% make show-var PKG_STAGE=configure VARNAME=F77 g77 fixes some buildlink spillover noted in the scilab package.
2004-03-05Update _GCC_DIST_VERSION to 3.3.3; noted by Ben Secrest on tech-pkg.wiz1-2/+2
2004-02-22Allow setting CCACHE_DIR in the environment or in /etc/mk.conf.jlam1-1/+5
2004-02-21Use BUILD_ENV instead of just {CONFIGURE,MAKE}_ENV to pass CCACHE_HASHCCjlam1-3/+2
to ccache. This now correctly passes CCACHE_HASHCC to ccache if the package has a custom do-build target that invokes ${CC} directly.
2004-02-20Provide a much more complete list of version number patterns <= 2.95.3.jlam1-2/+2
2004-02-20If for some reason, _GCC_REQD doesn't match any of the version patternjlam1-1/+4
lists, then just assume that we need gcc3. The rest of the code in the file assumes that we either need gcc2 or gcc3, so this provides a fall-through, default value.
2004-02-18* Move pkgsrc/mk/compiler/bsd.compiler.mk to pkgsrc/mk/compiler.mk.jlam7-399/+231
Package Makefiles may now directly include compiler.mk. * Don't include compiler.mk within bsd.prefs.mk any longer. It was only included for the purposes of defining CC_VERSION. Packages that want to test the value of CC_VERSION should now first include "../../mk/compiler.mk". Any GCC_REQD statements in package Makefiles should be set before compiler.mk is included. * Simpllfy pkgsrc/mk/compiler/*.mk files as a result of not needing to be included indirectly by bsd.prefs.mk. We remove the special handling associated with detecting whether the file was included from within bsd.prefs.mk. These files are now much more straightforward to write and understand. * G/C the BSD_PREFS_MK stack mechanism as the only users (compiler/*) no longer need it. * Ensure that directories are prepended to the PATH only from within bsd.pkg.mk.
2004-02-18Initial support for the MIPSpro ucode compilers found on IRIX 5.3. Thejlam2-2/+21
ucode compilers only support building the "o32" ABI.
2004-02-18Allow overriding CC_VERSION_STRING and CC_VERSION.jlam2-6/+6
2004-02-15Create wrappers for the compilers for every language supported by thejlam3-11/+11
compiler set. This will cause the libtool configuration found in several packages to use the correct C++ compiler even though the package doesn't use C++. This was causing bugs when CXXFLAGS contained flags not understood by the system gcc-2.95.3.
2004-02-12Remove CPP setting for now until I find a better way to wrap these. Thisjlam2-6/+2
backs out the changes in rev. 1.24 of mk/compiler.mk, but I will restore the behaviour elsewhere.
2004-02-12Prevent non-zero exit status when calling the compiler to print out thejlam2-4/+4
version string.
2004-02-12Generate a more informative string "CC_VERSION_STRING" that is passed tojlam4-15/+30
ccache as the compiler information to hash.
2004-02-10Give a better pseudo CC_VERSION for the SunPro C compiler.jlam1-2/+2
2004-02-09Apparently, GCC isn't the only compiler that tries to be clever by checkingjlam2-6/+12
with what path it was invoked. Copy the driver script trick from gcc.mk into mipspro.mk and sunpro.mk.
2004-02-09Update comment to reflect reality.jlam1-2/+2
2004-02-09Reorder some lines so that a default definition for some variables isjlam1-13/+14
present in global context.
2004-02-09Don't have recursive variable definitions.jlam2-6/+6
2004-02-09Use TOOLS_SHELL since we're creating the shell script at override-toolsjlam1-2/+2
time.
2004-02-08Make those scripts executable.jlam1-1/+2
2004-02-08Use a two-line "exec" shell script instead of a symlink to the real GCC.jlam1-2/+4
This should fix problems with not finding "cc1" or other GCC subprograms.
2004-02-08* Let CC/CXX/CPP/FC always point to the compiler used in the actualjlam5-26/+39
building of software. For packages that use either buildlink2 or buildlink3, this would be the wrapper script in ${BUILDLINK_DIR}. * Garbage-collect _BLNK_WRAP_SETENV.* as those are not needed after the above changes. Configure and make processes will automatically find the right compilers in the PATH. * PKGLIBTOOL and PKGSHLIBTOOL are no longer needed since LIBTOOL and SHLIBTOOL point to the correct libtools regardless of any USE_BUILDLINK[23] definitions.
2004-02-07Symlink the compiler into ${WRKDIR} so that there's a consistent path tojlam5-61/+121
the compiler and that it's behind .tools/bin and .buildlink/bin, regardless of whether or not we're using gcc3-c or not, or whether it's been installed yet in the process of satisfying dependencies, etc.
2004-02-06I missed changing a defined(_NEED_GCC3) into a yes/no check.jlam1-2/+2
2004-02-06Whitespace nit.jlam1-2/+2
2004-02-06If we're passing through MAKEFLAGS variables whose values may containjlam1-3/+3
spaces, use the :Q modifier instead of double-quoting the value. This fixes breakage when executing the just-in-time su targetes.
2004-02-06Remove a debugging statement.jlam1-2/+1
2004-02-06Hiding the PATH from certain phases of the build only accidentally workedjlam5-18/+13
due to a type on gcc.mk that causes the ${_GCC_PREFIX}/bin to always be prepended to the PATH. The problem that was hiding was "make" resolving to ${TOOLS_DIR}/bin/make if the package used GNU make, which broke building since the package Makefile is a BSD Makefile and we passed PATH to some phases of the build. Fix this by expanding MAKE to the full path to ${MAKE} in bsd.prefs.mk. We also garbage collect the now useless checks for PHASES_AFTER_BUILDLINK that cluttered the PREPEND_PATH code.
2004-02-06We only prepend a directory to the PATH if we haven't already done sojlam5-18/+47
(by checking PREPEND_PATH) and only for those phases of the build that care about the PATH (buildlink or later). We also pass the PATH to those same phases of the build so that executing ${CC} will work correctly from custom {pre,do,post}-* targets that occur at buildlink time or later.
2004-02-05Get the version string out of the MIPSpro compiler in the right way.jlam1-3/+4
2004-02-05Note that the variables (USE_LANGUAGES, GCC_REQD, PKGSRC_COMPILER) shouldjlam1-2/+3
be defined in or before the first inclusion of bsd.prefs.mk.
2004-02-05GCC_REQD should be appended to, not set.jlam2-5/+5
2004-02-05Simpilfy the test for whether we're inside bsd.prefs.mk.jlam4-8/+8
2004-02-05Allow bsd.compiler.mk to be included by both bsd.prefs.mk and bsd.pkg.mk.jlam6-226/+281
Any additions to DEPENDS/BUILD_DEPENDS or inclusions of buildlink[23].mk files are deferred till bsd.compiler.mk is included by bsd.pkg.mk. We allow bsd.compiler.mk to be included by bsd.prefs.mk solely for the purpose of setting CC_VERSION properly for use by package Makefiles. There is the surprising behaviour that CC_VERSION won't necessarily have the correct value at all times until after "make extract" has been completed (dependencies are installed before "make extract"), so package Makefile writers should keep that in mind. Just to note that this is _existing_ behaviour that's preserved by these changes.