Commit graph

155 commits

Author SHA1 Message Date
jlam
9ff0e10340 Reorder location and setting of BUILDLINK_PACKAGES to match template
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-03-05 19:25:06 +00:00
jlam
07634a03fa Update template bsd.buildlink3.mk file to work with to-be-committed
changes to the buildlink3 framework.  The changes ensure that
BUILDLINK_PACKAGES orders packages so that for any element in the
list, the packages to the right do not depend on any packages to the
left of that element.
2004-03-05 19:09:56 +00:00
jlam
1a98a9895b sjg recommends escaping the bare left curly brace in the make variable
modifer expression.
2004-02-23 09:15:33 +00:00
jlam
00b950724b Back out previous because that brace is not supposed to be there. 2004-02-23 08:58:22 +00:00
dogcow
48adda54db add a missing } to the end of the line; fixes PR/24525. 2004-02-23 08:18:59 +00:00
jlam
65af2d1fe6 According to the documentation on version numbering of shared libraries at:
http://fink.sourceforge.net/doc/porting/shared.php

It's okay to link against a name like "libqt.2.3.0.dylib" using
"-lqt.2.3.0", which means we never need to do anything more than just
strip the trailing ".dylib" from shared library names when converting from
a full path to "-L... -l...".  This should fix PR 24402.
2004-02-19 18:39:27 +00:00
jlam
3d05ef90b1 Use the mipspro-ucode bits if we're using the mipspro-ucode compiler. 2004-02-19 13:17:13 +00:00
jlam
b4081e6300 Resolve ${LOCALBASE} to its phyiscal path and mangle it back into
${LOCALBASE}.  Some packages' configure scripts resolve all paths to
physical paths, and since buildlink3 suppresses references outside of
${LOCALBASE}, it can break the build of those packages.

This should fix the problem noted by Nathan Williams in the thread
titled "x11/tk build failure" at:

	http://mail-index.netbsd.org/tech-pkg/2004/02/17/0004.html
2004-02-19 12:50:47 +00:00
jlam
2a766c79fa Don't spew files in the package directory if the BUILDLINK_DEPENDS.<pkg>
uses {} to list several "or" dependencies.
2004-02-19 07:41:44 +00:00
jlam
5c40aefbbe Output a more informative/desriptive error than:
cd: cd BUILDLINK_PREFIX.foo_not_found

We now say that the package wasn't installed at the time that we were
trying to buildlink its files.
2004-02-18 19:16:52 +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
455aa176d8 Initial support for the MIPSpro ucode compilers found on IRIX 5.3. The
ucode compilers only support building the "o32" ABI.
2004-02-18 11:18:42 +00:00
jlam
990623913c Typo in comment. 2004-02-18 11:10:35 +00:00
jlam
192e73f9e3 Typo in comment. 2004-02-18 05:23:37 +00:00
jlam
bedc09eef8 Require x11-links-0.23 for the correct set of links with XFree86-4.3.x. 2004-02-17 16:56:47 +00:00
jlam
350ca28970 Fix the glob pattern to match >= dependencies correctly. 2004-02-17 16:07:37 +00:00
jlam
50e37dd0bd Do "dependency reduction" where dependency lists of the form "foo>=0.2
foo>=0.3 foo>=0.4" are collapsed into a single "foo>=0.4" dependency.
2004-02-17 14:49:17 +00:00
jlam
bad42f1f3f +less obfuscated errors 2004-02-17 08:59:44 +00:00
grant
1c81e8e6a1 also ignore -pedantic, SunPro doesn't need to be told ;-) 2004-02-16 22:22:38 +00:00
jlam
e95593a479 Symlink any *.pc files into ${BUILDLINK_DIR} for dependencies and force
pkg-config to only look in ${BUILDLINK_DIR}/lib/pkgconfig for *.pc files.
This will correctly hide the presence of software from configure scripts
that query pkg-config for that information.

