Commit graph

304 commits

Author SHA1 Message Date
dholland
e42534f09f minor English usage nit 2010-01-17 08:04:32 +00:00
obache
8ab5ae37c6 Add support of SSD/Linux.
* ROOT_GROUP=wheel, fixes PR#42073.
 * LOWER_VENDOR=ssd
 * adjust paths for some tools
2010-01-16 02:16:35 +00:00
joerg
8afaa63116 Add LP64PLATFORMS, a list of patterns for 64bit systems.
This allows easily disabling software that is not 64bit clean.
2010-01-06 18:21:44 +00:00
obache
440a7ccae8 Interix>=5.2 have libc.so.5.2, but no higer revision exists.
So gave up to detect OS_VERSION with shlib version if libc.so.5.2 exists.
2009-12-13 08:19:45 +00:00
tron
3df9e23baa Unconditionally set the default ABI to 32-Bit for Mac OS X Snow Leopard.
There are too many third party applications which don't build using
the 64-Bit ABI at the moment.

Approved by Alistair Crooks.
2009-09-24 17:24:13 +00:00
hasso
c28db14b6a Workaround for amd64 vs x86_64 mess on DragonFly as well. 2009-09-22 19:19:29 +00:00
tron
382da928ee Try again to fix Mac OS X Snow Leopard ABI issue (32-bit vs. 64-bit):
1.) Always set the "ABI" variable.
2.) Default to 64-bit mode if the machine is able to run 64-bit binaries.
    This seems to match the default behavior of Xcode (Apple's toolchain).
3.) Set "LOWER_ARCH" so it automatically evalutes to the correct value
    based on the ABI we are compiling for, not on based on the kernel
    the machine is running. This even works properly if the ABI is
    set in "/etc/mk.conf" or on the command line.

Thanks a lot to OBATA Akio for providing the crucial hint to get
this working properly.
2009-09-22 09:17:50 +00:00
tron
850c257200 Revert last change. It doesn't work properly because the "ABI" setting
is not defined that early as we have included neither "bsd.own.mk"
nor "mk.conf" yet.

We unfortunately cannot make these adjustments later because "bsd.own.mk"
and "mk.conf" would be processed with an incorrect value for
"MACHINE_ARCH".
2009-09-21 15:28:03 +00:00
tron
3a90ebc3b9 Try to fix Mac OS X Snow Leopard ABI issue (32-bit vs. 64-bit):
1.) Always set the "ABI" variable.
2.) Default to 64-bit mode if the machine is able to run 64-bit binaries.
    This seems to match the default behavior of Xcode (Apple's toolchain).
3.) Set "LOWER_ARCH" based on the ABI we are compiling for, not on
    based on the kernel the machine is running.

The "gnupg" package now builds for the 64-Bit API without extra tricks.
2009-09-21 10:56:08 +00:00
tron
2eafe6b808 Add support for X.org bundled with Mac OS X Snow Leopard. 2009-09-13 13:28:46 +00:00
joerg
7a696b5fe4 For developer mode, warn about packages without destdir support. 2009-05-23 23:48:44 +00:00
wiz
5721e5be04 Fix previous:
Actually check what you want to check -- both for "yes" and "no", not
only for "no".
2009-05-19 09:33:53 +00:00
joerg
bac1d48f72 Sanity check that USE_DESTDIR is either yes or no after downgrading
USE_DESTDIR=full. This makes setting USE_DESTDIR=full on the command
line an explicit error as side effect.
2009-05-17 23:44:53 +00:00
joerg
39688c1a79 Make USE_DESTDIR=full the default value and retire the option. 2009-05-09 14:59:08 +00:00
joerg
419c5ad860 Clear USE_LANGUAGES for meta packages. 2009-04-08 23:03:14 +00:00
joerg
28475e7501 Disable CHECK_PERMS by default for meta-packages. 2009-04-08 23:02:03 +00:00
cube
403e256ff6 Merge cube-native-xorg, so that pkgsrc-current can be used with the native
X.Org found in NetBSD-current.

Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).

