Sun Feb 10 12:25:18 2013 UTC ()
Add preference for Cygwin.


(obache)
diff -r1.330 -r1.331 pkgsrc/mk/bsd.prefs.mk
diff -r0 -r1.1 pkgsrc/mk/platform/Cygwin.mk
diff -r0 -r1.1 pkgsrc/mk/tools/tools.Cygwin.mk

cvs diff -r1.330 -r1.331 pkgsrc/mk/bsd.prefs.mk (expand / switch to unified diff)

--- pkgsrc/mk/bsd.prefs.mk 2013/01/23 17:02:23 1.330
+++ pkgsrc/mk/bsd.prefs.mk 2013/02/10 12:25:17 1.331
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: bsd.prefs.mk,v 1.330 2013/01/23 17:02:23 tron Exp $ 1# $NetBSD: bsd.prefs.mk,v 1.331 2013/02/10 12:25:17 obache Exp $
2# 2#
3# This file includes the mk.conf file, which contains the user settings. 3# This file includes the mk.conf file, which contains the user settings.
4# 4#
5# Packages should include this file before any of the .if directives, as 5# Packages should include this file before any of the .if directives, as
6# well as before modifying variables like CFLAGS, LDFLAGS, and so on. 6# well as before modifying variables like CFLAGS, LDFLAGS, and so on.
7# Otherwise the behavior may be unexpected. 7# Otherwise the behavior may be unexpected.
8# 8#
9# When mk.conf is included by this file, the following variables are 9# When mk.conf is included by this file, the following variables are
10# defined: 10# defined:
11# 11#
12# ACCEPTABLE_LICENSES 12# ACCEPTABLE_LICENSES
13# This variable is set to the list of Open Source licenses. See 13# This variable is set to the list of Open Source licenses. See
14# mk/license.mk for details. 14# mk/license.mk for details.
@@ -60,27 +60,27 @@ MAKEFLAGS+= _MAKE=${_MAKE:Q} @@ -60,27 +60,27 @@ MAKEFLAGS+= _MAKE=${_MAKE:Q}
60. endif 60. endif
61.endif 61.endif
62MAKE:= ${_MAKE} 62MAKE:= ${_MAKE}
63 63
64.if exists(/usr/bin/uname) 64.if exists(/usr/bin/uname)
65UNAME=/usr/bin/uname 65UNAME=/usr/bin/uname
66.elif exists(/bin/uname) 66.elif exists(/bin/uname)
67UNAME=/bin/uname 67UNAME=/bin/uname
68.else 68.else
69UNAME=echo Unknown 69UNAME=echo Unknown
70.endif 70.endif
71 71
72.if !defined(OPSYS) 72.if !defined(OPSYS)
73OPSYS:= ${:!${UNAME} -s!:S/-//g:S/\///g} 73OPSYS:= ${:!${UNAME} -s!:S/-//g:S/\///g:C/^CYGWIN_.*$/Cygwin/}
74MAKEFLAGS+= OPSYS=${OPSYS:Q} 74MAKEFLAGS+= OPSYS=${OPSYS:Q}
75.endif 75.endif
76 76
77# OS_VARIANT is used to differentiate operating systems which have a common 77# OS_VARIANT is used to differentiate operating systems which have a common
78# basis but offer contrasting environments, for example Linux distributions 78# basis but offer contrasting environments, for example Linux distributions
79# or illumos forks. 79# or illumos forks.
80OS_VARIANT?= # empty 80OS_VARIANT?= # empty
81 81
82# The _CMD indirection allows code below to modify these values 82# The _CMD indirection allows code below to modify these values
83# without executing the commands at all. Later, recursed make 83# without executing the commands at all. Later, recursed make
84# invocations will skip these blocks entirely thanks to MAKEFLAGS. 84# invocations will skip these blocks entirely thanks to MAKEFLAGS.
85.if !defined(OS_VERSION) 85.if !defined(OS_VERSION)
86_OS_VERSION_CMD= ${UNAME} -r 86_OS_VERSION_CMD= ${UNAME} -r
@@ -118,26 +118,33 @@ MACHINE_ARCH?= ${LOWER_ARCH} @@ -118,26 +118,33 @@ MACHINE_ARCH?= ${LOWER_ARCH}
118. if exists(/usr/bin/oslevel) 118. if exists(/usr/bin/oslevel)
119_OS_VERSION!= /usr/bin/oslevel 119_OS_VERSION!= /usr/bin/oslevel
120. else 120. else
121_OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r` 121_OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r`
122. endif 122. endif
123OS_VERSION= ${_OS_VERSION:C/([0-9]*\.[0-9]*).*/\1/} 123OS_VERSION= ${_OS_VERSION:C/([0-9]*\.[0-9]*).*/\1/}
124LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION} 124LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION}
125LOWER_OPSYS?= aix 125LOWER_OPSYS?= aix
126LOWER_VENDOR?= ibm 126LOWER_VENDOR?= ibm
127 127
128.elif ${OPSYS} == "BSDOS" 128.elif ${OPSYS} == "BSDOS"
129LOWER_OPSYS?= bsdi 129LOWER_OPSYS?= bsdi
130 130
 131.elif ${OPSYS} == "Cygwin"
 132LOWER_OPSYS?= cygwin
 133LOWER_VENDOR?= pc
 134LOWER_ARCH!= ${UNAME} -m
 135_OS_VERSION!= ${UNAME} -r
 136OS_VERSION= ${_OS_VERSION:C/\(.*\)//}
 137
131.elif ${OPSYS} == "Darwin" 138.elif ${OPSYS} == "Darwin"
132LOWER_OPSYS?= darwin 139LOWER_OPSYS?= darwin
133.if empty(OS_VERSION:M[1-9].*.*) 140.if empty(OS_VERSION:M[1-9].*.*)
134# Automatically select the ABI under Mac OS X Snow Leopard. We don't 141# Automatically select the ABI under Mac OS X Snow Leopard. We don't
135# use this at the moment because too many third party programs don't 142# use this at the moment because too many third party programs don't
136# work with it. 143# work with it.
137# 144#
138# _SYSCTL_HW_OPTIONAL_X86_64!= /usr/sbin/sysctl -n hw.optional.x86_64 145# _SYSCTL_HW_OPTIONAL_X86_64!= /usr/sbin/sysctl -n hw.optional.x86_64
139# . if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1" 146# . if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1"
140# ABI= 64 147# ABI= 64
141# .else 148# .else
142# ABI= 32 149# ABI= 32
143#. endif 150#. endif
@@ -361,26 +368,28 @@ OBJECT_FMT= ELF @@ -361,26 +368,28 @@ OBJECT_FMT= ELF
361.elif ${OPSYS} == "MirBSD" 368.elif ${OPSYS} == "MirBSD"
362OBJECT_FMT= ELF 369OBJECT_FMT= ELF
363MKPROFILE= no 370MKPROFILE= no
364.elif ${OPSYS} == "AIX" 371.elif ${OPSYS} == "AIX"
365OBJECT_FMT= XCOFF 372OBJECT_FMT= XCOFF
366.elif ${OPSYS} == "OSF1" 373.elif ${OPSYS} == "OSF1"
367OBJECT_FMT= ECOFF 374OBJECT_FMT= ECOFF
368.elif ${OPSYS} == "HPUX" 375.elif ${OPSYS} == "HPUX"
369. if ${MACHINE_ARCH} == "ia64" || (defined(ABI) && ${ABI} == "64") 376. if ${MACHINE_ARCH} == "ia64" || (defined(ABI) && ${ABI} == "64")
370OBJECT_FMT= ELF 377OBJECT_FMT= ELF
371. else 378. else
372OBJECT_FMT= SOM 379OBJECT_FMT= SOM
373. endif 380. endif
 381.elif ${OPSYS} == "Cygwin"
 382OBJECT_FMT= PE
374.endif 383.endif
375 384
376# Calculate depth 385# Calculate depth
377.if exists(${.CURDIR}/mk/bsd.pkg.mk) 386.if exists(${.CURDIR}/mk/bsd.pkg.mk)
378_PKGSRC_TOPDIR= ${.CURDIR} 387_PKGSRC_TOPDIR= ${.CURDIR}
379.elif exists(${.CURDIR}/../mk/bsd.pkg.mk) 388.elif exists(${.CURDIR}/../mk/bsd.pkg.mk)
380_PKGSRC_TOPDIR= ${.CURDIR}/.. 389_PKGSRC_TOPDIR= ${.CURDIR}/..
381.elif exists(${.CURDIR}/../../mk/bsd.pkg.mk) 390.elif exists(${.CURDIR}/../../mk/bsd.pkg.mk)
382_PKGSRC_TOPDIR= ${.CURDIR}/../.. 391_PKGSRC_TOPDIR= ${.CURDIR}/../..
383.endif 392.endif
384 393
385# include the defaults file 394# include the defaults file
386.include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf" 395.include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf"

File Added: pkgsrc/mk/platform/Cygwin.mk
# $NetBSD: Cygwin.mk,v 1.1 2013/02/10 12:25:18 obache Exp $
#
# Variable definitions for the Windows with Cygwin.

###
### Overrides to standard BSD .mk files
###

# "catinstall" not yet supported as there's no shipped [gn]roff
MANINSTALL=	maninstall
MAKE_FLAGS+=	MKCATPAGES=no NOLINT=1

###
### Alternate defaults to global pkgsrc settings, to help avoid
### some of the excessive Interix fork(2) overhead, and reduce the
### amount of settings required in the user's mk.conf
###

INSTALL?=		${PREFIX}/bin/install-sh
PAX?=			${PREFIX}/bin/nbpax

.if defined(BATCH)
BULK_PREREQ+=		lang/perl5
USE_BULK_BROKEN_CHECK?=	no
USE_BULK_TIMESTAMPS?=	no
.endif

###
### Platform definitions common to pkgsrc/mk/platform/*.mk
###

ECHO_N?=	${ECHO} -n
IMAKE_MAKE?=	${GMAKE}		# program which gets invoked by imake
IMAKEOPTS+=	-DBuildHtmlManPages=NO
PKGLOCALEDIR?=	share
PS?=		/bin/ps
SU?=		/bin/su
TYPE?=		type				# Shell builtin

USERADD?=		${LOCALBASE}/sbin/useradd
GROUPADD?=		${LOCALBASE}/sbin/groupadd
_PKG_USER_HOME?=	# empty by default
_USER_DEPENDS=		user>=20040426:../../sysutils/user_interix

CPP_PRECOMP_FLAGS?=	# unset
CONFIG_RPATH_OVERRIDE?=	config.rpath */config.rpath */*/config.rpath
DEF_UMASK?=		002
EXPORT_SYMBOLS_LDFLAGS?=-Wl,-E	# add symbols to the dynamic symbol table

MOTIF_TYPE_DEFAULT?=	motif	# default 2.0 compatible libs type
NOLOGIN?=		/bin/false
PKG_TOOLS_BIN?=		${LOCALBASE}/sbin
PKGDIRMODE?=		775
# ROOT_USER might be numeric in the special case of Administrator; canonify it:
ROOT_CMD?=		${SU} - "$$(id -un ${ROOT_USER})" -c
ROOT_USER?=		${BINOWN}
ROOT_GROUP?=		id -g Administraotr
TOUCH_FLAGS?=
ULIMIT_CMD_datasize?=	ulimit -d `ulimit -H -d`
ULIMIT_CMD_stacksize?=	ulimit -s `ulimit -H -s`
ULIMIT_CMD_memorysize?=	ulimit -v `ulimit -H -v`

_OPSYS_HAS_INET6=	yes	# IPv6 is standard
_OPSYS_HAS_JAVA=	no	# Java is not standard
_OPSYS_HAS_MANZ=	yes	# MANZ controls gzipping of man pages
_OPSYS_HAS_OSSAUDIO=	no	# libossaudio is available
_OPSYS_PERL_REQD=	5.8.3nb1 # base version of perl required
_OPSYS_PTHREAD_AUTO=	no	# -lpthread needed for pthreads
_OPSYS_SHLIB_TYPE=	PEwin	# shared lib type
_PATCH_CAN_BACKUP=	yes	# native patch(1) can make backups
_PATCH_BACKUP_ARG?=	-b -V simple -z	# switch to patch(1) for backup suffix
_USE_RPATH=		no	# add rpath to LDFLAGS

# flags passed to the linker to extract all symbols from static archives.
# this is GNU ld.
_OPSYS_WHOLE_ARCHIVE_FLAG=	-Wl,--whole-archive
_OPSYS_NO_WHOLE_ARCHIVE_FLAG=	-Wl,--no-whole-archive

_STRIPFLAG_CC?=		${_INSTALL_UNSTRIPPED:D:U-s}	# cc(1) option to strip
_STRIPFLAG_INSTALL?=	${_INSTALL_UNSTRIPPED:D:U-s}	# install(1) option to strip

DEFAULT_SERIAL_DEVICE?=	/dev/ttyS0
SERIAL_DEVICES?=	/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

_OPSYS_CAN_CHECK_SHLIBS=	no # can't use readelf in check/bsd.check-vars.mk

# check for maximum command line length and set it in configure's environment,
# to avoid a test required by the libtool script that takes forever.
_OPSYS_MAX_CMDLEN_CMD=	${ECHO} 262144

File Added: pkgsrc/mk/tools/tools.Cygwin.mk
# $NetBSD: tools.Cygwin.mk,v 1.1 2013/02/10 12:25:18 obache Exp $
#
# System-supplied tools for the Cygwin operating system.

TOOLS_PLATFORM.[?=		/bin/[
TOOLS_PLATFORM.awk?=		/bin/awk
TOOLS_PLATFORM.basename?=	/bin/basename
TOOLS_PLATFORM.bash?=		/bin/bash
.if exists(/bin/bison)
TOOLS_PLATFORM.bison?=		/bin/bison
TOOLS_PLATFORM.bison-yacc?=	/bin/bison -y
.endif
.if exists(/bin/bzcat)
TOOLS_PLATFORM.bzcat?=		/bin/bzcat
.elif exists(/bin/bzip2)
TOOLS_PLATFORM.bzcat?=		/bin/bzip2 -cd
.endif
.if exists(/bin/bzip2)
TOOLS_PLATFORM.bzip2?=		/bin/bzip2
.endif

TOOLS_PLATFORM.cat?=		/bin/cat
TOOLS_PLATFORM.chgrp?=		/bin/chgrp
TOOLS_PLATFORM.chmod?=		/bin/chmod
TOOLS_PLATFORM.chown?=		/bin/chown
TOOLS_PLATFORM.cmp?=		/bin/cmp
TOOLS_PLATFORM.cp?=		/bin/cp
TOOLS_PLATFORM.csh?=		/bin/csh
TOOLS_PLATFORM.cut?=		/bin/cut
TOOLS_PLATFORM.date?=		/bin/date
TOOLS_PLATFORM.diff?=		/bin/diff
TOOLS_PLATFORM.dirname?=	/bin/dirname
TOOLS_PLATFORM.echo?=		echo			# shell builtin
TOOLS_PLATFORM.egrep?=		/bin/egrep
TOOLS_PLATFORM.env?=		/bin/env
TOOLS_PLATFORM.expr?=		/bin/expr
TOOLS_PLATFORM.false?=		false			# shell builtin
TOOLS_PLATFORM.fgrep?=		/bin/fgrep
TOOLS_PLATFORM.file?=		/bin/file
TOOLS_PLATFORM.find?=		/bin/find
.if exists(/bin/flex)
TOOLS_PLATFORM.flex?=		/bin/flex
TOOLS_PLATFORM.lex?=		/bin/flex
.endif
TOOLS_PLATFORM.grep?=		/bin/grep
TOOLS_PLATFORM.gunzip?=		/bin/gunzip -f
TOOLS_PLATFORM.gzcat?=		/bin/zcat
TOOLS_PLATFORM.gzip?=		/bin/gzip -nf ${GZIP}
TOOLS_PLATFORM.head?=		/bin/head
TOOLS_PLATFORM.hostname?=	/bin/hostname
TOOLS_PLATFORM.id?=		/bin/id
TOOLS_PLATFORM.install?=	/bin/install
.if exists(/bin/install-info)
TOOLS_PLATFORM.install-info?=	/bin/install-info
.endif
TOOLS_PLATFORM.ln?=		/bin/ln
TOOLS_PLATFORM.ls?=		/bin/ls
TOOLS_PLATFORM.m4?=		/bin/m4
TOOLS_PLATFORM.mail?=		/bin/mail
.if exists(/bin/make)
TOOLS_PLATFORM.gmake?=		/bin/make
.endif
.if exists(/bin/makeinfo)
TOOLS_PLATFORM.makeinfo?=	/bin/makeinfo
.endif
TOOLS_PLATFORM.mkdir?=		/bin/mkdir -p
TOOLS_PLATFORM.mktemp?=		/bin/mktemp
TOOLS_PLATFORM.mv?=		/bin/mv
TOOLS_PLATFORM.nice?=		/bin/nice
.if exists(/bin/perl)
TOOLS_PLATFORM.perl?=		/bin/perl
.endif
# Don't use GNU patch
#.if exists(/bin/patch)
#TOOLS_PLATFORM.patch?=		/bin/patch
#.endif
.if exists(/bin/pkg-config)
TOOLS_PLATFORM.pkg-config?=	/bin/pkg-config
.endif
TOOLS_PLATFORM.printf?=		/bin/printf
TOOLS_PLATFORM.pwd?=		/bin/pwd
TOOLS_PLATFORM.rm?=		/bin/rm
TOOLS_PLATFORM.rmdir?=		/bin/rmdir
TOOLS_PLATFORM.sh?=		/bin/sh
TOOLS_PLATFORM.sleep?=		/bin/sleep
TOOLS_PLATFORM.sort?=		/bin/sort
TOOLS_PLATFORM.strip?=		/bin/strip
TOOLS_PLATFORM.tail?=		/bin/tail
TOOLS_PLATFORM.tee?=		/bin/tee
TOOLS_PLATFORM.test?=		test			# shell builtin
TOOLS_PLATFORM.touch?=		/bin/touch
TOOLS_PLATFORM.tr?=		/bin/tr
TOOLS_PLATFORM.true?=		true			# shell builtin
TOOLS_PLATFORM.tsort?=		/bin/tsort
TOOLS_PLATFORM.wc?=		/bin/wc
TOOLS_PLATFORM.xargs?=		/bin/xargs -r
TOOLS_PLATFORM.sed?=		/bin/sed