Idea suggested by Julio M. Merino Vidal.
2004-02-16 21:01:17 +00:00
jlam
2a3f166b38 Add some TODO items for me. 2004-02-16 20:50:50 +00:00
grant
0e24610e47 ignore -ansi, SunPro doesn't need to be told to support ANSI C. 2004-02-16 12:18:15 +00:00
jlam
bacf725a9d Move section that checks for PREFER_PKGSRC a little higher so that it
actually has some effect.
2004-02-16 03:08:52 +00:00
jlam
d48d056fe7 Whitespace nits. 2004-02-15 14:50:11 +00:00
jlam
d859a79bb1 Aside from everything under ${PREFIX}/include, grab all *.h files for
symlinking into ${BUILDLINK_DIR} for a more complete set of headers.
2004-02-15 14:37:00 +00:00
jlam
f9efcd5148 Create wrappers for the compilers for every language supported by the
compiler set.  This will cause the libtool configuration found in several
packages to use the correct C++ compiler even though the package doesn't
use C++.  This was causing bugs when CXXFLAGS contained flags not
understood by the system gcc-2.95.3.
2004-02-15 13:34:33 +00:00
jlam
5dfc302c34 Change "-I dir" to "-Idir" (same for -L/-R) so that the .transform.sed
script will understand these commands.
2004-02-13 16:49:53 +00:00
jlam
4beeebf425 Move a test from the reorderlibs script out to the wrapper scripts for
efficiency reasons.
2004-02-12 20:29:34 +00:00
jlam
bf3e309dc8 Add missing "$" that was causing the reorderlibs script to create a
variable with an exponentially increasing size.  Fixes infinite loop when
building security/cyrus-saslauthd.
2004-02-12 20:20:35 +00:00
jlam
64a361223d Skip the common cache for more options that are only sunpro-cc related. 2004-02-12 10:16:27 +00:00
jlam
c1fa249663 Modify the "no-rpath" to not need a "/" to start the rpath. Also modify
the "r" command to allow paths ending in "/".  This should fix PR 24352.
2004-02-12 08:28:58 +00:00
jlam
09ed136483 Darwin's special GCC also uses -dylib_file and -dylib_install_name in
similar ways to -install_name, and all need the subsequent argument to be
protected from /path/shlib -> -L/path -lshlib transformations.
2004-02-09 04:35:12 +00:00
jlam
46728682bf Don't generate wrapper scripts if we can't find the wrappee. 2004-02-09 03:05:59 +00:00
jlam
8396978738 We need the full path to the libtool that needs to be invoked when we
use LIBTOOL_OVERRIDE.  In the buildlink[23] case, that is supposed to be
the one in ${BUILDLINK_DIR}.  Create new private variables _LIBTOOL and
_SHLIBTOOL to hold these paths.
2004-02-09 01:30:59 +00:00
jlam
3f0c4ee09a * Let CC/CXX/CPP/FC always point to the compiler used in the actual
building of software.  For packages that use either buildlink2 or
  buildlink3, this would be the wrapper script in ${BUILDLINK_DIR}.

* Garbage-collect _BLNK_WRAP_SETENV.* as those are not needed after
  the above changes.  Configure and make processes will automatically
  find the right compilers in the PATH.

* PKGLIBTOOL and PKGSHLIBTOOL are no longer needed since LIBTOOL and
  SHLIBTOOL point to the correct libtools regardless of any
  USE_BUILDLINK[23] definitions.
2004-02-08 02:59:14 +00:00
jlam
c49973f61a If we're passing through MAKEFLAGS variables whose values may contain
spaces, use the :Q modifier instead of double-quoting the value.  This
fixes breakage when executing the just-in-time su targetes.
2004-02-06 18:45:02 +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
jlam
9a9cc4b6d2 Touch up the grammar a bit in the last commit. 2004-02-05 08:50:38 +00:00
seb
9429c9246f Mention that some buildlink3 variables are not defined at all times.
Approved by jlam@.
2004-02-05 07:49:48 +00:00
jlam
317cc72791 Make PREFER_PKGSRC just yes/no or a list of packages. This makes it
simpler to understand.
2004-02-05 07:17:14 +00:00
jlam
e7133cac25 Rename BUILDLINK_PREFER_PKGSRC to PREFER_PKGSRC so that we can use its
value outside of buildlink-related files.
2004-02-05 07:06:15 +00:00
jlam
07a9d8dfb2 Support a new global variable:
BUILDLINK_PREFER_PKGSRC
	This variable determines whether or not to prefer the pkgsrc
	versions of software that is also present in the base system.

	This variable is multi-state:
		defined, or "yes"	always prefer the pkgsrc versions
		not defined, or "no"	only use the pkgsrc versions if
					needed by dependency requirements

	This can also take a list of packages for which to prefer the
	pkgsrc-installed software.  The package names may be found by
	consulting the value added to BUILDLINK_PACKAGES in the
	buildlink[23].mk files for that package.
2004-02-05 06:58:02 +00:00
jlam
adb77485ab Fix an error that crept in between revisions 1.25 and 1.26 where some /'s
were inadvertantly added when replacing the awk script with a sed script.
2004-02-05 00:00:05 +00:00
jlam
154fd6b9b3 Make it more apparent where certain "not_found" values are set for
debugging purposes.
2004-02-04 22:31:54 +00:00
jlam
eedd099369 Fix harmless for-loop-break bug. 2004-02-04 22:27:41 +00:00
jlam
09eca416bc Instead of tedious validating every platform for full caching compliance,
just assume they do unless they're known _not_ to work.  So far, only
Darwin-5.* suffers from this problem, apparently because they use some
bizarre version of zsh for /bin/sh.
2004-02-04 01:13:04 +00:00
jlam
e9559de07c Only create wrapper scripts for compilers that we require support for as
noted in USE_LANGUAGES.
2004-02-02 10:26:42 +00:00
grant
f2b6f2f963 transform -f{pic,PIC} -> -Kpic and -shared -> -G to fix building of
packages which pass these gcc-specific flags.

also ignore -Werror; if a package passes -Werror, it's expecting that
the compiler is gcc, which in this case it is not. SunPro often emits
warnings on code which gcc doesn't, so transforming this flag to
-errwarn is counterproductive.
2004-02-02 01:36:14 +00:00