On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files.  It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file.  x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
2008-10-05 21:36:32 +00:00
tron
ed5b1cca8d X11 is located in "/usr/X11" under Mac OS X Leopard, "/usr/X11R6" is just
a symlink. Use the correct directory because the buildlink framework will
otherwise remove compiler options like "-I/usr/X11/include/pixman-1".
2008-09-16 11:40:10 +00:00
tnn
b41681c446 Simplify the logic that avoids using compat_headers during bootstrap. 2008-06-22 16:25:32 +00:00
joerg
d092c3def3 Make it more explicit that PKG_DESTDIR_SUPPORT and as side effect
META_PACKAGE must be set before including bsd.prefs.mk.
2008-06-16 15:10:48 +00:00
joerg
3ba79d294e Move META_PACKAGE logic from bsd.pkg.mk to bds.prefs.mk, otherwise it
can't define destdir support.
2008-06-12 01:09:01 +00:00
tnn
27e964b1b8 Adjust path for compat_headers. 2008-05-24 03:40:35 +00:00
tnn
83290ab733 Daniel Horecki pointed out on irc that all USE_INET6 references have been
purged from pkgsrc-wip, so remove the support code for that.
2008-05-22 15:48:13 +00:00
tnn
1fdd0b4cdd Avoid pulling in pkgtools/posix_headers when bootstrapping on HP-UX. 2008-04-16 12:28:48 +00:00
tnn
3d06b8fdd5 Kill _OPSYS_NEEDS_XPKGWEDGE. It was only used by two platforms and they
will default to USE_XPKGWEDGE anyway.
2008-02-21 04:23:58 +00:00
tnn
1984db0948 Fix a miss that made the hpux bootstrap erronously pull in posix_headers. 2008-02-07 16:43:18 +00:00
tnn
24ede5a9fa Recognise Solaris/xen as i386 2008-02-06 18:23:47 +00:00
tnn
b748976509 Simplify LOWER_OS_VERSION handling by using the :tl modifier. 2008-01-29 13:04:05 +00:00
tnn
a970f2bc58 Provide a mechanism for enabling use of pkgtools/posix_headers. 2008-01-16 03:16:39 +00:00
joerg
f30bc9ac38 If LOWER_ARCH is x86_64 on Linux, force it for MACHINE_ARCH as well.
On a Core 2 Xeon, it breaks a lot of things otherwise as it ends up as
something like "Intel(R) Core(R)".
2008-01-12 14:40:21 +00:00
rillig
d3624fdf10 Made the .include directives simpler, since the directory of the
including file is always the first in the search path.
2008-01-04 01:46:24 +00:00
rillig
21cf860699 Accept all licenses in DEFAULT_ACCEPTABLE_LICENSES if the user is only
using the += operator, not the simple = operator, in mk.conf. That way
we can mark packages as having open source licenses without disturbing
the users.
2007-10-17 10:37:43 +00:00
tnn
85c3c33db0 The previous commit needs all platforms to be correct about
separating LOWER_OPSYS and LOWER_OPSYS_VERSUFFIX, since numbers are now
removed from LOWER_OPSYS when forming MACHINE_GNU_PLATFORM.
Fix the remaining to platforms: Interix and IRIX.
2007-10-16 11:51:21 +00:00
tnn
ae9f32a8e5 OSF1 and HPUX: Separate the version component from ${LOWER_OPSYS}
into ${LOWER_OPSYS_VERSUFFIX}.
When assigning GNU_MACHINE_PLATFORM, strip numerical characters from
LOWER_OPSYS. (final component is eg. osf5.1 not osf15.1)
2007-10-16 11:34:16 +00:00
joerg
0b4fba23f9 Ignore post-hyphen parts of the Linux kernel version similiar to
DragonFly and FreeBSD. It seems like Linux people love those...
This addresses the first part of PR 37100.
2007-10-13 19:38:53 +00:00
rillig
6ea2bde2b6 I often want to know which directories pkgsrc is using. 2007-10-05 21:03:39 +00:00
abs
4b75da6235 +USE_INET6?=${IPV6_READY} rather than =, so it can be overidden 2007-09-11 18:16:38 +00:00
jlam
07dd3147c6 Convert packages that test and use USE_INET6 to use the options framework
and to support the "inet6" option instead.

Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files.  Replace:

	BUILD_DEFS+=	USE_INET6
with
	BUILD_DEFS+=	IPV6_READY

and teach the README-generation tools to look for that instead.

