Commit graph

26 commits

Author SHA1 Message Date
joerg
81428e7010 Drop _LIBTOOL and _SHLIBTOOL and make LIBTOOL and SHLIBTOOL point to the
wrapped version by full path. This fixes some cases where the wrappers
have been bypassed. lang/lua52 triggered the investigation as it failed
to link against libreadline, which should have been translated to
libedit. Tested by jperkin and myself with full bulk builds.
2015-05-04 19:23:19 +00:00
jperkin
c79e6c9aef Move cwrappers WRAPPER_DIR and WRAPPER_BINDIR to wrapper-defs.mk, it is
included by bsd.prefs.mk so we need to ensure consistency.
2015-04-28 21:15:01 +00:00
jperkin
614cc638cc Ensure the wrapper directories are created before WRAPPER_TARGETS. 2015-04-28 21:08:34 +00:00
jperkin
d040a0e7c5 Split cwrappers from legacy wrappers. We no longer generate the legacy
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-27 19:59:07 +00:00
jperkin
67722761c5 Add a 'gfortran' alias so that GCC fortran goes via the wrappers. 2015-03-17 18:41:20 +00:00
joerg
dfbcb4d26d PR 49686: Drop -I and -L options references the built-in search
directories of the compiler/linker when using cwrappers. Command line
flags will often put them before the corresponding flags for
PREFIX/include and PREFIX/lib, so the version from outside .buildlink
would be prefered. The other way around is much less likely to be a
problem and normally the expected case. Bump required cwrappers version
for the necessary exact-match feature.
2015-03-15 19:23:26 +00:00
joerg
f86268b244 Use append for IMAKEOPTS and the real path for exec as IMAKE includes
the options.
2014-12-12 10:50:17 +00:00
joerg
81b3b1d8c7 Indexing starts by 1. 2014-12-12 10:12:50 +00:00
joerg
bf5ee61f9f Use LOCALBASE for finding the wrapper binaries, USE_CROSSBASE messes up
PREFIX.
2014-12-10 23:26:21 +00:00
schmonz
8ceb13fcc0 Remove "CC" from CWRAPPERS_ALIASES.cxx.
Motivation: with "USE_CWRAPPERS=yes" on the default case-insensitive
OS X filesystem, linking the wrappers was failing, stopping the
build. For example:

    ===> Creating toolchain wrappers for mess822-0.58nb3
    ln: .../pkgsrc-current/mail/mess822/work/.cwrapper/bin/cc: File exists
    *** Error code 1

    Stop.

I never noticed this with the old wrappers, but they've also been
failing to link "CC" as an alias to "c++"; it's just that the failure
has been silent and I've never noticed a build failure for lack of
a "CC" wrapper, despite there probably never having been such a
wrapper.

Given that jperkin's SmartOS bulk build with this change produced
results similar to last week's non-cwrappers trunk build, we can
conclude that across platforms, the need for a "CC" wrapper is very
limited and we needn't try (and sometimes fail) to create one by
default.
2014-12-10 14:29:21 +00:00
joerg
1adb9bfbc0 Use full path for CC, CXX and FC. 2014-12-09 12:50:24 +00:00
joerg
02894d322c Provide exec_path for cwrappers-20141129 and require that version. 2014-11-29 22:20:40 +00:00
joerg
b533827bce Temporarily increase compat with old wrappers and add
-I${PREFIX}/include.
2014-11-29 00:53:13 +00:00
joerg
7cc798a257 Export CWRAPPERS_CONFIG_DIR directly for now to deal with Makefiles
calling libtool or cc directly. Leave a note to fix those later.
2014-11-29 00:51:56 +00:00
joerg
ac1e5edf7d Drop trivially redundant transforms. 2014-11-27 23:44:10 +00:00
joerg
4d968f774b cwrappers-20141127: Rename environment variable to CWRAPPERS_CONFIG_DIR
for consistency.
2014-11-27 20:36:43 +00:00
joerg
e5d9eab229 Correct libtool depends on factors like USE_LANGUAGES, so pick up
whatever got choosen elsewhere.
2014-11-27 20:34:55 +00:00
joerg
3df24af04d Consistent indentation. 2014-11-27 20:33:58 +00:00
joerg
40da991aae Support wrappee specific transformations and use it to fix imake. 2014-11-27 20:33:32 +00:00
joerg
be4056d757 Allow appending options on a per-wrappee base. 2014-11-27 20:32:41 +00:00
joerg
63663b9704 Fix variable expansion. 2014-11-27 20:31:56 +00:00
joerg
5b77a6d079 Add clang aliases to the list. Will be conditionalized later. 2014-11-25 18:25:58 +00:00
joerg
9581ce26f5 Whitespace 2014-11-25 18:24:32 +00:00
joerg
69ec520b62 generate-cwrapper -> generate-cwrappers 2014-11-25 18:24:12 +00:00
joerg
bc62c0bfcb Mirror old wrapper code and override _LIBTOOL / _SHLIBTOOL only in the
case of USE_LIBTOOL.
2014-11-25 18:23:49 +00:00
joerg
516b42831c Add cwrappers glue as developed during Google's Summer of Code 2007. 2014-11-24 00:32:31 +00:00