Commit graph

54 commits

Author SHA1 Message Date
tv
fe3c1321bf USE_BUILDLINK3 is no longer optional (and cannot be turned off). Per mail
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-24 17:46:00 +00:00
tv
6fe837f39d Don't claim that the "gawk" bundled with Interix is really gawk. It's
old and buggy, and if a package wants USE_GNU_TOOLS+=awk, pull in lang/gawk
instead for less problems.
2005-03-21 13:58:22 +00:00
tv
c0a3d0489f Cleanup from tv-derecurse:
There's no need to check for a do-tools target; nothing should override it.
Vertically consolidate the dependency.
2005-02-11 15:59:41 +00:00
gavan
b93161d47c Replace _IGNORE_USE_GNU_TOOLS with finer-grained exclusion.
This solves the problem of building GNU tools that explicitly or
implicitly depend on other GNU tools. This problem has presented a
bootstrap issue on platforms with few GNU tools, especially where
USE_PKGSRC_GCC is used.

Based on a patch posted by sketch on tech-pkg in December 2003.
2005-02-09 22:10:19 +00:00
tv
6a8e8e01db Interix doesn't have a "flex" program per se in the base system. Its "lex"
is flex, but libfl.a and FlexLexer.h are missing.  So use pkgsrc flex
on an as-needed basis.
2005-01-21 02:23:34 +00:00
minskim
90e4fe3699 Create a symlink to the pkgsrc perl executable in ${TOOLDIR}/bin so
that native perl is never used.

Suggested by jlam@.
2004-12-30 09:47:01 +00:00
jlam
bf4e0b5a64 On NetBSD, rpcgen must *always* be invoked with "-b":
-b      Compile stubs in "backwards compatible" mode, disabling
             support for transport-independent RPC.  The -b should always
             be specified when generating files for NetBSD, since there is
             no transport-independent RPC support in NetBSD.

