summaryrefslogtreecommitdiff
path: root/mk/wrapper
AgeCommit message (Collapse)AuthorFilesLines
2015-04-29Introduce _USE_CWRAPPERS logic to ensure consistency, USE_CWRAPPERS couldjperkin1-2/+2
differ between a package and user setting, resulting in incorrect WRAPPER_* values being set from wrapper-defs.mk.
2015-04-28Move cwrappers WRAPPER_DIR and WRAPPER_BINDIR to wrapper-defs.mk, it isjperkin1-1/+6
included by bsd.prefs.mk so we need to ensure consistency.
2015-04-27Split cwrappers from legacy wrappers. We no longer generate the legacyjperkin1-3/+1
wrappers when USE_CWRAPPERS is enabled, saving a reasonable amount of I/O during builds, mostly due to avoiding the transform/untransform sed file generations. WRAPPER_DIR and WRAPPER_BINDIR are used by various packages to override or point to specific wrappers, and these now point to the cwrappers directory when enabled, removing the need for CWRAPPERS_BIN_DIR duplication and fixing packages which previously were using legacy wrappers by accident. A number of targets are now duplicated between bsd.wrapper.mk and cwrappers.mk, the intention being that the legacy wrappers will be deprecated once cwrappers is verified on all supported platforms. If that turns out to take longer than expected, we will probably want to introduce a wrapper.mk to abstract them away before loading the appropriate back-end.
2015-04-27Remove ECHO_WRAPPER_MSG and just use ECHO_BUILDLINK_MSG, which was setjperkin1-14/+5
to the same value anyway. Also removes a comment from 2005 which was possibly wrong at the time it was committed, given the same construct has been used in bsd.buildlink3.mk unchanged since 2004.
2015-04-26revert rev. 1.7. Although it should be correct in theory it interactstnn1-3/+2
with the build of some packages in subtle ways, and needs more testing.
2015-04-25Fix typo in comment.wiz1-2/+2
2015-04-25If we have -Wl,--whole-archive -lfoo -lbar -Wl,--no-whole-archivetnn1-2/+3
surrounding a list of static libraries, we must preserve that order so the effect of --whole-archive is as intended by the package. cwrappers does this correctly but classic wrappers didn't.
2014-12-30Remove pkg_views support, second part: infrastructure.wiz1-32/+1
2014-11-25Separate dependency from nada-rule.joerg1-2/+4
2014-11-24Add cwrappers glue as developed during Google's Summer of Code 2007.joerg1-1/+3
2014-09-02Replace calls to cat(1) with echo(1) which is highly likely to be a shelljperkin1-57/+37
builtin. This significantly reduces the number of exec's required during the 'wrapper' phase and brings the execution time down accordingly.
2014-03-06Variable override is confusing.uebayasi1-6/+6
2014-03-06Wrap not only ld but also ar and ranlib.uebayasi1-1/+5
2014-02-26Remove special handling of -v in the wrappers.jperkin1-3/+2
This was originally introduced to work around some behaviour in the libtool build, however these days it is actively harmful for a number of packages, where removing additional arguments when -v is present on the command line can break ABI detection (notably in CMake packages). Instead, filter out any references to BUILDLINK_DIR from the libtool scripts, as that should do the same job. Retain the ability to run the 'scan' wrapper script, as it can be useful in certain cases, and is required to support the scan-libtool script anyway.
2013-12-31Don't try to convert the SunStudio option "-mt". There is no GCC optiontron1-2/+2
which is accepted by both the GCC bundled with Solaris 10 and the more modern GCC versions availabe in "pkgsrc". Handling of POSIX thread related options should be left to pkgsrc anyway. Fix based on a suggestion by Richard Palo.
2013-05-09Use --sysroot in cpp/gcc/gxx cross-compiler wrappers.riastradh3-106/+9
Now that NetBSD supports --sysroot we don't need to mess with the partial measures of -nostdinc, -isystem, &c. ok agc
2013-04-21Fix a harmless typo.uebayasi1-2/+2
2013-03-01Create a wrapper for gfortran.jperkin1-2/+2
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+= ada marino1-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.