This nukes USE_INET6 from pkgsrc proper.  We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
2007-09-07 22:12:10 +00:00
jlam
5073c3d95d Add a "system features" framework that will eventually be used to
automatically supply missing "basic" headers and libraries from an
older system, e.g. IRIX 5.x or Interix or AIX, etc.

Example usage:

    USE_FEATURES+=      snprintf glob regex

For now, we just pull in libnbcompat to supply the missing bits.
2007-09-07 21:55:44 +00:00
joerg
e09f68cb6b Remove infrastructure side of Xorg 6.9 support. Begin to simplify
some of the cases of X11_TYPE usage -- it will stay with modular|native,
so don't bother with keeping the separation in the tool list.
2007-08-17 20:27:30 +00:00
joerg
ff4ca43fd6 Move APPENDELF definition after the reassigning of MACHINE_ARCH.
This allows cross-compiling of x86_64 from i386.
2007-08-15 13:25:47 +00:00
rillig
6ff274e50f Replaced the comment at the beginning of the file with a useful one. It
explains which variables can be used in the mk.conf file.

Removed the definition of CUT, since it is no longer used.
2007-08-13 09:03:41 +00:00
rillig
c3cfa6c470 Fixed joerg's failed try to support invoking make(1) as ./make or similar.
It had failed in the devel/ directory, since devel/bmake exists there.
2007-08-13 07:42:10 +00:00
joerg
005620851f Add core of the infrastructure support for cross-compilation.
- USE_CROSS_COMPILATION activates it, CROSS_DESTDIR specifies root of
  the target filesystem
- derive _CROSS_DESTDIR from CROSS_DESTDIR or MAKEOBJDIR
- buildlink3.mk prefixes the files to symlink with _CROSS_DESTDIR
- compiler/gcc.mk knows about the target prefix (e.g. i386--netbsdelf)
- PKG_DBDIR is prefixed with _CROSS_DESTDIR
- package-install and bin-install are not called with su
- install and strip are redirected to the tool version
- links for the target specific ar, as, ld, nm, objdump, ranlib and
  strip are added
- compiler wrapper detect if linking is requested or not
- special command sinks for CPP and CC/CXX add the cross-compile magic:
  - modify include dirs to get the target /usr/include
  - modify linker dirs and runpath to use target /usr/lib at link time,
    but keep correct rpath entries

Supported-by: Google SoC 2007
Basic tests by he@ on Sparc. Review from jlam@.
2007-08-02 18:19:31 +00:00
joerg
29777c8ec5 Begin adding some of the basic, non-intrusive pieces of the
cross-compile support.

- NATIVE_MACHINE_GNU_ARCH, NATIVE_LOWER_ARCH, NATIVE_MACHINE_ARCH,
  NATIVE_MACHINE_PLATFORM and NATIVE_MACHINE_GNU_PLATFORM work
  like the counterpars without NATIVE_ prefix. Expansion of
  NATIVE_LOWER_ARCH and NATIVE_MACHINE_ARCH is enforced early,
  so that MACHINE_ARCH can be overriden in mk.conf to specify the
  target architecture.
- Provide a default of NO for USE_CROSS_COMPILE. This will be the
  main switch to activate cross-compiling and adding it now makes
  it possible to merge more of the patches for specific packages.
- Set --build and --host when cross-compiling, the former using the
  just added variable NATIVE_MACHINE_GNU_PLATFORM.

Supported-by: Google SoC 2007
Looks good: jlam@
2007-08-01 16:14:17 +00:00
joerg
4db0539a2b Define PKGPATH earlier so that mk.conf can use it.
Requested by David Brownlee on tech-pkg.
2007-08-01 12:21:56 +00:00
joerg
2b3b6c11ab Compute OS_VERSION on AIX directly using make substitution instead of
forking a shell and sed.
2007-07-30 14:10:36 +00:00
joerg
a13b98431e Use variable substitution instead of calling external cut to
compute LOWER_OPSYS_VERSUFFIX.
2007-07-30 14:07:07 +00:00
joerg
a7702e998f Allow the code to resolve the make path to deal with a strictly
local path. E.g. running make as ./make now works.
2007-07-29 18:27:05 +00:00
joerg
910d37bad9 Remove explicit include of sys.mk, which has been made redundant by
jlam's include of bsd.own.mk in June 2002.
2007-07-29 13:17:57 +00:00