Therefore, force "-b" to be the first argument whenever rpcgen is invoked
via the wrapper.
2004-12-22 21:39:25 +00:00
jlam
8b2040b409 Always create a ${TOOLS_DIR}/bin/rpcgen to wrap the real rpcgen.
The wrapper will correctly set the CPP environment variable to a
stat((2)able path to a C preprocessor, then rely on the PATH to
find and invoke the real rpcgen.

Remove NO_EXPORT_CPP in package Makefiles where it was used just to
avoid problems with rpcgen.  The build system now just does the right
thing automatically without needing package-specific knowledge.

This fixes PR pkg/27272.
2004-12-18 19:24:26 +00:00
wiz
6af35801a0 Some updates for DragonFly from Todd Willey via tech-pkg. 2004-11-02 22:24:35 +00:00
grant
a2123a466b make sure _TOOLS_HAS_GNU.<tool> is initialised. from Michael van Elst
in PR pkg/27258.
2004-10-14 11:41:40 +00:00
grant
caabec7172 fix a comment 2004-10-14 09:56:52 +00:00
grant
4f6d6c2740 devel/yacc -> devel/bison. there is no such package as devel/yacc.
(how did this ever work?)
2004-10-14 09:54:04 +00:00
grant
f8258b249d handle the operating system having GNU yacc (actually bison) and
explicitly undef YACC.

YACC?=yacc is set in sys.mk, but this interferes with building some
packages that require bison because they try ${YACC} and fail.
2004-10-14 09:51:43 +00:00
tv
0755bfeadb Let's do another _TOOLS_REPLACE_OPSYS dance for Interix. It ships with a
version of gawk in /usr/contrib/bin, so use that instead.
2004-10-12 01:17:36 +00:00
tv
b546e8c0c5 Upon further digging, it appears that Interix just needed a
_TOOLS_REPLACE_OPSYS setting to pick up nbsed in tools.mk; no need to
throw more into autoconf's environment.
2004-10-11 23:38:53 +00:00
jlam
dffc19378a Reorganize some of the files under pkgsrc/mk:
(1) defs.${OPSYS}.mk --> platform/${OPSYS}.mk.

The "platform" subdirectory is where all of the ${OPSYS}-specific
infrastructure logic should reside.

    (2) bsd.pkg.defaults.mk --> defaults/mk.conf
        bsd.pkg.obsolete.mk --> defaults/obsolete.mk

Renaming bsd.pkg.defaults.mk to defaults/mk.conf is to mimic the way
that NetBSD has /etc/rc.conf as well as /etc/defaults/rc.conf, where
the latter is a full list of user-settable variables, and the two
files share the same name to reinforce the fact /etc/defaults/rc.conf
can be directly copied in place as /etc/rc.conf.  This is the same
relationship shared by defaults/mk.conf and /etc/mk.conf.
2004-10-06 20:51:47 +00:00
seb
b0312a5e94 Also hide automake 1.9* commands by adding their names in _HIDE_PROGS.automake.
For me this fixed the build of devel/kdevelop-base version 3.1.0 with latest
automake package version 1.9.1 installed.
2004-08-23 09:33:25 +00:00
drochner
f944e0044f make the TBL variable work as intended 2004-07-22 17:02:22 +00:00
jlam
cac0c549c0 If a package Makefile sets USE_TBL to "yes", then add "tbl" to
${TOOLS_DIR}/bin.  It will either point to /usr/bin/tbl or will depend
on groff otherwise.

This should allow removing dependencies on groff just for the sake of
forcing the existence of tbl.
2004-07-21 19:55:11 +00:00
grant
6c1ca06818 NetBSD 2.0 and above does not have GNU awk, make it so. 2004-06-15 13:41:43 +00:00
dmcmahill
5fdeadb2b4 if we need the devel/flex package and USE_BUILDLINK3 is set, then
pull in devel/flex/buildlink3.mk instead of just listing a BUILD_DEPENDS.
This is needed because flex installs a library.
2004-04-27 21:05:38 +00:00
tv
ba4f705dc9 So the patch(1) shipped with Interix is just *slightly* too old: it can't
cope with "new" files (i.e., -0+0 starting line).  Do what AIX does and
make pkgsrc depend on textproc/patch for Interix.
2004-04-22 03:36:30 +00:00
grant
605e0e9ca2 fix our idea of which platforms have bison. 2004-03-29 14:03:09 +00:00
tv
649a33d816 Add Interix where appropriate, and fix a typo in _TOOLS_OPSYS_HAS_GNU.sed. 2004-03-11 19:38:12 +00:00
xtraeme
4ab985a5b9 Add FreeBSD-*-* to _TOOLS_OPSYS_HAS_GNU.sed. 2004-03-09 10:07:21 +00:00
jlam
3bc670ced3 Remove some checks for PREPEND_PATH as we don't need them. 2004-02-18 14:23:42 +00:00
jlam
c40ee95964 * Move pkgsrc/mk/compiler/bsd.compiler.mk to pkgsrc/mk/compiler.mk.
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-18 13:32:38 +00:00
jlam
59ed73505b Move up the creation of the auto* stubs to just before the do-configure
target.  This still allows any autoconf/automake we execute at
pre-configure time to find its own scripts, but forces the configure script
find our stubs instead.  This should prevent the need to constantly
override the missing script using GNU_MISSING_OVERRIDE.
2004-02-17 12:09:16 +00:00
jlam
4642f094be Defer creating the auto* stubs until just before we enter the build phase.
This allows any autoconf/automake we execute at pre-configure time to find
its own scripts, yet still prevents "make build" from clobbering any
changes we may have made.
2004-02-11 01:07:37 +00:00
jlam
d72bb0e381 Hiding the PATH from certain phases of the build only accidentally worked
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-06 04:37:02 +00:00
jlam
bed8d4d73e We only prepend a directory to the PATH if we haven't already done so
(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-06 03:04:50 +00:00
grant
a85d6ec3db add support for the GNU versions of lex and yacc, which are required
to build some packages on some platforms.
2004-02-03 08:57:20 +00:00
grant
4d24d7a1f8 bring back rev. 1.20.
in fact, the last revision didn't contain unwanted changes, but two
minor errors, now fixed. sorry for the mess.
2004-01-29 10:19:10 +00:00
grant
81300a33cf backout previous; it had other changes I didn't want to commit yet... 2004-01-29 10:15:44 +00:00
grant
01b9c194a6 add GNU gnu patch(1), to override patch(1) on some platforms. 2004-01-29 09:38:10 +00:00
wiz
c55128c86f Assume NetBSD's sed is good enough.
If problems arise, we can always remove it later.
jlam@ agrees (see tech-pkg).
2004-01-07 00:12:19 +00:00
grant
7cd5a15287 hide aclocal-1.8 and automake-1.8 after automake update to 1.8. 2003-12-23 01:38:12 +00:00
grant
bf369f629d fix a comment. 2003-12-23 01:32:58 +00:00
jschauma
ec521567f8 Congratulations, we've found our first incompatible awk: Irix!
Pointed out by Bas van Oostveen in PR pkg/23514.
2003-12-04 04:33:19 +00:00
grant
3adae31d17 don't try to use tools if they haven't been installed yet.
fixes PR pkg/22844.
2003-09-21 17:40:40 +00:00
grant
80a25a3566 add m4 to the list of tools. 2003-09-19 00:22:09 +00:00
jlam
841b57441b Merge pkgviews-mk branch into the HEAD by running:
cd pkgsrc/mk
	cvs update -Pd -A
	cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-09-02 06:59:37 +00:00
jlam
30dae47585 GNU make installed from pkgsrc can always be found as
${LOCALBASE}/bin/gmake.  ${LOCALBASE}/bin/${GNU_PROGRAM_PREFIX}/make
technically works, too, but this covers the (unsupported!!) case where the
user has GNU_PROGRAM_PREFIX="" and has moved the "make" binary directly
over the "gmake" symlink created by pkgsrc (Jeremy Reed reported this
problem on tech-pkg@ because he uses this a a debugging technique to find
out whether GNU make is actually needed by a package or not).
2003-08-27 20:03:44 +00:00
jlam
53001478f3 Cut-n-pasto: s/GREP/GMAKE/ in the GNU make section. (from pkgviews-mk) 2003-08-27 01:58:25 +00:00
jlam
9fbdc941fe Create a symlink from the "make" requested by the package into
${TOOLS_DIR}/bin/make.  If a package wants GNU make, then it should
set:
	USE_GNU_TOOLS+=	make

in the package Makefile.  Allow for USE_GMAKE to continue to work
until we get a chance to sweep through pkgsrc and remove the usage
of this now-redundant variable.

This change allows us to avoid patching makefiles that use a bare
"make" command to invoke sub-make processes.  Idea suggested by
salo@netbsd.org in pkg/22509.
2003-08-26 20:15:23 +00:00
jlam
a8e872425a Avoid circular dependencies if USE_GNU_TOOLS is set unconditionally in
either the environment or in /etc/mk.conf by telling dependencies of the
named GNU tool to ignore any USE_GNU_TOOLS settings when they are built.
2003-08-17 04:06:36 +00:00
jlam
b6231ea0ad If an OS is listed in _TOOLS_REPLACE_OPSYS.<tool>, then we want to make
sure that tool is symlinked into ${TOOLS_DIR}/bin.
2003-08-17 02:03:53 +00:00
grant
bd01fe0985 put SunOS back in _TOOLS_REPLACE_OPSYS.sed. 2003-08-16 23:54:31 +00:00
grant
02cce8b3fe fix small typo: TOOLS_REPLACE -> _TOOLS_REPLACE 2003-08-16 23:49:27 +00:00
jlam
ac0258dd3c Move the hide-tools portion of bsd.buildlink2.mk into tools.mk, and
put the tools in ${WRKDIR}/.tools/bin instead of in ${BUILDLINK_DIR},
and remove the need for buildlink2 to use USE_GNU_TOOLS.  In the
modified USE_GNU_TOOLS implementation, the following implementation-
specific variables have the following meanings:

_TOOLS_REPLACE.<tool>
        means that we want ${AWK}, ${SED}, etc. symlinked into
        ${TOOLS_DIR} as awk, sed, etc.

_TOOLS_NEED_GNU.<tool>
        means that we want to use the pkgsrc version of <tool>
        symlinked info ${TOOLS_DIR} as awk, sed, etc.  If this is
        "YES", then it always trumps _TOOLS_REPLACE.<tool>.

And we want nothing to happen if we're building the pkgsrc GNU tool
itself.  The modified USE_GNU_TOOLS implementation should also
hopefully fix the circular dependency problem.

Create a new target "tools" that is run after "patch" and before
"buildlink" that populates the ${TOOLS_DIR} directory.  This ensures
that it's always run at the right time, instead of relying on
pre-buildlink or pre-configure, which may be cancelled by
NO_BUILDLINK or NO_CONFIGURE.

XXX There is some possible fallout in texinfo.mk with the MAKE_ENV and
XXX CONFIGURE_ENV settings for INSTALL_INFO and MAKEINFO.  It looks
XXX like the MAKE_ENV and CONFIGURE_ENV settings should move from
XXX tools.mk into texinfo.mk, and they no longer need to be
XXX conditional on USE_BUILDLINK2.  I'll leave it to the texinfo.mk
XXX dude (Hi, Stoned!).
2003-08-16 08:50:17 +00:00