summaryrefslogtreecommitdiff
path: root/mk/wrapper
AgeCommit message (Collapse)AuthorFilesLines
2012-07-23Pass through -specs, as used by devel/binutils/override-as.mkjperkin1-1/+5
2012-07-08compiler.mk/gcc.mk: Add support for USE_LANGUAGES+= adamarino1-2/+2
All recent packages featuring Ada code have a hard dependency on the lang/gnat-aux compiler package. The valid values for USE_LANGUAGES are c, c99, c++, fortran, fortran77, java, objc, so specifying a specific compiler was necessary up into now. One problem with lang/gnat-aux is that it is installed at ${LOCALBASE} where the lang/gccXX compilers are installed at ${LOCALBASE}/gccXX. The latter compilers have no possibility of sharing conflicting files unlike lang/gnat-aux. Rather than fundamentally update the GCC 4.6-based lang/gnat-aux to avoid these conflicts, a new Ada-capable compiler based on GCC 4.7 was created with the intent of being supported by mk/compiler.mk and mk/compiler/gcc.mk. The Ada packages will be effectively migrated from lang/gnat-aux to the new lang/gcc-aux compiler, but lang/gcc-aux will remain as a standalone package as it is the only GCC 4.6-based compiler that builds on DragonFly and serves it as a world and kernel compile option. In addition to the current language wrappers, lang/gcc-aux adds wrappers for "ada" (unique to gcc-aux, hardlinked to gcc driver), and the gnat, gnatmake, gnatbind, gnatlink, gnatchop, gnatprep, and gnatls programs. Supporting all of these allows the wrapper system to be used with Ada packages; currently wrappers are mostly disabled on them. The lang/gcc47 implicitly adds support for the "objc-c++" language by adding it to the USE_LANGUAGES list, but it wasn't really supported. An attempt was made to better support objc-c++, but this new enumeration probably still needs work or needs to be removed completely. Logic for Ada support: 1) All lang/gccXX compilers have version numbers ranging from 2.8.1 to 9. 2) lang/gcc-aux uses the release date as its version number in the form of YYYYMMDD with a minimum value of 20120614, so there is no version overlap. 3) When at least one element of USE_LANGUAGES is "ada", the value of 20120614 is added to the set of GCC_REQD which selects lang/gcc-aux. 4) The _NEED_NEWER_GCC check is disabled. It fails and isn't relevant; unless a package sets GCC_REQD over 20120614, the only way to select lang/gcc-aux is to specify the Ada language and only one compiler known to gcc.mk can support it.
2012-06-08Ignore SunPRO -errwarn flags to prevent it from being recognized as a entryobache1-1/+6
point option for `ld'.
2012-04-13Fix typo in comment.wiz1-3/+3
2012-04-13Treat the '--as-needed' and '--no-as-needed' arguments to ld as ifsbd1-2/+7
thay are librarys so that they still surround the given library. WARNING: this may not work if the wrapper reorders librarys.
2012-03-07Rewrite any -R<dir> into -Wl,-R<dir>. -R is the old form of -Wl,-R,he1-1/+7
but our gcc re-orders them so that all -R args come at the front of the "ld" invocation. This messes up the relative search order, and is at least partly responsible for "the pixman problem" experienced on (at least) NetBSD 5.1. This is as close as a general fix as I can think of, and should fix PR#46130, although it possibly doesn't fix every instance of this more general problem.
2012-02-07Transform -ggdb<level> to -g, too.shattered1-2/+2
2012-02-06Make transform-gcc recognize some the strange and disturbing things whichbsiegert1-2/+9
are in the default CFLAGS on MirBSD.
2012-02-06Revert runaway commitfhajny1-4/+1
2012-02-06Added devel/ruby-kgio, www/ruby-raindrops and www/ruby-unicornfhajny1-1/+4
2012-01-21gcc also knows -mschedule=*shattered1-1/+2
2011-08-04Add support of C++ crossbuild with g++, based on CC with gcc.obache2-2/+125
2011-01-23Add support for MirBSD to pkgsrc. Patches from Benny Siegert andagc1-1/+3
Thorsten Glaser.
2010-08-16Force to use symbolic link for wrapper if WRAPPER_USE_SYMLINK is defined.obache1-2/+2
Workaround for missing hard link support on Haiku, PR#43398.
2009-11-23Make wrapper generation code work properly if there is a directory withtron1-4/+4
a whitespace in the command search path.
2009-08-15Recognize -m32. Change reundant -kPIC to -kpic to match the set.joerg1-3/+4
2009-06-11wrap some more gcc flags to suitable xlc flagssno2-2/+58
2009-06-02shell code is not C ...sno2-6/+4
2009-05-30Avoid one fork per wrapper call if no cleanup is necessary and debuggingjoerg2-4/+12
is disabled. In that case, the post processing is doing nothing anyway.
2009-05-30Require exact match for --wrappee-name option, no leading or trailingjoerg1-2/+2
content. This option is used by libtool only and that uses the correct exact argument.
2009-05-30add some argument wrappers after studying xlc manpagesno2-4/+26
2009-05-06Allow to set the "bourne" shell used for buildlink3 wrappers per platform.tron1-2/+3
Set it to "/bin/ksh" under Mac OS X which should reduce package build times by more than 20%.
2009-01-15Fix cut & paste errors. From Jens Rehsack.joerg3-6/+6
2009-01-09Further refine AIX support. From Jens Rehsack.joerg2-4/+28
2008-12-29Also wrap the cpp command like cc for AIX/XLC.joerg1-1/+2
2008-12-29Improve AIX/XLC support:joerg3-8/+19
- provide cpp wrapper using cc -E - provide c++_r wrapper working like c++ - provide -rpath handling for cc - fix some debug messages to provide the correct script name
2008-12-29Emulate -rpath argument of GCC and xlC on AIX, it works like thejoerg1-1/+10
corresponding linker argument.
2008-12-01Skip -q64. From Jens Rehsack.joerg1-1/+4
2008-11-27Explicitly pass down -brtl for the linker, not the compiler. From Jensjoerg1-2/+2
Rehsack.
2008-11-27Don't use the CC wrapper for ld on AIX with XLC. From Jens Rehsack.joerg1-3/+2
2008-11-14Improve AIX/XLC support based on discussions with Jens Rehsack:joerg4-13/+60
- Add cc_r/xlc_r wrapper using the same rules as xlc itself. It is used for example by Perl. - Improve the RPATH emulation: - Always set -blibpath, use /usr/lib:/lib as default - If -blibpath is exlicitly given, add to the default - Additionally append any -Wl,-rpath given.
2008-11-06Merge aix-xlc block into the xlc block and distinguish AIX and Darwin.joerg1-7/+9
The PKG_FAIL_REASON isn't executed by default, no idea why, but this makes it a bit cleaner why the compiler wrapper will fail and fixes the more important AIX case.
2008-10-30On AIX don't overwrite the XLC definitions with the platform logic, thejoerg1-8/+8
former are already more specific.
2008-06-17Add a bunch of supported options.sketch1-1/+8
2008-04-21Revert rev 1.3 as it breaks e.g. -Wl,--whole-archive. See PR 38476 forjoerg1-2/+2
details.
2008-04-20Keep libraries specified as .a files in their original position amongkim1-2/+2
other libraries (specified with -l). Fixes a linking problem in net-snmp, where the Perl DynaLoader.a library becomes out-of-order when all -l arguments have been moved to the end of the command line.
2008-02-19Add IRIX command sinks, needed to get rpath fixup when using GCC.tnn3-1/+57
2008-02-19Pass gcc's -mabi=* option (used on mips) without warning.tnn1-1/+2
2007-11-28Do not load the $cache file for every argument. Instead, load it oncerillig2-5/+8
and then call it as a shell function. Note that the shell function is not called "cache", since some shells have problems when a function has the same name as a variable. This speeds up the wrapper by as little as 75 percent for the final link command of editors/abiword on SunOS-5.10-sparc (before: 20 seconds, after: 5 seconds).
2007-11-28Oops, don't overflow the terminal.rillig1-2/+2
2007-11-28sunpro doesn't need -lstdc++.rillig1-1/+4
2007-11-28Using a single awk process instead of a pipe of four grep processesrillig1-4/+6
should be both faster and easier to read.
2007-11-19Sunpro doesn't need -rdynamic, since the linker is sensible by default.rillig1-1/+2
This change also works around shells/scsh's broken check for -rdynamic.
2007-11-08Preserve the -Wl,-Bstatic / -Wl,-Bdynamic arguments, but alsohe1-1/+11
duplicate them into the list of libraries. Someone may want to mix static and dynamic linking. Fixes PR#37228, approved by jlam. jlam says that a better long-term fix would be to ensure that all the -L specifications come before the -l specifications, instead of moving all the -l specifications to the end of the command line.
2007-11-01sunpro doesn't know -ggdb.rillig1-1/+4
2007-10-17Handle more variants of the position independent code flag from Solaris.is1-1/+3
This is needed for Xaw3d. Fix suggested by joerg@.
2007-10-09Remove trailing spaces.martti1-2/+2
2007-10-05When linking with XLC on AIX, force -brtl to get linkage behaviour wejoerg1-1/+8
expect from other platforms.
2007-09-20When CPP is defined as "cc -E", the wrapper framework created therillig1-1/+2
wrapper for gcc and cc as type "CPP", although these aren't C preprocessors. By preventing the code from overwriting files, this works now.
2007-09-19Fixed incorrect quoting of arguments. This behavior had been unnoticedrillig2-9/+4
for several years now, since the directories in the -I... and -L... options usually don't need quoting. But when the -D... option was processed using the same code, the bug had become visible.