summaryrefslogtreecommitdiff
path: root/mk/wrapper
AgeCommit message (Collapse)AuthorFilesLines
2006-02-02Replaced jlam's initial sketch with one in which the parts are arrangedrillig1-27/+35
in a much simpler way, which hopefully makes the wrapper framework less frightening to the pkgsrc developers. Added some additional notes.
2006-01-16Remove superfluous quotes around SUBST_MESSAGE.wiz1-2/+2
2005-12-05Applied all quoting fixes found by "pkglint --autofix".rillig1-5/+5
2005-11-28The SunPro compiler does not understand the gcc-specific -pipe option,rillig1-2/+2
but interprets it as -p -i -p -e:, and so discards the following argument. Fixed by simply discarding that argument.
2005-10-30added missing header lines.schwarz1-0/+37
2005-10-16added support for the SGI IDO (IRIX Development Option) cc used by IRIX 5.3.schwarz2-1/+120
changes approved by jschauma and recht.
2005-10-10Make WRAPPER_SHELL configurable.tv1-2/+2
2005-08-21preserve -Qoption arg if the 2nd next arg isn't -R.grant1-1/+2
2005-08-20strip leading "-Qoption ld" from -R args for sunpro C++ compiler, togrant2-1/+66
avoid duplicate "-Qoption ld" args when the -R args is later stripped. thanks to jlam@ for the hint.
2005-08-20add -xnolibmopt after -fast to disable the use of libsunmath (until itgrant1-2/+14
can be sanely statically linked).
2005-08-18pass through -f flags that sunpro understands verbatim, drop other -f*grant1-2/+16
flags.
2005-08-18drop -Wl,--export-dynamic, as Solaris ld(1) default behaviour is togrant1-1/+10
export all dynamic symbols.
2005-08-13transform -Wl,-soname to -h for sunprogrant1-1/+9
2005-08-05Hardcode a workaround for perl's DynaLoader.a which is definitely ajlam1-1/+14
PIC code archive, but libtool isn't smart enough to realize it. Munge the name within cmd-sink-libtool into something that will make libtool recognize it as a PIC code archive. We unmunge it in arg-pp-main so non-libtool wrappers see the right thing. This let's us use libtool to link applications with an embedded Perl interpreter. I feel so dirty...
2005-07-26icc 9.0 wants the same options as 8.1.grant1-2/+2
2005-07-23fix typo in comment.grant1-2/+2
2005-07-23ensure gcc options are always passed to imake when using gcc ongrant3-1/+110
Solaris. fixes PR pkg/29608.
2005-07-06Added the gcc option -fpermissive to the list of options that are ignoredrillig1-2/+2
by the SunPro compiler.
2005-07-06update copyright yeargrant1-2/+2
2005-07-06add cmd-sink for sunpro C++ which links shared libraries with thegrant2-1/+69
standard C++ runtime libraries. we need to explicitly do this because ${CXX} only links against the C++ runtime libraries when building an executable, not a shared object. this results in executables linked against libraries linked by ${CXX} unable to resolve C++ symbols at runtime. fixes packages which link shared libraries using ${CXX}, including graphics/glu, databases/db4, and packages which use shared libraries provided by these packages.
2005-07-05ignore more gcc-specific arguments:grant1-2/+2
-fomit-frame-pointer -fwriteable-strings -traditional
2005-07-04sunpro needs the -mt -lpthread arguments for POSIX threads accordinggrant1-4/+4
to cc(1). modify the -pthread transform accordingly.
2005-06-09Forgot the strip the comma when removing "-Wl," from the the nextjlam1-2/+2
argument during argument merging.
2005-06-08Properly turn:jlam1-1/+32
-Wl,-rpath -Wl,/dir1:/dir2:/dir3 into: -Wl,-rpath,/dir1 -Wl,-rpath,/dir2 -Wl,-rpath,/dir3 Do the same for -Wl,-R and -Wl,-rpath-link. This makes the wrapper scripts pass the test in regress/buildlink-transform/rpath-merge.mk and fixes PR pkg/27702.
2005-06-08Update comment to reflect implementation.jlam1-2/+2
2005-06-08Remove part of comment that is no longer true.jlam1-5/+2
2005-05-20Made sure the :sh operator does not result in an empty string. Rewrote therillig1-3/+7
variable substitution for the find(1) command to be more readable.
2005-05-20Change instances where we stored `shell command` in a make variable intojlam1-6/+5
variables that use the :sh modifier. This still causes expansion to only happen when referenced, and has the advantage of being :Q-safe. Bring back the changes from revision 1.19 of mk/subst.mk now that the problem noted above has been fixed. This passes the buildlink-unwrap regression test.
2005-05-16Add missing required argument to msg_log.jlam3-13/+13
2005-05-11Rename MAKE_VARS to MAKEVARS so that it more closely resemblesjlam1-2/+2
"MAKEFLAGS". Both "MAKEVARS" and "MAKEFLAGS" affect the package-level make process, not the software's own make process.
2005-05-09Teach bsd.pkg.mk to create a phase-specific "makevars.mk" file thatjlam1-29/+3
caches variable definitions that were computed by make. These variables are specified by listing them in MAKE_VARS, e.g., .if !defined(FOO) FOO!= very_time_consuming_command .endif MAKE_VARS+= FOO bsd.pkg.mk will include only the one generated during the most recent phase. A particular phase's makevars.mk file consists of variable definitions that are a superset of all of the ones produced in previous phases of the build. The caching is useful because bsd.pkg.mk invokes make recursively, which in the example above has the potential to run the very time-consuming command each time unless we cause FOO to be defined for the sub-make processes. We don't cache via MAKE_FLAGS because MAKE_FLAGS isn't consistently applied to every invocation of make, and also because MAKE_FLAGS can overflow the maximum length of a make variable very quickly if we add many values to it. One important and desirable property of variables cached via MAKE_VARS is that they only apply to the current package, and not to any dependencies whose builds may have been triggered by the current package. The makevars.mk files are generated by new targets fetch-vars, extract-vars, patch-vars, etc., and these targets are built during the corresponding real-* target to ensure that they are being invoked with PKG_PHASE set to the proper value. Also, remove the variables cache file that bsd.wrapper.mk was generating since the new makevars.mk files provide the same functionality at a higher level. Change all WRAPPER_VARS definitions that were used by the old wrapper-phase cache file into MAKE_VARS definitions.
2005-04-07In line with the unconditional inclusion in bsd.pkg.mk, bsd.buildlink3.mktv1-4/+2
must always bee included too.
2005-03-24USE_BUILDLINK3 is no longer optional (and cannot be turned off). Per mailtv1-6/+2
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.
2005-03-08fix previous to work with pkgsrc bmake, and add a comment explaininggrant1-2/+5
why it must be done this way.
2005-03-06Also echo the wrapper stages if PKG_VERBOSE is defined, not just whenagc1-2/+2
PKG_DEBUG_LEVEL > 1.
2005-02-19add wrappers to transform arguments for AIX's ld(1), notably, if wegrant4-1/+253
are dynamically linking, the -brtl flag must be passed to the linker so that the runtime linker is used. tested on AIX 4.3 and 5.1 by garbled@.
2005-02-16drop -fexceptions which icc doesn't understand.grant1-2/+2
2005-02-16Always link against the Intel provided C++ runtime library.grant1-1/+6
2005-02-16properly detect icc 8.1, which needs a different argument togrant2-1/+71
statically link the Intel provided libraries.
2005-02-15it's 2005, not 2004.grant2-4/+4
2005-02-15add support for icc, the Intel C++ Compiler (Linux).grant3-1/+149
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.
2005-02-15The libtool wrapper should always do the compiler wrapper transformations,jlam1-3/+1
so move the setting for _WRAP_ARG_PP.LIBTOOL out of conditional areas of bsd.wrapper.mk and set it globally in bsd.buildlink3.mk with the rest of the libtool wrapper variables.
2005-02-14Add some more debugging annotations for the work log to note split argsjlam1-3/+3
and skipped args.
2005-02-14Move some Darwin-specific code from arg-pp-main into arg-pp-darwin-gcc.jlam2-19/+23
2005-02-14Teach the libtool wrapper about the same types of transformations thatjlam1-1/+3
the compiler wrapper already knows to do. This should protect "-install_name ..." from wrapper transformations within the libtool wrapper on Darwin and fixes PR pkg/29215. Software that properly use libtool don't pass an explicit "-install_name ..." because libtool always generates its own such argument when building the (Darwin) shared library. However, not every piece of software, including the ones like lang/tcl that pkgsrc converted to use libtool, will use libtool in the documented fashion. Longer term, those packages should be fixed properly, but we will still need the libtool wrapper to avoid transforming arguments that the compiler wrapper itself doesn't transform, e.g. for MIPSpro and -LANG:*.
2005-01-26Fix so that we preserve /usr/lib/foo.so on the command line.jlam1-16/+28
2005-01-25Set argmatch=yes when we transform /some/where/libfoo.so intocube1-1/+4
-L/some/where -lfoo so that the arguments we push on the stack are actually used in logic. Should solve the issue build bash with option 'static' enabled reported on netbsd-users. OK'd by jlam@.
2005-01-24Disallow -rdynamic (was being attempted by shells/scsh).tv1-2/+2
2005-01-18Split out the argument pre-processing logic into its own scriptjlam7-164/+329
arg-pp-main, and allow for wrapper-specific hooks to extend the pre-processing through _WRAP_ARG_PP.<wrappee>. Move the Darwin GCC-related preprocessing into arg-pp-darwin-gcc, and create a arg-pp-mipspro-cc that understands -LANG:<feature> and -LIST:<feature> so that they're not confused with the usual -Ldir options.
2005-01-18Teach the wrapper scripts about HP-UX *.sl shared libraries. Theyjlam1-1/+14
work the same way as ELF *.so shared libraries from pkgsrc's point of view -- just the extension is different.