head	1.93;
access;
symbols
	netbsd-11-0-RC4:1.93
	netbsd-11-0-RC3:1.93
	netbsd-11-0-RC2:1.93
	netbsd-11-0-RC1:1.93
	perseant-exfatfs-base-20250801:1.93
	netbsd-11:1.93.0.2
	netbsd-11-base:1.93
	netbsd-10-1-RELEASE:1.85.6.2
	perseant-exfatfs-base-20240630:1.90
	perseant-exfatfs:1.90.0.2
	perseant-exfatfs-base:1.90
	netbsd-8-3-RELEASE:1.83
	netbsd-9-4-RELEASE:1.83
	netbsd-10-0-RELEASE:1.85
	netbsd-10-0-RC6:1.85
	netbsd-10-0-RC5:1.85
	netbsd-10-0-RC4:1.85
	netbsd-10-0-RC3:1.85
	netbsd-10-0-RC2:1.85
	netbsd-10-0-RC1:1.85
	netbsd-10:1.85.0.6
	netbsd-10-base:1.85
	netbsd-9-3-RELEASE:1.83
	cjep_sun2x-base1:1.85
	cjep_sun2x:1.85.0.4
	cjep_sun2x-base:1.85
	cjep_staticlib_x-base1:1.85
	netbsd-9-2-RELEASE:1.83
	cjep_staticlib_x:1.85.0.2
	cjep_staticlib_x-base:1.85
	netbsd-9-1-RELEASE:1.83
	phil-wifi-20200421:1.84
	phil-wifi-20200411:1.84
	is-mlppp:1.83.0.18
	is-mlppp-base:1.83
	phil-wifi-20200406:1.84
	netbsd-8-2-RELEASE:1.83
	netbsd-9-0-RELEASE:1.83
	netbsd-9-0-RC2:1.83
	netbsd-9-0-RC1:1.83
	phil-wifi-20191119:1.83
	netbsd-9:1.83.0.16
	netbsd-9-base:1.83
	phil-wifi-20190609:1.83
	netbsd-8-1-RELEASE:1.83
	netbsd-8-1-RC1:1.83
	pgoyette-compat-merge-20190127:1.83
	pgoyette-compat-20190127:1.83
	pgoyette-compat-20190118:1.83
	pgoyette-compat-1226:1.83
	pgoyette-compat-1126:1.83
	pgoyette-compat-1020:1.83
	pgoyette-compat-0930:1.83
	pgoyette-compat-0906:1.83
	netbsd-7-2-RELEASE:1.79
	pgoyette-compat-0728:1.83
	netbsd-8-0-RELEASE:1.83
	phil-wifi:1.83.0.14
	phil-wifi-base:1.83
	pgoyette-compat-0625:1.83
	netbsd-8-0-RC2:1.83
	pgoyette-compat-0521:1.83
	pgoyette-compat-0502:1.83
	pgoyette-compat-0422:1.83
	netbsd-8-0-RC1:1.83
	pgoyette-compat-0415:1.83
	pgoyette-compat-0407:1.83
	pgoyette-compat-0330:1.83
	pgoyette-compat-0322:1.83
	pgoyette-compat-0315:1.83
	netbsd-7-1-2-RELEASE:1.79
	pgoyette-compat:1.83.0.12
	pgoyette-compat-base:1.83
	netbsd-7-1-1-RELEASE:1.79
	matt-nb8-mediatek:1.83.0.10
	matt-nb8-mediatek-base:1.83
	perseant-stdc-iso10646:1.83.0.8
	perseant-stdc-iso10646-base:1.83
	netbsd-8:1.83.0.6
	netbsd-8-base:1.83
	prg-localcount2-base3:1.83
	prg-localcount2-base2:1.83
	prg-localcount2-base1:1.83
	prg-localcount2:1.83.0.4
	prg-localcount2-base:1.83
	pgoyette-localcount-20170426:1.83
	bouyer-socketcan-base1:1.83
	pgoyette-localcount-20170320:1.83
	netbsd-7-1:1.79.0.10
	netbsd-7-1-RELEASE:1.79
	netbsd-7-1-RC2:1.79
	netbsd-7-nhusb-base-20170116:1.79
	bouyer-socketcan:1.83.0.2
	bouyer-socketcan-base:1.83
	pgoyette-localcount-20170107:1.82
	netbsd-7-1-RC1:1.79
	pgoyette-localcount-20161104:1.82
	netbsd-7-0-2-RELEASE:1.79
	localcount-20160914:1.80
	netbsd-7-nhusb:1.79.0.8
	netbsd-7-nhusb-base:1.79
	pgoyette-localcount-20160806:1.80
	pgoyette-localcount-20160726:1.80
	pgoyette-localcount:1.80.0.2
	pgoyette-localcount-base:1.80
	netbsd-7-0-1-RELEASE:1.79
	netbsd-7-0:1.79.0.6
	netbsd-7-0-RELEASE:1.79
	netbsd-7-0-RC3:1.79
	netbsd-7-0-RC2:1.79
	netbsd-7-0-RC1:1.79
	netbsd-5-2-3-RELEASE:1.67.18.1
	netbsd-5-1-5-RELEASE:1.67.18.1
	netbsd-6-0-6-RELEASE:1.75
	netbsd-6-1-5-RELEASE:1.75
	netbsd-7:1.79.0.4
	netbsd-7-base:1.79
	yamt-pagecache-base9:1.79
	yamt-pagecache-tag8:1.75.6.1
	netbsd-6-1-4-RELEASE:1.75
	netbsd-6-0-5-RELEASE:1.75
	tls-earlyentropy:1.79.0.2
	tls-earlyentropy-base:1.79
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.79
	riastradh-drm2-base3:1.79
	netbsd-6-1-3-RELEASE:1.75
	netbsd-6-0-4-RELEASE:1.75
	netbsd-5-2-2-RELEASE:1.67.18.1
	netbsd-5-1-4-RELEASE:1.67.18.1
	netbsd-6-1-2-RELEASE:1.75
	netbsd-6-0-3-RELEASE:1.75
	netbsd-5-2-1-RELEASE:1.67.18.1
	netbsd-5-1-3-RELEASE:1.67.18.1
	netbsd-6-1-1-RELEASE:1.75
	riastradh-drm2-base2:1.78
	riastradh-drm2-base1:1.78
	riastradh-drm2:1.78.0.2
	riastradh-drm2-base:1.78
	netbsd-6-1:1.75.0.14
	netbsd-6-0-2-RELEASE:1.75
	netbsd-6-1-RELEASE:1.75
	netbsd-6-1-RC4:1.75
	netbsd-6-1-RC3:1.75
	agc-symver:1.76.0.6
	agc-symver-base:1.76
	netbsd-6-1-RC2:1.75
	netbsd-6-1-RC1:1.75
	yamt-pagecache-base8:1.76
	netbsd-5-2:1.67.18.1.0.10
	netbsd-6-0-1-RELEASE:1.75
	yamt-pagecache-base7:1.76
	netbsd-5-2-RELEASE:1.67.18.1
	netbsd-5-2-RC1:1.67.18.1
	matt-nb6-plus-nbase:1.75
	yamt-pagecache-base6:1.76
	netbsd-6-0:1.75.0.12
	netbsd-6-0-RELEASE:1.75
	netbsd-6-0-RC2:1.75
	tls-maxphys:1.76.0.2
	tls-maxphys-base:1.79
	matt-nb6-plus:1.75.0.10
	matt-nb6-plus-base:1.75
	netbsd-6-0-RC1:1.75
	yamt-pagecache-base5:1.75
	yamt-pagecache-base4:1.75
	netbsd-6:1.75.0.8
	netbsd-6-base:1.75
	netbsd-5-1-2-RELEASE:1.67.18.1
	netbsd-5-1-1-RELEASE:1.67.18.1
	yamt-pagecache-base3:1.75
	yamt-pagecache-base2:1.75
	yamt-pagecache:1.75.0.6
	yamt-pagecache-base:1.75
	cherry-xenmp:1.75.0.4
	cherry-xenmp-base:1.75
	bouyer-quota2-nbase:1.75
	bouyer-quota2:1.75.0.2
	bouyer-quota2-base:1.75
	matt-mips64-premerge-20101231:1.75
	matt-nb5-mips64-premerge-20101231:1.67.18.1
	matt-nb5-pq3:1.67.18.1.0.8
	matt-nb5-pq3-base:1.67.18.1
	netbsd-5-1:1.67.18.1.0.6
	netbsd-5-1-RELEASE:1.67.18.1
	netbsd-5-1-RC4:1.67.18.1
	matt-nb5-mips64-k15:1.67.18.1
	netbsd-5-1-RC3:1.67.18.1
	netbsd-5-1-RC2:1.67.18.1
	netbsd-5-1-RC1:1.67.18.1
	netbsd-5-0-2-RELEASE:1.67.18.1
	matt-nb5-mips64-premerge-20091211:1.67.18.1
	matt-premerge-20091211:1.75
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.67.18.1
	matt-nb4-mips64-k7-u2a-k9b:1.67.18.1
	matt-nb5-mips64-u1-k1-k5:1.67.18.1
	matt-nb5-mips64:1.67.18.1.0.4
	netbsd-5-0-1-RELEASE:1.67.18.1
	jym-xensuspend-nbase:1.71
	netbsd-5-0:1.67.18.1.0.2
	netbsd-5-0-RELEASE:1.67.18.1
	netbsd-5-0-RC4:1.67.18.1
	netbsd-5-0-RC3:1.67.18.1
	netbsd-5-0-RC2:1.67.18.1
	jym-xensuspend:1.69.0.2
	jym-xensuspend-base:1.71
	netbsd-5-0-RC1:1.67.18.1
	christos-time_t-nbase:1.68
	christos-time_t:1.67.0.20
	christos-time_t-base:1.68
	netbsd-5:1.67.0.18
	netbsd-5-base:1.67
	matt-mips64-base2:1.67
	matt-mips64:1.67.0.16
	mjf-devfs2:1.67.0.14
	mjf-devfs2-base:1.67
	netbsd-4-0-1-RELEASE:1.66
	wrstuden-revivesa-base-3:1.67
	wrstuden-revivesa-base-2:1.67
	wrstuden-fixsa-newbase:1.66
	wrstuden-revivesa-base-1:1.67
	yamt-pf42-base4:1.67
	yamt-pf42-base3:1.67
	hpcarm-cleanup-nbase:1.67
	yamt-pf42-baseX:1.67
	yamt-pf42-base2:1.67
	wrstuden-revivesa:1.67.0.12
	wrstuden-revivesa-base:1.67
	yamt-pf42:1.67.0.10
	yamt-pf42-base:1.67
	keiichi-mipv6:1.67.0.8
	keiichi-mipv6-base:1.67
	matt-armv6-nbase:1.67
	matt-armv6-prevmlocking:1.67
	wrstuden-fixsa-base-1:1.66
	netbsd-4-0:1.66.0.6
	netbsd-4-0-RELEASE:1.66
	cube-autoconf:1.67.0.6
	cube-autoconf-base:1.67
	netbsd-4-0-RC5:1.66
	netbsd-4-0-RC4:1.66
	netbsd-4-0-RC3:1.66
	netbsd-4-0-RC2:1.66
	netbsd-4-0-RC1:1.66
	matt-armv6:1.67.0.4
	matt-armv6-base:1.67
	matt-mips64-base:1.67
	hpcarm-cleanup:1.67.0.2
	hpcarm-cleanup-base:1.67
	netbsd-3-1-1-RELEASE:1.56
	netbsd-3-0-3-RELEASE:1.56
	wrstuden-fixsa:1.66.0.4
	wrstuden-fixsa-base:1.66
	abandoned-netbsd-4-base:1.60
	abandoned-netbsd-4:1.60.0.2
	netbsd-3-1:1.56.0.6
	netbsd-3-1-RELEASE:1.56
	netbsd-3-0-2-RELEASE:1.56
	netbsd-3-1-RC4:1.56
	netbsd-3-1-RC3:1.56
	netbsd-3-1-RC2:1.56
	netbsd-3-1-RC1:1.56
	netbsd-4:1.66.0.2
	netbsd-4-base:1.66
	netbsd-3-0-1-RELEASE:1.56
	netbsd-3-0:1.56.0.4
	netbsd-3-0-RELEASE:1.56
	netbsd-3-0-RC6:1.56
	netbsd-3-0-RC5:1.56
	netbsd-3-0-RC4:1.56
	netbsd-3-0-RC3:1.56
	netbsd-3-0-RC2:1.56
	netbsd-3-0-RC1:1.56
	netbsd-2-0-3-RELEASE:1.53.2.1
	netbsd-2-1:1.53.2.1.0.4
	netbsd-2-1-RELEASE:1.53.2.1
	netbsd-2-1-RC6:1.53.2.1
	netbsd-2-1-RC5:1.53.2.1
	netbsd-2-1-RC4:1.53.2.1
	netbsd-2-1-RC3:1.53.2.1
	netbsd-2-1-RC2:1.53.2.1
	netbsd-2-1-RC1:1.53.2.1
	netbsd-2-0-2-RELEASE:1.53.2.1
	netbsd-3:1.56.0.2
	netbsd-3-base:1.56
	netbsd-2-0-1-RELEASE:1.53.2.1
	netbsd-2:1.53.2.1.0.2
	netbsd-2-base:1.53.2.1
	netbsd-2-0-RELEASE:1.53.2.1
	netbsd-2-0-RC5:1.53.2.1
	netbsd-2-0-RC4:1.53.2.1
	netbsd-2-0-RC3:1.53.2.1
	netbsd-2-0-RC2:1.53.2.1
	netbsd-2-0-RC1:1.53.2.1
	netbsd-2-0:1.53.0.2
	netbsd-2-0-base:1.53
	netbsd-1-6-PATCH002-RELEASE:1.52
	netbsd-1-6-PATCH002:1.52
	netbsd-1-6-PATCH002-RC4:1.52
	netbsd-1-6-PATCH002-RC3:1.52
	netbsd-1-6-PATCH002-RC2:1.52
	netbsd-1-6-PATCH002-RC1:1.52
	netbsd-1-6-PATCH001:1.52
	netbsd-1-6-PATCH001-RELEASE:1.52
	netbsd-1-6-PATCH001-RC3:1.52
	netbsd-1-6-PATCH001-RC2:1.52
	netbsd-1-6-PATCH001-RC1:1.52
	nathanw_sa_end:1.51.2.1
	nathanw_sa_before_merge:1.52
	fvdl_fs64_base:1.52
	nathanw_sa_base:1.52
	netbsd-1-6-RELEASE:1.52
	netbsd-1-6-RC3:1.52
	netbsd-1-6-RC2:1.52
	netbsd-1-6-RC1:1.52
	netbsd-1-6:1.52.0.2
	netbsd-1-6-base:1.52
	netbsd-1-5-PATCH003:1.49.8.1
	netbsd-1-5-PATCH002:1.49
	netbsd-1-5-PATCH001:1.49
	nathanw_sa:1.51.0.2
	netbsd-1-5-RELEASE:1.49
	netbsd-1-5-BETA2:1.49
	netbsd-1-5-BETA:1.49
	netbsd-1-4-PATCH003:1.48.2.1
	netbsd-1-5-ALPHA2:1.49
	netbsd-1-5:1.49.0.8
	netbsd-1-5-base:1.49
	minoura-xpg4dl:1.49.0.6
	minoura-xpg4dl-base:1.49
	netbsd-1-4-PATCH002:1.48
	wrstuden-devbsize-19991221:1.49
	wrstuden-devbsize:1.49.0.4
	wrstuden-devbsize-base:1.49
	comdex-fall-1999:1.49.0.2
	comdex-fall-1999-base:1.49
	netbsd-1-4-PATCH001:1.48
	netbsd-1-4-RELEASE:1.48
	netbsd-1-4:1.48.0.2
	netbsd-1-4-base:1.48
	netbsd-1-3-PATCH003:1.40.2.1
	netbsd-1-3-PATCH003-CANDIDATE2:1.40.2.1
	netbsd-1-3-PATCH003-CANDIDATE1:1.40.2.1
	netbsd-1-3-PATCH003-CANDIDATE0:1.40.2.1
	netbsd-1-3-PATCH002:1.40.2.1
	netbsd-1-3-PATCH001:1.40.2.1
	lite-2:1.1.1.2
	CSRG:1.1.1
	netbsd-1-3-RELEASE:1.40.2.1
	netbsd-1-3-BETA:1.40.2.1
	netbsd-1-3:1.40.0.2
	netbsd-1-3-base:1.40
	netbsd-1-2-PATCH001:1.35
	nsswitch:1.36.0.2
	ivory_soap2:1.35.0.4
	netbsd-1-2-RELEASE:1.35
	netbsd-1-2-BETA:1.35
	netbsd-1-2:1.35.0.6
	netbsd-1-2-base:1.35
	netbsd-1-1-PATCH001:1.35
	netbsd-1-1-RELEASE:1.35
	netbsd-1-1:1.35.0.2
	netbsd-1-1-base:1.35
	ivory_soap:1.33.0.2
	netbsd-1-0-PATCH06:1.29
	netbsd-1-0-PATCH05:1.29
	netbsd-1-0-PATCH04:1.29
	netbsd-1-0-PATCH03:1.29
	netbsd-1-0-PATCH02:1.29
	netbsd-1-0-PATCH1:1.29
	netbsd-1-0-PATCH0:1.29
	netbsd-1-0-RELEASE:1.29
	netbsd-1-0:1.29.0.2
	netbsd-1-0-base:1.28
	netbsd-0-9-RELEASE:1.8
	netbsd-0-9-BETA:1.8
	netbsd-0-9-ALPHA2:1.8
	netbsd-0-9-ALPHA:1.8
	netbsd-0-9:1.8.0.2
	netbsd-0-9-base:1.8
	netbsd-0-8:1.1.1.1
	netbsd-alpha-1:1.1.1.1
	patchkit-0-2-2:1.1.1.1
	WFJ-386bsd-01:1.1.1.1
	WFJ-920714:1.1.1;
locks; strict;
comment	@# @;


1.93
date	2024.11.02.02.43.48;	author riastradh;	state Exp;
branches;
next	1.92;
commitid	i9BXkQ0TV4fk61wF;

1.92
date	2024.11.01.18.42.30;	author riastradh;	state Exp;
branches;
next	1.91;
commitid	0IvRriQTLxAdrYvF;

1.91
date	2024.11.01.18.35.12;	author riastradh;	state Exp;
branches;
next	1.90;
commitid	JIoXs7MoKwILoYvF;

1.90
date	2024.06.08.21.35.18;	author joerg;	state Exp;
branches
	1.90.2.1;
next	1.89;
commitid	wRxxb8l4UiJQ3edF;

1.89
date	2023.08.11.13.07.17;	author ryoon;	state Exp;
branches;
next	1.88;
commitid	txxOuI9fmVg0ZmAE;

1.88
date	2023.08.11.09.39.39;	author riastradh;	state Exp;
branches;
next	1.87;
commitid	vh5yEkyi4ZoAPlAE;

1.87
date	2023.08.01.17.51.25;	author christos;	state Exp;
branches;
next	1.86;
commitid	qkT3dztmIillS6zE;

1.86
date	2023.07.31.17.38.28;	author christos;	state Exp;
branches;
next	1.85;
commitid	X94RwbX5lzcWPYyE;

1.85
date	2021.04.14.08.07.49;	author mrg;	state Exp;
branches
	1.85.6.1;
next	1.84;
commitid	AgKnQn1t1eU2CePC;

1.84
date	2020.03.25.18.45.42;	author kre;	state Exp;
branches;
next	1.83;
commitid	3mRwSeZzAJIgwO1C;

1.83
date	2017.01.12.00.35.38;	author christos;	state Exp;
branches
	1.83.14.1;
next	1.82;
commitid	b7MByo7HTl262CBz;

1.82
date	2016.10.15.14.22.00;	author kamil;	state Exp;
branches;
next	1.81;
commitid	dPVBM51aZRjQpfqz;

1.81
date	2016.10.12.20.01.12;	author christos;	state Exp;
branches;
next	1.80;
commitid	TI3eGRTqal7nrTpz;

1.80
date	2014.09.24.18.16.37;	author christos;	state Exp;
branches
	1.80.2.1;
next	1.79;
commitid	lkEPJaaBSnW3WCRx;

1.79
date	2013.08.19.10.59.39;	author joerg;	state Exp;
branches;
next	1.78;
commitid	iFbWK4S0Llfnp32x;

1.78
date	2013.06.24.04.21.20;	author riastradh;	state Exp;
branches;
next	1.77;
commitid	6VKqBmjp9WKeZOUw;

1.77
date	2013.06.24.01.12.08;	author riastradh;	state Exp;
branches;
next	1.76;
commitid	xUxN4NeEAX1uXNUw;

1.76
date	2012.08.30.12.16.48;	author drochner;	state Exp;
branches
	1.76.2.1;
next	1.75;

1.75
date	2009.07.30.20.57.15;	author dsl;	state Exp;
branches
	1.75.6.1;
next	1.74;

1.74
date	2009.07.21.14.55.33;	author joerg;	state Exp;
branches;
next	1.73;

1.73
date	2009.07.21.13.18.43;	author joerg;	state Exp;
branches;
next	1.72;

1.72
date	2009.07.18.09.41.23;	author dsl;	state Exp;
branches;
next	1.71;

1.71
date	2009.05.01.17.27.01;	author perry;	state Exp;
branches;
next	1.70;

1.70
date	2009.04.10.23.13.38;	author christos;	state Exp;
branches;
next	1.69;

1.69
date	2009.01.11.02.46.30;	author christos;	state Exp;
branches
	1.69.2.1;
next	1.68;

1.68
date	2009.01.02.00.20.21;	author tnozaki;	state Exp;
branches;
next	1.67;

1.67
date	2007.02.17.09.32.58;	author wiz;	state Exp;
branches
	1.67.18.1
	1.67.20.1;
next	1.66;

1.66
date	2006.10.13.17.28.09;	author tnozaki;	state Exp;
branches;
next	1.65;

1.65
date	2006.08.27.07.09.04;	author dsl;	state Exp;
branches;
next	1.64;

1.64
date	2006.08.26.22.48.50;	author christos;	state Exp;
branches;
next	1.63;

1.63
date	2006.08.23.01.51.51;	author christos;	state Exp;
branches;
next	1.62;

1.62
date	2006.08.22.20.50.46;	author christos;	state Exp;
branches;
next	1.61;

1.61
date	2006.08.12.23.49.54;	author christos;	state Exp;
branches;
next	1.60;

1.60
date	2006.06.03.04.36.45;	author tnozaki;	state Exp;
branches
	1.60.2.1;
next	1.59;

1.59
date	2005.12.20.19.31.50;	author christos;	state Exp;
branches;
next	1.58;

1.58
date	2005.07.30.15.21.21;	author christos;	state Exp;
branches;
next	1.57;

1.57
date	2005.07.28.16.26.29;	author christos;	state Exp;
branches;
next	1.56;

1.56
date	2005.03.14.03.13.53;	author perry;	state Exp;
branches;
next	1.55;

1.55
date	2005.03.13.15.15.13;	author perry;	state Exp;
branches;
next	1.54;

1.54
date	2004.07.03.08.27.25;	author junyoung;	state Exp;
branches;
next	1.53;

1.53
date	2003.03.05.20.18.17;	author tshiozak;	state Exp;
branches
	1.53.2.1;
next	1.52;

1.52
date	2002.04.17.16.23.09;	author kleink;	state Exp;
branches;
next	1.51;

1.51
date	2000.12.24.03.45.04;	author itojun;	state Exp;
branches
	1.51.2.1;
next	1.50;

1.50
date	2000.12.23.23.14.36;	author itojun;	state Exp;
branches;
next	1.49;

1.49
date	99.09.08.22.56.56;	author lukem;	state Exp;
branches
	1.49.8.1;
next	1.48;

1.48
date	99.02.24.15.05.21;	author drochner;	state Exp;
branches
	1.48.2.1;
next	1.47;

1.47
date	98.09.14.21.34.43;	author kleink;	state Exp;
branches;
next	1.46;

1.46
date	98.08.04.06.25.10;	author perry;	state Exp;
branches;
next	1.45;

1.45
date	98.08.04.04.48.16;	author perry;	state Exp;
branches;
next	1.44;

1.44
date	98.01.30.23.45.23;	author perry;	state Exp;
branches;
next	1.43;

1.43
date	98.01.30.23.38.12;	author perry;	state Exp;
branches;
next	1.42;

1.42
date	98.01.23.18.58.05;	author cgd;	state Exp;
branches;
next	1.41;

1.41
date	97.10.22.23.14.27;	author lukem;	state Exp;
branches;
next	1.40;

1.40
date	97.10.09.10.08.16;	author lukem;	state Exp;
branches
	1.40.2.1;
next	1.39;

1.39
date	97.04.23.01.18.01;	author mrg;	state Exp;
branches;
next	1.38;

1.38
date	96.12.22.11.34.21;	author cgd;	state Exp;
branches;
next	1.37;

1.37
date	96.11.12.02.03.13;	author jtc;	state Exp;
branches;
next	1.36;

1.36
date	96.09.24.09.14.18;	author matthias;	state Exp;
branches;
next	1.35;

1.35
date	95.03.20.14.47.39;	author mycroft;	state Exp;
branches;
next	1.34;

1.34
date	95.03.20.14.45.54;	author mycroft;	state Exp;
branches;
next	1.33;

1.33
date	95.02.10.17.46.55;	author cgd;	state Exp;
branches;
next	1.32;

1.32
date	94.12.22.10.15.00;	author cgd;	state Exp;
branches;
next	1.31;

1.31
date	94.11.14.23.48.22;	author dean;	state Exp;
branches;
next	1.30;

1.30
date	94.09.03.05.07.49;	author jtc;	state Exp;
branches;
next	1.29;

1.29
date	94.08.02.05.01.20;	author jtc;	state Exp;
branches
	1.29.2.1;
next	1.28;

1.28
date	94.07.06.04.07.53;	author mycroft;	state Exp;
branches;
next	1.27;

1.27
date	94.06.22.00.15.22;	author cgd;	state Exp;
branches;
next	1.26;

1.26
date	94.02.25.07.42.01;	author phil;	state Exp;
branches;
next	1.25;

1.25
date	93.12.10.10.55.12;	author mycroft;	state Exp;
branches;
next	1.24;

1.24
date	93.12.08.21.03.05;	author mycroft;	state Exp;
branches;
next	1.23;

1.23
date	93.12.08.13.31.19;	author pk;	state Exp;
branches;
next	1.22;

1.22
date	93.12.07.01.00.06;	author mycroft;	state Exp;
branches;
next	1.21;

1.21
date	93.12.07.00.54.09;	author mycroft;	state Exp;
branches;
next	1.20;

1.20
date	93.12.06.23.39.42;	author mycroft;	state Exp;
branches;
next	1.19;

1.19
date	93.12.06.23.22.15;	author mycroft;	state Exp;
branches;
next	1.18;

1.18
date	93.12.06.03.10.35;	author cgd;	state Exp;
branches;
next	1.17;

1.17
date	93.12.05.15.46.29;	author briggs;	state Exp;
branches;
next	1.16;

1.16
date	93.12.05.02.21.38;	author cgd;	state Exp;
branches;
next	1.15;

1.15
date	93.12.04.02.39.02;	author cgd;	state Exp;
branches;
next	1.14;

1.14
date	93.10.18.20.24.41;	author cgd;	state Exp;
branches;
next	1.13;

1.13
date	93.10.07.19.27.50;	author jtc;	state Exp;
branches;
next	1.12;

1.12
date	93.10.07.00.24.09;	author cgd;	state Exp;
branches;
next	1.11;

1.11
date	93.10.05.18.30.18;	author jtc;	state Exp;
branches;
next	1.10;

1.10
date	93.09.17.19.23.48;	author phil;	state Exp;
branches;
next	1.9;

1.9
date	93.08.01.05.40.37;	author mycroft;	state Exp;
branches;
next	1.8;

1.8
date	93.06.17.23.00.46;	author jtc;	state Exp;
branches;
next	1.7;

1.7
date	93.06.17.16.14.32;	author jtc;	state Exp;
branches;
next	1.6;

1.6
date	93.06.16.18.38.38;	author mycroft;	state Exp;
branches;
next	1.5;

1.5
date	93.06.16.18.33.25;	author mycroft;	state Exp;
branches;
next	1.4;

1.4
date	93.06.16.16.02.26;	author jtc;	state Exp;
branches;
next	1.3;

1.3
date	93.06.15.23.25.30;	author jtc;	state Exp;
branches;
next	1.2;

1.2
date	93.05.07.03.01.41;	author cgd;	state Exp;
branches;
next	1.1;

1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches
	1.1.1.1;
next	;

1.90.2.1
date	2025.08.02.05.54.42;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;

1.85.6.1
date	2024.09.20.11.22.29;	author martin;	state Exp;
branches;
next	1.85.6.2;
commitid	gdUtapwsVSM1mxqF;

1.85.6.2
date	2024.10.13.16.08.53;	author martin;	state Exp;
branches;
next	;
commitid	4cl8ZBEsTU8scwtF;

1.83.14.1
date	2020.04.08.14.07.13;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;

1.80.2.1
date	2016.11.04.14.48.53;	author pgoyette;	state Exp;
branches;
next	1.80.2.2;
commitid	2m1JRwYmpwPkOOsz;

1.80.2.2
date	2017.03.20.06.56.58;	author pgoyette;	state Exp;
branches;
next	;
commitid	jjw7cAwgyKq7RfKz;

1.76.2.1
date	2014.08.20.00.02.16;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.75.6.1
date	2012.10.30.18.59.00;	author yamt;	state Exp;
branches;
next	1.75.6.2;

1.75.6.2
date	2014.05.22.11.36.54;	author yamt;	state Exp;
branches;
next	;
commitid	HJV5p3BoaVY5KwBx;

1.69.2.1
date	2009.05.13.19.18.27;	author jym;	state Exp;
branches;
next	;

1.67.18.1
date	2009.01.15.03.24.08;	author snj;	state Exp;
branches;
next	;

1.67.20.1
date	2009.01.04.17.02.20;	author christos;	state Exp;
branches;
next	;

1.60.2.1
date	2006.08.27.06.08.51;	author riz;	state Exp;
branches;
next	1.60.2.2;

1.60.2.2
date	2006.08.27.06.15.45;	author riz;	state Exp;
branches;
next	1.60.2.3;

1.60.2.3
date	2006.09.01.23.39.08;	author riz;	state Exp;
branches;
next	;

1.53.2.1
date	2004.07.12.20.54.25;	author he;	state Exp;
branches;
next	;

1.51.2.1
date	2002.04.25.04.01.46;	author nathanw;	state Exp;
branches;
next	;

1.49.8.1
date	2002.04.22.22.02.12;	author he;	state Exp;
branches;
next	;

1.48.2.1
date	2000.07.05.21.02.44;	author he;	state Exp;
branches;
next	;

1.40.2.1
date	97.11.09.01.00.09;	author lukem;	state Exp;
branches;
next	;

1.29.2.1
date	94.08.02.05.01.20;	author jtc;	state dead;
branches;
next	1.29.2.2;

1.29.2.2
date	94.08.02.05.01.21;	author jtc;	state Exp;
branches;
next	;

1.1.1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	98.01.30.16.59.12;	author perry;	state Exp;
branches;
next	;


desc
@@


1.93
log
@memset_explicit(3): Add C23 alias for explicit_memset.

PR standards/58607: C23: <string.h> memset_explicit
@
text
@#	from: @@(#)Makefile.inc	8.1 (Berkeley) 6/4/93
#	$NetBSD: Makefile.inc,v 1.92 2024/11/01 18:42:30 riastradh Exp $

# string sources
.PATH: ${ARCHDIR}/string ${.CURDIR}/string

# NB: if a .S version of any of these is added in the arch/*/Makefile
# then the relevant .c file is automatically removed
# Also adding the .c name to NO_SRCS will have the same effect

SRCS+=	bm.c stpcpy.c stpncpy.c \
	strcasecmp.c strncasecmp.c strcasestr.c strcoll.c strdup.c \
	strerror.c strerror_ss.c strlcat.c strlcpy.c strnlen.c \
	strmode.c strsignal.c strtok.c \
	strtok_r.c strxfrm.c __strsignal.c strerror_r.c strndup.c \
	stresep.c memrchr.c

SRCS+=	bcmp.c bcopy.c bzero.c ffs.c ffsl.c ffsll.c memchr.c memcmp.c memset.c
SRCS+=	strcat.c strcmp.c strcpy.c strcspn.c strlen.c
SRCS+=	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c
SRCS+=	strspn.c strstr.c swab.c strnstr.c
SRCS+=	explicit_memset.c consttime_memequal.c

SRCS+=	memccpy.c memcpy.c memmem.c memmove.c mempcpy.c
SRCS+=	strchr.c strrchr.c strchrnul.c
SRCS+=	popcount32.c popcount64.c

# wide char
SRCS+=	wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c \
	wcslen.c wcsncat.c wcsnlen.c wcscasecmp.c wcsdup.c wcsncasecmp.c \
	wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c wcsstr.c wcstok.c \
	wcswcs.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmempcpy.c wmemset.c
CPPFLAGS.wcscmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wcsncmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wmemcmp.c+=	-I${LIBCDIR}/locale

# Avoid memset() compilation generating calls to memset() via code
# that appears to implement memset()-like semantics (similar to how
# printf("foo") may be converted to puts("foo")), since that tends
# to recurse and blow the stack.
COPTS.memset.c+=	${${ACTIVE_CC} == "gcc":? -fno-builtin :}

COPTS.strerror_r.c+= 	-Wno-format-nonliteral

.include "${ARCHDIR}/string/Makefile.inc"

MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_memequal.3 \
	explicit_memset.3 ffs.3 index.3 \
	memccpy.3 memchr.3 memcmp.3 memcpy.3 memmem.3 memmove.3	memset.3 \
	popcount.3 \
	rindex.3 strcasecmp.3 strcat.3 strchr.3 strcmp.3 strcoll.3 \
	strcpy.3 strcspn.3 strdup.3 strerror.3 string.3 strings.3 strlcpy.3 \
	strlen.3 strmode.3 strncpy.3 strpbrk.3 strrchr.3 strsep.3 \
	strsignal.3 strspn.3 strstr.3 strtok.3 strxfrm.3 \
	swab.3 wcstok.3 wcswidth.3 wmemchr.3 wcsdup.3 wcscasecmp.3

MLINKS+=bm.3 bm_comp.3 bm.3 bm_exec.3 bm.3 bm_free.3
MLINKS+=explicit_memset.3 memset_explicit.3
MLINKS+=ffs.3 ffsl.3
MLINKS+=ffs.3 ffsll.3
MLINKS+=popcount.3 popcountl.3
MLINKS+=popcount.3 popcountll.3
MLINKS+=popcount.3 popcount32.3
MLINKS+=popcount.3 popcount64.3
MLINKS+=strcasecmp.3 strncasecmp.3
MLINKS+=strcat.3 strncat.3
MLINKS+=strcmp.3 strncmp.3
MLINKS+=strcpy.3 stpcpy.3
MLINKS+=strlcpy.3 strlcat.3
MLINKS+=strlen.3 strnlen.3
MLINKS+=strncpy.3 stpncpy.3
MLINKS+=strstr.3 strcasestr.3
MLINKS+=strstr.3 strnstr.3
MLINKS+=strchr.3 strchrnul.3
MLINKS+=memchr.3 memrchr.3
MLINKS+=memcpy.3 mempcpy.3
MLINKS+=strtok.3 strtok_r.3
MLINKS+=strerror.3 strerror_r.3 strerror.3 perror.3 \
	strerror.3 strerror_l.3 \
	strerror.3 sys_errlist.3 strerror.3 sys_nerr.3
MLINKS+=strdup.3 strndup.3
MLINKS+=strsep.3 stresep.3
MLINKS+=wmemchr.3 wmemcmp.3 wmemchr.3 wmemcpy.3 \
	wmemchr.3 wmemmove.3 wmemchr.3 wmempcpy.3 \
	wmemchr.3 wmemset.3 \
	wmemchr.3 wcscat.3 wmemchr.3 wcschr.3 \
	wmemchr.3 wcscmp.3 wmemchr.3 wcscpy.3 \
	wmemchr.3 wcscspn.3 wmemchr.3 wcslcat.3 \
	wmemchr.3 wcslcpy.3 wmemchr.3 wcslen.3 \
	wmemchr.3 wcsncat.3 wmemchr.3 wcsnlen.3 \
	wmemchr.3 wcsncmp.3 wmemchr.3 wcsncpy.3 \
	wmemchr.3 wcspbrk.3 wmemchr.3 wcsrchr.3 \
	wmemchr.3 wcsspn.3 wmemchr.3 wcsstr.3 \
	wmemchr.3 wcswcs.3
MLINKS+=wcscasecmp.3 wcsncasecmp.3
@


1.92
log
@ffs(3): Fix visibility in strings.h and add MLINKS for ffsl/ffsll.

ffs(3) was added in POSIX 2001 with XSI option (_XOPEN_SOURCE>=600),
not in POSIX 2008 with XSI option (_XOPEN_SOURCE>=700).

Noticed while updating the STANDARDS section of the man page.

PR lib/58802: missing ffsl(), ffsll() functions from POSIX 2024
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.91 2024/11/01 18:35:12 riastradh Exp $
d58 1
@


1.91
log
@strings.h: Spruce up for POSIX 2024.

1. Add ffsl, ffsll.
2. Hide bcmp, bcopy, bzero, index, rindex for POSIX>=2024.
3. Expose ffs only for NetBSD or POSIX>=2008 with XSI option.
4. Hide popcount* NetBSD extensions for any POSIX.
5. Sprinkle __constfunc on ffs*.

Add tests for ffs/ffsl/ffsll in tests/include/sys/t_bitops next to
ffs32/ffs64 for convenience.

XXX Still missing strcasecmp_l, strncasecmp_l, and locale_t.

PR lib/58802: missing ffsl(), ffsll() functions from POSIX 2024
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.90 2024/06/08 21:35:18 joerg Exp $
d58 2
@


1.90
log
@Redo l10n support in the strerror family.

Instead of opening the message catelog whenever strerror is called,
keep track of the translations in the locale cache. For the C locale,
the builtin sys_errlist is used directly. Other locales will open
the catalog file on the first strerror call and build a translation
table, so that further calls in this locale can just use an array
lookup.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.89 2023/08/11 13:07:17 ryoon Exp $
d18 1
a18 1
SRCS+=	bcmp.c bcopy.c bzero.c ffs.c memchr.c memcmp.c memset.c
@


1.90.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.93 2024/11/02 02:43:48 riastradh Exp $
d18 1
a18 1
SRCS+=	bcmp.c bcopy.c bzero.c ffs.c ffsl.c ffsll.c memchr.c memcmp.c memset.c
a57 3
MLINKS+=explicit_memset.3 memset_explicit.3
MLINKS+=ffs.3 ffsl.3
MLINKS+=ffs.3 ffsll.3
@


1.89
log
@Install strncpy.3 to fix build
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.88 2023/08/11 09:39:39 riastradh Exp $
d43 2
@


1.88
log
@strncpy(3), stpncpy(3): Split man page out of strcpy(3), stpcpy(3).

These are for substantively different purposes (fixed-width fields
with optional NUL padding vs NUL-terminated strings), so they don't
belong together.

Be more specific about the security issues.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.87 2023/08/01 17:51:25 christos Exp $
d51 1
a51 1
	strlen.3 strmode.3 strpbrk.3 strrchr.3 strsep.3 \
@


1.87
log
@Add companion mempcpy to wmempcpy, bump.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.86 2023/07/31 17:38:28 christos Exp $
d63 1
a63 1
MLINKS+=strcpy.3 strncpy.3 strcpy.3 stpcpy.3 strcpy.3 stpncpy.3
d66 1
@


1.86
log
@new gdb needs wmempcpy, give it to it.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.85 2021/04/14 08:07:49 mrg Exp $
d24 1
a24 1
SRCS+=	memccpy.c memcpy.c memmem.c memmove.c
d70 1
@


1.85
log
@for GCC, built memset.c with -fno-builtin.  this avoids GCC 10 compiling
memset() and emitting calls to memset() where it seems code that looks
like what memset() does, which ends up recursing and blowing the stack.

this makes mips userland with GCC 10 work.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.84 2020/03/25 18:45:42 kre Exp $
d32 1
a32 1
	wcswcs.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
d77 2
a78 1
	wmemchr.3 wmemmove.3 wmemchr.3 wmemset.3 \
@


1.85.6.1
log
@Pull up following revision(s) (requested by rin in ticket #891):

	lib/libc/string/strncpy.3: revision 1.10
	lib/libc/string/strncpy.3: revision 1.11
	lib/libc/string/strncpy.3: revision 1.12
	lib/libc/string/strncpy.3: revision 1.13
	lib/libc/string/strncpy.3: revision 1.14
	lib/libc/string/strncpy.3: revision 1.15
	lib/libc/string/strlcpy.3: revision 1.20
	lib/libc/string/strncpy.3: revision 1.16
	lib/libc/string/strncpy.3: revision 1.1
	lib/libc/string/strlcpy.3: revision 1.21
	lib/libc/string/strncpy.3: revision 1.2
	lib/libc/string/strncpy.3: revision 1.3
	lib/libc/string/strncpy.3: revision 1.4
	lib/libc/string/strncpy.3: revision 1.5
	lib/libc/string/strncpy.3: revision 1.6
	lib/libc/string/Makefile.inc: revision 1.88
	lib/libc/string/strncpy.3: revision 1.7
	lib/libc/string/Makefile.inc: revision 1.89
	lib/libc/string/strncpy.3: revision 1.8
	lib/libc/string/strncpy.3: revision 1.9
	lib/libc/string/strcpy.3: revision 1.24
	lib/libc/string/strcpy.3: revision 1.25
	lib/libc/string/strcpy.3: revision 1.26
	lib/libc/string/strcpy.3: revision 1.27
	lib/libc/string/strlcpy.3: revision 1.15
	lib/libc/string/strlcpy.3: revision 1.16
	lib/libc/string/strlcpy.3: revision 1.17
	lib/libc/string/strlcpy.3: revision 1.18
	lib/libc/string/strlcpy.3: revision 1.19

strlcpy(3): Rework man page to clarify relation to strncpy(3).

Add caveats explaining when strlcpy(3) and strlcat(3) are dangerously
inadequate or inappropriate.

strncpy(3), stpncpy(3): Split man page out of strcpy(3), stpcpy(3).

These are for substantively different purposes (fixed-width fields
with optional NUL padding vs NUL-terminated strings), so they don't
belong together.

Be more specific about the security issues.

strncpy(3): Qualify example of strlcpy(3) with a major caveat.

strncpy(3): Slightly more consistency about NUL vs '\0' in the text.

Install strncpy.3 to fix build
strncpy(3): use .Sm off/on around a fancy expression to avoid lots of Ns
strncpy(3): markup tweaks

NUL is a character name, not a defined name, use .Tn
.Ns has implicit .No effect

Use \*q for ASCII quotes (.Dq uses fancy typographical ones)
strcpy(3), strlcpy(3), strncpy(3): Use `.Tn NUL' for the zero byte.

Let's be consistent within these man pages.  (If someone else really
likes the unpronounceable `.Ql \e0' better, that's fine, you can go
through and systematically change all the man pages to use that after
we're done clarifying strcpy(3), strncpy(3), and strlcpy(3).)

strncpy(3): Note strcpy(3) man page revision this forked from.

strncpy(3): Rework the example in an attempt to improve exposition.

strcpy(3): Note that strlcpy(3) is a safer replacement for strcpy(3).

Suggest snprintf("%s") as a more portable alternative too.

Note that both strlcpy and snprintf still require the input to be
NUL-terminated.

strlcpy(3): don't use \*[Ge] for >= - it's wrong for source code

In the PostScript output it produces the single mathematical "greater
or equal" symbol, not the ">=".

strlcpy(3): Nix stray space between `NUL' and `-terminating'.

strncpy(3): Take another whack at clarifying this.

Emphasize the fixed-buffer nature of it, and that NUL-termination is
neither required on input nor guaranteed on output.

strncpy(3): Fix typo -- stpncpy, not stpcpy which is different.

strncpy(3): Reword to make sentence structure parallel.

strncpy(3): Tiny wording tweak.

strcpy(3), strlcpy(3), strncpy(3): Just say `byte', not `character'.

strlcpy(3), strncpy(3): Omit needless (void) casts in examples.
The return values are not critical.

strlcpy(3): Tweak markup.

strncpy(3): Fix column sizing.

strncpy(3): More on how strlcpy is not a safe strncpy replacement.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.85 2021/04/14 08:07:49 mrg Exp $
d51 1
a51 1
	strlen.3 strmode.3 strncpy.3 strpbrk.3 strrchr.3 strsep.3 \
d63 1
a63 1
MLINKS+=strcpy.3 stpcpy.3
a65 1
MLINKS+=strncpy.3 stpncpy.3
@


1.85.6.2
log
@Pull up following revision(s) (requested by riastradh in ticket #971):

	lib/libc/locale/setlocale_local.h: revision 1.18
	lib/libc/string/strerror_r.c: revision 1.6
	lib/libc/locale/setlocale.c: revision 1.66
	lib/libc/string/Makefile.inc: revision 1.90
	lib/libc/locale/global_locale.c: revision 1.29

Redo l10n support in the strerror family.

Instead of opening the message catelog whenever strerror is called,
keep track of the translations in the locale cache. For the C locale,
the builtin sys_errlist is used directly. Other locales will open
the catalog file on the first strerror call and build a translation
table, so that further calls in this locale can just use an array
lookup.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.85.6.1 2024/09/20 11:22:29 martin Exp $
a42 2
COPTS.strerror_r.c+= 	-Wno-format-nonliteral

@


1.84
log
@
Document strerror_l()

While here also document (but comment it out since it isn't
available - yet) strerror_lr().   To include that, simply
uncomment the relevant lines, and (twice I think) s/returns/return/
on lines just after currently commented out lines (that is, it
currently says, "A returns" after the comments are returned, we
need it to be "A and B return" - the "and B" appears when the comment
markers are removed, removing the 's' from returns must be done manually.

In addition to adding strerror_l() some additional enhancements were
made to the general strerror() doc.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.83 2017/01/12 00:35:38 christos Exp $
d37 6
@


1.83
log
@Add strerror_ss_r to be used by syslog_ss
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.82 2016/10/15 14:22:00 kamil Exp $
d66 1
@


1.83.14.1
log
@Merge changes from current as of 20200406
@
text
@d2 1
a2 1
#	$NetBSD$
a65 1
	strerror.3 strerror_l.3 \
@


1.82
log
@Import wcsnlen(3) to libc

The wcsnlen(3) function conforms to POSIX.1-2008 and is an addition to the
ISO C standard.

size_t wcsnlen(const wchar_t *s, size_t maxlen);

The wcsnlen(3) function computes the number of wide-characters in a wide-
-string to which s points, not including NULL terminating wide-character
code and checking no more than maxlen wide-characters. This function never
examines wide-characters beyond a wide-string of maxlen size.


This function is a safer version of wcslen(3):

size_t wcslen(const wchar_t *s);


Update STANDARDS section of wmemchr(3) describing wide-character functions.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.81 2016/10/12 20:01:12 christos Exp $
d13 1
a13 1
	strerror.c strlcat.c strlcpy.c strnlen.c \
@


1.81
log
@add strchrnul
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.80 2014/09/24 18:16:37 christos Exp $
d30 1
a30 1
	wcslen.c wcsncat.c wcscasecmp.c wcsdup.c wcsncasecmp.c \
d75 5
a79 4
	wmemchr.3 wcsncat.3 wmemchr.3 wcsncmp.3 \
	wmemchr.3 wcsncpy.3 wmemchr.3 wcspbrk.3 \
	wmemchr.3 wcsrchr.3 wmemchr.3 wcsspn.3 \
	wmemchr.3 wcsstr.3 wmemchr.3 wcswcs.3
@


1.80
log
@add strnstr from FreeBSD
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.79 2013/08/19 10:59:39 joerg Exp $
d25 1
a25 1
SRCS+=	strchr.c strrchr.c
d62 1
@


1.80.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.82 2016/10/15 14:22:00 kamil Exp $
d25 1
a25 1
SRCS+=	strchr.c strrchr.c strchrnul.c
d30 1
a30 1
	wcslen.c wcsncat.c wcsnlen.c wcscasecmp.c wcsdup.c wcsncasecmp.c \
a61 1
MLINKS+=strchr.3 strchrnul.3
d74 4
a77 5
	wmemchr.3 wcsncat.3 wmemchr.3 wcsnlen.3 \
	wmemchr.3 wcsncmp.3 wmemchr.3 wcsncpy.3 \
	wmemchr.3 wcspbrk.3 wmemchr.3 wcsrchr.3 \
	wmemchr.3 wcsspn.3 wmemchr.3 wcsstr.3 \
	wmemchr.3 wcswcs.3
@


1.80.2.2
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.83 2017/01/12 00:35:38 christos Exp $
d13 1
a13 1
	strerror.c strerror_ss.c strlcat.c strlcpy.c strnlen.c \
@


1.79
log
@GC __indr_reference wrappers.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.78 2013/06/24 04:21:20 riastradh Exp $
d21 1
a21 1
SRCS+=	strspn.c strstr.c swab.c
d61 1
@


1.78
log
@Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.

consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.77 2013/06/24 01:12:08 riastradh Exp $
a36 3
# namespace protection wrappers
SRCS+=	_strlcat.c _strlcpy.c _strerror_r.c

@


1.77
log
@Add consttime_bcmp(3) and explicit_bzero(3) to makefile and set lists.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.76 2012/08/30 12:16:48 drochner Exp $
d22 1
a22 1
SRCS+=	explicit_bzero.c consttime_bcmp.c
d42 2
a43 2
MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_bcmp.3 \
	explicit_bzero.3 ffs.3 index.3 \
@


1.76
log
@Add "consttime_bcmp" and "explicit_bzero" functions for both kernel
abd userland, as proposed on tech-security, with explicit_bzero using
a volatile function pointer as suggested by Alan Barrett.
Both do what the name says. For userland, both are prefixed by "__"
to keep them out of the user namespace.
Change some memset/memcmp uses to the new functions where it makes
sense -- these are just some examples, more to come.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.75 2009/07/30 20:57:15 dsl Exp $
d42 2
a43 1
MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 \
@


1.76.2.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d2 1
a2 1
#	$NetBSD$
d22 1
a22 1
SRCS+=	explicit_memset.c consttime_memequal.c
d37 3
d42 1
a42 2
MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_memequal.3 \
	explicit_memset.3 ffs.3 index.3 \
@


1.75
log
@If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.74 2009/07/21 14:55:33 joerg Exp $
d22 1
@


1.75.6.1
log
@sync with head
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.75 2009/07/30 20:57:15 dsl Exp $
a21 1
SRCS+=	explicit_bzero.c consttime_bcmp.c
@


1.75.6.2
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.75.6.1 2012/10/30 18:59:00 yamt Exp $
d22 1
a22 1
SRCS+=	explicit_memset.c consttime_memequal.c
d37 3
d42 1
a42 2
MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_memequal.3 \
	explicit_memset.3 ffs.3 index.3 \
@


1.74
log
@Move popcount et al to src/common and add popcount32/popcount64.
Requested by rmind@@. MD should now override popcount32/popcount64 and
provide the aliases as fitting.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.73 2009/07/21 13:18:43 joerg Exp $
d7 4
d18 9
a38 9
# machine-dependent net sources
# m-d Makefile.inc must include sources for:
#	bcmp() bcopy() bzero() ffs() memchr() memcmp() memset()
#	strcat() strcmp() strcpy() strcspn() strlen()
#	strncat() strncmp() strncpy() strpbrk() strsep()
#	strspn() strstr() swav()
# m-d Makefile.inc may include sources for:
#	memcpy() memmem() memmove() strchr() strrchr()

a40 28
# if no m-d versions of memccpy(), memcpy(), memmove(), strchr(), or strrchr()
# then use the machine independent versions.
#
.if empty(SRCS:Mmemccpy.S)
SRCS+=	memccpy.c
.endif
.if empty(SRCS:Mmemcpy.S)
SRCS+=	memcpy.c
.endif
.if empty(SRCS:Mmemmem.S)
SRCS+=	memmem.c
.endif
.if empty(SRCS:Mmemmove.S)
SRCS+=	memmove.c
.endif
.if empty(SRCS:Mstrchr.S)
SRCS+=	strchr.c
.endif
.if empty(SRCS:Mstrrchr.S)
SRCS+=	strrchr.c
.endif
.if empty(SRCS:Mpopcount32.S)
SRCS+=	popcount32.c
.endif
.if empty(SRCS:Mpopcount64.S)
SRCS+=	popcount64.c
.endif

@


1.73
log
@Add popcount(3) and the long and long long version. Name is inspired by
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.72 2009/07/18 09:41:23 dsl Exp $
d7 1
a7 1
SRCS+=	bm.c popcountl.c stpcpy.c stpncpy.c \
d58 2
a59 2
.if empty(SRCS:Mpopcount.S)
SRCS+=	popcount.c
d61 2
a62 2
.if empty(SRCS:Mpopcountll.S)
SRCS+=	popcountll.c
d77 2
@


1.72
log
@Remove index() and rindex() from the list (in comment)
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.71 2009/05/01 17:27:01 perry Exp $
d7 1
a7 1
SRCS+=	bm.c stpcpy.c stpncpy.c \
d58 6
d67 1
d75 2
@


1.71
log
@Add versions of stpcpy(3), stpncpy(3), strnlen(3), all from FreeBSD.
These are defined in the latest POSIX

Also make related updates to documentation, mostly from FreeBSD,
though I cleaned a few other things up along the way.

Bump shlib_version.

We are still missing strcoll_l, strerror_l, strsignal, strxfrm_l to be
POSIX conformant.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.70 2009/04/10 23:13:38 christos Exp $
d28 2
a29 2
#	bcmp() bcopy() bzero() ffs() index() memchr() memcmp() memset()
#	rindex() strcat() strcmp() strcpy() strcspn() strlen()
@


1.70
log
@add memrchr
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.69 2009/01/11 02:46:30 christos Exp $
d7 4
a10 2
SRCS+=	bm.c strcasecmp.c strncasecmp.c strcasestr.c strcoll.c strdup.c \
	strerror.c strlcat.c strlcpy.c strmode.c strsignal.c strtok.c \
d71 1
a71 1
MLINKS+=strcpy.3 strncpy.3
d73 1
@


1.69
log
@merge christos-time_t
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.67.20.1 2009/01/04 17:02:20 christos Exp $
d10 1
a10 1
	stresep.c
d72 1
@


1.69.2.1
log
@Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.71 2009/05/01 17:27:01 perry Exp $
d7 2
a8 4
SRCS+=	bm.c stpcpy.c stpncpy.c \
	strcasecmp.c strncasecmp.c strcasestr.c strcoll.c strdup.c \
	strerror.c strlcat.c strlcpy.c strnlen.c \
	strmode.c strsignal.c strtok.c \
d10 1
a10 1
	stresep.c memrchr.c
d69 1
a69 1
MLINKS+=strcpy.3 strncpy.3 strcpy.3 stpcpy.3 strcpy.3 stpncpy.3
a70 1
MLINKS+=strlen.3 strnlen.3
a71 1
MLINKS+=memchr.3 memrchr.3
@


1.68
log
@Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format.
ok'ed by core and releng.
(thanks for agc@@, snj@@ and i'm sorry for long time patience).

[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
  new locale-db implementation using citrus_db backend,
  see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
  internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].

[tools]
- mklocale(1): add new option ``-t'' that generates new style
  LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().

[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
    en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
    zh_CN.eucCN -> zh_CN.GB18030
    and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
  for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.

i tested release-build following arch:
  i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<

old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.67 2007/02/17 09:32:58 wiz Exp $
@


1.67
log
@Add strings(3), collecting information about strings.h.
Add Xr for it to string(3).

XXX: if someone could make a HISTORY section, I'd appreciate it
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.66 2006/10/13 17:28:09 tnozaki Exp $
d16 4
a19 2
	wcswcs.c wcswidth.c \
	wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c 
@


1.67.18.1
log
@Pull up following revision(s) (requested by tnozaki in ticket #222):
	distrib/sets/lists/base/mi: revision 1.788
	distrib/utils/libhack/Makefile.inc: revision 1.23
	distrib/utils/libhack/Makefile: revision 1.22
	etc/mtree/NetBSD.dist: revision 1.387
	include/locale.h: revision 1.15
	lib/libc/citrus/Makefile.inc: revision 1.6
	lib/libc/citrus/citrus_aliasname_local.h: revision 1.1
	lib/libc/citrus/citrus_bcs.h: revision 1.5
	lib/libc/citrus/citrus_bcs_strtol.c: revision 1.1
	lib/libc/citrus/citrus_bcs_strtoul.c: revision 1.1
	lib/libc/citrus/citrus_csmapper.c: revision 1.9
	lib/libc/citrus/citrus_fix_grouping.h: revision 1.1
	lib/libc/citrus/citrus_lc_ctype.c: revision 1.1
	lib/libc/citrus/citrus_lc_messages.c: revision 1.1
	lib/libc/citrus/citrus_lc_messages.h: revision 1.1
	lib/libc/citrus/citrus_lc_monetary.c: revision 1.1
	lib/libc/citrus/citrus_lc_monetary.h: revision 1.1
	lib/libc/citrus/citrus_lc_numeric.c: revision 1.1
	lib/libc/citrus/citrus_lc_numeric.h: revision 1.1
	lib/libc/citrus/citrus_lc_template.h: revision 1.1
	lib/libc/citrus/citrus_lc_template_decl.h: revision 1.1
	lib/libc/citrus/citrus_lc_time.c: revision 1.1
	lib/libc/citrus/citrus_lc_time.h: revision 1.1
	lib/libc/citrus/citrus_module.c: revision 1.8
	lib/libc/citrus/citrus_namespace.h: revision 1.7
	lib/libc/citrus/modules/citrus_euc.c: revision 1.13
	lib/libc/gen/Makefile.inc: revision 1.166
	lib/libc/gen/isctype.c: revision 1.17 via patch
	lib/libc/gen/tolower_.c: revision 1.10
	lib/libc/gen/toupper_.c: revision 1.10
	lib/libc/iconv/Makefile.inc: revision 1.3
	lib/libc/iconv/iconv.c: revision 1.7
	lib/libc/locale/Makefile.inc: revision 1.53
	lib/libc/locale/___runetype_mb.c: file removal
	lib/libc/locale/_wctrans.c: revision 1.7
	lib/libc/locale/_wctrans_local.h: revision 1.3
	lib/libc/locale/_wctype.c: revision 1.1
	lib/libc/locale/_wctype_local.h: revision 1.1
	lib/libc/locale/aliasname.c: revision 1.3
	lib/libc/locale/aliasname_local.h: revision 1.2
	lib/libc/locale/bsdctype.c: revision 1.1
	lib/libc/locale/bsdctype.h: revision 1.1
	lib/libc/locale/ctypeio.c: revision 1.8
	lib/libc/locale/ctypeio.h: revision 1.2
	lib/libc/locale/current_locale.c: revision 1.1
	lib/libc/locale/dummy_lc_collate.c: revision 1.1
	lib/libc/locale/dummy_lc_template.h: revision 1.1
	lib/libc/locale/fix_grouping.c: revision 1.1
	lib/libc/locale/fix_grouping.h: revision 1.1
	lib/libc/locale/generic_lc_all.c: revision 1.1
	lib/libc/locale/generic_lc_template.h: revision 1.1
	lib/libc/locale/generic_lc_template_decl.h: revision 1.1
	lib/libc/locale/global_locale.c: revision 1.1
	lib/libc/locale/iswctype.c: file removal
	lib/libc/locale/iswctype_mb.c: revision 1.1
	lib/libc/locale/iswctype_sb.c: revision 1.6
	lib/libc/locale/lcmessages.c: file removal
	lib/libc/locale/lcmessages.h: file removal
	lib/libc/locale/lcmonetary.c: file removal
	lib/libc/locale/lcmonetary.h: file removal
	lib/libc/locale/lcnumeric.c: file removal
	lib/libc/locale/lcnumeric.h: file removal
	lib/libc/locale/lctime.c: file removal
	lib/libc/locale/lctime.h: file removal
	lib/libc/locale/localeconv.c: revision 1.15
	lib/libc/locale/localeio.c: revision 1.2
	lib/libc/locale/localeio.h: revision 1.2
	lib/libc/locale/localeio_lc_ctype.c: revision 1.1
	lib/libc/locale/localeio_lc_messages.c: revision 1.1
	lib/libc/locale/localeio_lc_monetary.c: revision 1.1
	lib/libc/locale/localeio_lc_numeric.c: revision 1.1
	lib/libc/locale/localeio_lc_time.c: revision 1.1
	lib/libc/locale/multibyte.h: revision 1.4
	lib/libc/locale/multibyte_amd1.c: revision 1.6
	lib/libc/locale/multibyte_c90.c: revision 1.5
	lib/libc/locale/nb_lc_messages_misc.h: revision 1.1
	lib/libc/locale/nb_lc_monetary_misc.h: revision 1.1
	lib/libc/locale/nb_lc_numeric_misc.h: revision 1.1
	lib/libc/locale/nb_lc_template.h: revision 1.1
	lib/libc/locale/nb_lc_template_decl.h: revision 1.1
	lib/libc/locale/nb_lc_time_misc.h: revision 1.1
	lib/libc/locale/nl_langinfo.c: revision 1.12
	lib/libc/locale/rune.c: revision 1.31
	lib/libc/locale/rune.h: revision 1.13
	lib/libc/locale/rune_local.h: revision 1.11
	lib/libc/locale/runeglue.c: revision 1.14
	lib/libc/locale/runetable.c: revision 1.18
	lib/libc/locale/setlocale.c: revision 1.55 via patch
	lib/libc/locale/setlocale_local.h: revision 1.1
	lib/libc/locale/setrunelocale.c: file removal
	lib/libc/nls/Makefile.inc: revision 1.9
	lib/libc/nls/catopen.c: revision 1.26
	lib/libc/string/Makefile.inc: revision 1.68
	lib/libc/string/wcscmp.c: revision 1.6
	lib/libc/string/wcsncmp.c: revision 1.6
	lib/libc/string/wcswidth.c: file removal
	lib/libc/string/wmemcmp.c: revision 1.4
	regress/lib/libc/locale/Makefile: revision 1.4
	regress/lib/libc/locale/ctype1/Makefile: revision 1.4
	regress/lib/libc/locale/ctype1/en_US.UTF-8.exp.uue: revision 1.2
	regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.exp.uue: revision 1.1
	regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.in.uue: revision 1.1
	regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.exp.uue: file removal
	regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.in.uue: file removal
	regress/lib/libc/locale/ctype1/ja_JP.SJIS.exp.uue: revision 1.2
	regress/lib/libc/locale/ctype1/ja_JP.eucJP.exp.uue: revision 1.2
	regress/lib/libc/locale/ctype2/Makefile: revision 1.5
	regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue: revision 1.1
	regress/lib/libc/locale/ctype2/ja_JP.ISO2022-JP2.in.uue: file removal
	regress/lib/libc/locale/ctype3/Makefile: revision 1.5
	regress/lib/libc/locale/mbtowc/Makefile: revision 1.3
	regress/lib/libc/locale/mbtowc/ja_JP.ISO-2022-JP: revision 1.1
	regress/lib/libc/locale/mbtowc/ja_JP.ISO2022-JP: file removal
	regress/lib/libc/locale/wcstod/wcstod_test.c: revision 1.2
	share/locale/Makefile.locale: revision 1.1
	share/locale/Makefile: revision 1.5
	share/locale/ctype/Makefile: revision 1.28
	share/locale/locale.alias: revision 1.11
	share/locale/messages/Makefile: revision 1.5
	share/locale/messages/en_US.ISO8859-1.src: file removal
	share/locale/messages/en_US.US-ASCII.src: revision 1.1
	share/locale/messages/ja_JP.ISO-2022-JP.src: revision 1.1
	share/locale/messages/ja_JP.ct.src: revision 1.1
	share/locale/messages/sr_ME.ISO8859-2.src: revision 1.1
	share/locale/messages/sr_ME.ISO8859-5.src: revision 1.1
	share/locale/messages/sr_YU.ISO8859-2.src: file removal
	share/locale/messages/sr_YU.ISO8859-5.src: file removal
	share/locale/messages/sr_YU.UTF-8.src: file removal
	share/locale/messages/zh_CN.GB18030.src: file removal
	share/locale/messages/zh_TW.eucTW.src: revision 1.1
	share/locale/monetary/Makefile: revision 1.5
	share/locale/monetary/af_ZA.ISO8859-1.src: revision 1.2
	share/locale/monetary/am_ET.UTF-8.src: revision 1.2
	share/locale/monetary/be_BY.CP1131.src: file removal
	share/locale/monetary/be_BY.CP1251.src: revision 1.2
	share/locale/monetary/be_BY.ISO8859-5.src: revision 1.2
	share/locale/monetary/be_BY.UTF-8.src: revision 1.2
	share/locale/monetary/bg_BG.CP1251.src: revision 1.2
	share/locale/monetary/bg_BG.UTF-8.src: revision 1.2
	share/locale/monetary/ca_ES.ISO8859-1.src: revision 1.2
	share/locale/monetary/cs_CZ.ISO8859-2.src: revision 1.2
	share/locale/monetary/cs_CZ.UTF-8.src: revision 1.2
	share/locale/monetary/da_DK.ISO8859-1.src: revision 1.2
	share/locale/monetary/de_AT.ISO8859-1.src: revision 1.2
	share/locale/monetary/de_CH.ISO8859-1.src: revision 1.2
	share/locale/monetary/de_DE.ISO8859-1.src: revision 1.2
	share/locale/monetary/el_GR.ISO8859-7.src: revision 1.2
	share/locale/monetary/en_AU.ISO8859-1.src: revision 1.2
	share/locale/monetary/en_CA.ISO8859-1.src: revision 1.2
	share/locale/monetary/en_GB.ISO8859-1.src: revision 1.2
	share/locale/monetary/en_GB.UTF-8.src: revision 1.2
	share/locale/monetary/en_IE.UTF-8.src: revision 1.2
	share/locale/monetary/en_NZ.ISO8859-1.src: revision 1.2
	share/locale/monetary/en_US.ISO8859-1.src: revision 1.2
	share/locale/monetary/en_US.US-ASCII.src: revision 1.1
	share/locale/monetary/es_ES.ISO8859-1.src: revision 1.2
	share/locale/monetary/et_EE.ISO8859-15.src: revision 1.2
	share/locale/monetary/fi_FI.ISO8859-1.src: revision 1.2
	share/locale/monetary/fr_BE.ISO8859-1.src: revision 1.2
	share/locale/monetary/fr_CA.ISO8859-1.src: revision 1.2
	share/locale/monetary/fr_FR.ISO8859-1.src: revision 1.2
	share/locale/monetary/he_IL.UTF-8.src: revision 1.2
	share/locale/monetary/hi_IN.ISCII-DEV.src: revision 1.2
	share/locale/monetary/hr_HR.ISO8859-2.src: revision 1.2
	share/locale/monetary/hu_HU.ISO8859-2.src: revision 1.2
	share/locale/monetary/hy_AM.ARMSCII-8.src: revision 1.2
	share/locale/monetary/hy_AM.UTF-8.src: revision 1.2
	share/locale/monetary/is_IS.ISO8859-1.src: revision 1.2
	share/locale/monetary/it_IT.ISO8859-1.src: revision 1.2
	share/locale/monetary/ja_JP.ISO-2022-JP.src: revision 1.1
	share/locale/monetary/ja_JP.UTF-8.src: revision 1.2
	share/locale/monetary/ja_JP.eucJP.src: revision 1.2
	share/locale/monetary/kk_KZ.PT154.src: revision 1.2
	share/locale/monetary/kk_KZ.UTF-8.src: revision 1.2
	share/locale/monetary/ko_KR.UTF-8.src: revision 1.2
	share/locale/monetary/ko_KR.eucKR.src: revision 1.2
	share/locale/monetary/lt_LT.ISO8859-13.src: revision 1.2
	share/locale/monetary/mn_MN.UTF-8.src: revision 1.2
	share/locale/monetary/nl_BE.ISO8859-1.src: revision 1.2
	share/locale/monetary/nl_NL.ISO8859-1.src: revision 1.2
	share/locale/monetary/no_NO.ISO8859-1.src: revision 1.2
	share/locale/monetary/pl_PL.ISO8859-2.src: revision 1.2
	share/locale/monetary/pl_PL.UTF-8.src: revision 1.2
	share/locale/monetary/pt_BR.ISO8859-1.src: revision 1.2
	share/locale/monetary/pt_PT.ISO8859-1.src: revision 1.2
	share/locale/monetary/ro_RO.ISO8859-2.src: revision 1.2
	share/locale/monetary/ru_RU.CP1251.src: revision 1.2
	share/locale/monetary/ru_RU.CP866.src: revision 1.2
	share/locale/monetary/ru_RU.ISO8859-5.src: revision 1.2
	share/locale/monetary/ru_RU.KOI8-R.src: revision 1.2
	share/locale/monetary/ru_RU.UTF-8.src: revision 1.2
	share/locale/monetary/sk_SK.ISO8859-2.src: revision 1.2
	share/locale/monetary/sl_SI.ISO8859-2.src: revision 1.2
	share/locale/monetary/sr_ME.ISO8859-2.src: revision 1.1
	share/locale/monetary/sr_RS.ISO8859-2.src: revision 1.1
	share/locale/monetary/sr_YU.ISO8859-2.src: revision 1.2
	share/locale/monetary/sr_YU.ISO8859-5.src: revision 1.2
	share/locale/monetary/sr_YU.UTF-8.src: revision 1.2
	share/locale/monetary/sv_SE.ISO8859-1.src: revision 1.2
	share/locale/monetary/tr_TR.ISO8859-9.src: revision 1.2
	share/locale/monetary/uk_UA.CP1251.src: revision 1.2
	share/locale/monetary/uk_UA.ISO8859-5.src: revision 1.2
	share/locale/monetary/uk_UA.KOI8-U.src: revision 1.2
	share/locale/monetary/uk_UA.UTF-8.src: revision 1.2
	share/locale/monetary/zh_CN.GB18030.src: revision 1.2
	share/locale/monetary/zh_CN.UTF-8.src: revision 1.2
	share/locale/monetary/zh_CN.eucCN.src: revision 1.2
	share/locale/monetary/zh_HK.Big5hkscs.src: revision 1.1
	share/locale/monetary/zh_HK.UTF-8.src: revision 1.2
	share/locale/monetary/zh_TW.Big5.src: revision 1.2
	share/locale/numeric/Makefile: revision 1.4
	share/locale/numeric/am_ET.UTF-8.src: file removal
	share/locale/numeric/en_US.ISO8859-1.src: file removal
	share/locale/numeric/en_US.US-ASCII.src: revision 1.1
	share/locale/numeric/ja_JP.eucJP.src: file removal
	share/locale/numeric/ko_KR.eucKR.src: file removal
	share/locale/numeric/mn_MN.UTF-8.src: file removal
	share/locale/numeric/sr_ME.ISO8859-2.src: revision 1.1
	share/locale/numeric/sr_YU.ISO8859-2.src: file removal
	share/locale/numeric/sr_YU.ISO8859-5.src: file removal
	share/locale/numeric/zh_CN.eucCN.src: file removal
	share/locale/time/Makefile: revision 1.5
	share/locale/time/en_US.ISO8859-1.src: file removal
	share/locale/time/en_US.US-ASCII.src: revision 1.1
	share/locale/time/ja_JP.ISO-2022-JP.src: revision 1.1
	share/locale/time/ja_JP.ct.src: revision 1.1
	share/locale/time/sr_ME.ISO8859-2.src: revision 1.1
	share/locale/time/sr_ME.ISO8859-5.src: revision 1.1
	share/locale/time/sr_ME.UTF-8.src: revision 1.1
	share/locale/time/sr_YU.ISO8859-2.src: file removal
	share/locale/time/sr_YU.ISO8859-5.src: file removal
	share/locale/time/sr_YU.UTF-8.src: file removal
	share/locale/time/zh_CN.GB18030.src: file removal
	share/locale/time/zh_TW.eucTW.src: revision 1.1
	usr.bin/locale/locale.c: revision 1.6
	usr.bin/mklocale/Makefile: revision 1.12
	usr.bin/mklocale/lex.l: revision 1.14
	usr.bin/mklocale/mklocaledb.c: revision 1.1
	usr.bin/mklocale/yacc.y: revision 1.25
	usr.sbin/chrtbl/Makefile: revision 1.8
	usr.sbin/chrtbl/ctypeio.c: revision 1.1
	usr.sbin/chrtbl/ctypeio.h: revision 1.1
Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES}
db format.
ok'ed by core and releng.
(thanks for agc@@, snj@@ and i'm sorry for long time patience).
[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
  new locale-db implementation using citrus_db backend,
  see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
  internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].
[tools]
- mklocale(1): add new option ``-t'' that generates new style
  LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
    en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
    zh_CN.eucCN -> zh_CN.GB18030
    and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
  for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.

i tested release-build following arch:
  i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.67 2007/02/17 09:32:58 wiz Exp $
d16 2
a17 4
	wcswcs.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
CPPFLAGS.wcscmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wcsncmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wmemcmp.c+=	-I${LIBCDIR}/locale
@


1.67.20.1
log
@merge with head.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.68 2009/01/02 00:20:21 tnozaki Exp $
d16 2
a17 4
	wcswcs.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
CPPFLAGS.wcscmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wcsncmp.c+=	-I${LIBCDIR}/locale
CPPFLAGS.wmemcmp.c+=	-I${LIBCDIR}/locale
@


1.66
log
@PR/30809 added manpages of wcswcs(3) and wcscoll(3), wcsxfrm(3)
(wcs?width and wprintf are already in repository).
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.65 2006/08/27 07:09:04 dsl Exp $
d58 1
a58 1
	strcpy.3 strcspn.3 strdup.3 strerror.3 string.3 strlcpy.3 \
@


1.65
log
@fix xtos's pasto
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.64 2006/08/26 22:48:50 christos Exp $
d84 1
a84 1
	wmemchr.3 wcsstr.3
@


1.64
log
@PR/34238: Aleksey Cheusov: man pages for wcsdup, wcscasecmp and wcsncasecmp
functions
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.63 2006/08/23 01:51:51 christos Exp $
d85 1
a85 1
MKLINKS+=wcscasecmp.3 wcsncasecmp.3
@


1.63
log
@include one more new file.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.62 2006/08/22 20:50:46 christos Exp $
d61 1
a61 1
	swab.3 wcstok.3 wcswidth.3 wmemchr.3
d85 1
@


1.62
log
@PR/34238: Aleksey Cheusov: add wcsdup, wcscasecmp and wcsncasecmp functions
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.61 2006/08/12 23:49:54 christos Exp $
d14 1
a14 1
	wcslen.c wcsncat.c wcscasecmp.c wcsdup.c \
@


1.61
log
@- Add strndup and stresep
- Use stresep so in fstab so that we can mount paths with white space in them.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.60 2006/06/03 04:36:45 tnozaki Exp $
d14 1
a14 1
	wcslen.c wcsncat.c \
@


1.60
log
@fix lib/33476:
  added following manpages (derived from FreeBSD),
    wcwidth(3) wcswidth(3)
    wcstol(3) wcstoll(3) wcstoimax(3)
    wcstoul(3) wcstoull(3) wcstoumax(3)
  and update doc/TODO.i18n.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.59 2005/12/20 19:31:50 christos Exp $
d9 2
a10 1
	strtok_r.c strxfrm.c __strsignal.c strerror_r.c
d73 2
@


1.60.2.1
log
@Pull up following revision(s) (requested by tron in ticket #63):
	regress/lib/libc/string/Makefile: revision 1.9
	lib/libc/string/strsep.3: revision 1.17
	lib/libc/string/strsep.3: revision 1.18
	regress/lib/libc/string/stresep/Makefile: revision 1.1
	distrib/sets/lists/base/shl.mi: revision 1.364
	regress/lib/libc/string/stresep/stresep_test.c: revision 1.1
	lib/libc/gen/fstab.c: revision 1.28
	lib/libc/shlib_version: revision 1.181
	lib/libc/string/strndup.c: revision 1.1
	lib/libc/string/strdup.3: revision 1.13
	lib/libc/string/strdup.3: revision 1.14
	lib/libc/string/Makefile.inc: revision 1.61
	include/string.h: revision 1.31
	distrib/sets/lists/comp/mi: revision 1.909
	lib/libc/string/stresep.c: revision 1.1
	lib/libc/include/namespace.h: revision 1.118
- Add strndup and stresep
- Use stresep so in fstab so that we can mount paths with white space in th=
em.
Add stresep and strndup.
add regression test for stresep.
libc 146
man pages for stresep and strndup.
Mark up NULL.
stresep, not strnsep. Remove duplicate "the". Bump date for previous.
@
text
@d2 1
a2 1
#	$NetBSD$
d9 1
a9 2
	strtok_r.c strxfrm.c __strsignal.c strerror_r.c strndup.c \
	stresep.c
a71 2
MLINKS+=strdup.3 strndup.3
MLINKS+=strsep.3 stresep.3
@


1.60.2.2
log
@Pull up following revision(s) (requested by tron in ticket #64):
	lib/libc/include/namespace.h: revision 1.119
	lib/libc/string/wcsdup.c: revision 1.1
	lib/libc/string/wcscasecmp.c: revision 1.1
	lib/libc/include/namespace.h: revision 1.120
	distrib/sets/lists/base/shl.mi: revision 1.366
	lib/libc/shlib_version: revision 1.182
	include/wchar.h: revision 1.26
	lib/libc/string/Makefile.inc: revision 1.62
	lib/libc/string/Makefile.inc: revision 1.63
	lib/libc/string/wcsncasecmp.c: revision 1.1
PR/34238: Aleksey Cheusov: add wcsdup, wcscasecmp and wcsncasecmp functions
libc 147 for wcsdup and wcs{n,}casecmp
include one more new file.
add wcsdup, wcscasecmp and wcsncasecmp.  fixes build problems..
I think we want both wcs{c,n}casecmp weak.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.60.2.1 2006/08/27 06:08:51 riz Exp $
d14 1
a14 1
	wcslen.c wcsncat.c wcscasecmp.c wcsdup.c wcsncasecmp.c \
@


1.60.2.3
log
@Pull up following revision(s) (requested by tron in ticket #78):
	lib/libc/string/wcsdup.c: revision 1.2
	lib/libc/string/wcsdup.3: revision 1.1
	lib/libc/string/wcscasecmp.3: revision 1.1
	lib/libc/string/wcscasecmp.c: revision 1.2
	distrib/sets/lists/comp/mi: revision 1.917
	lib/libc/string/Makefile.inc: revision 1.64
	lib/libc/string/Makefile.inc: revision 1.65
	lib/libc/string/wcsncasecmp.c: revision 1.2
Add copyright notices.
PR/34238: Aleksey Cheusov: man pages for wcsdup, wcscasecmp and wcsncasecmp
functions
add man pages for wcsdup, wcscasecmp, wcsncasecmp
fix xtos's pasto
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.60.2.2 2006/08/27 06:15:45 riz Exp $
d61 1
a61 1
	swab.3 wcstok.3 wcswidth.3 wmemchr.3 wcsdup.3 wcscasecmp.3
a84 1
MLINKS+=wcscasecmp.3 wcsncasecmp.3
@


1.59
log
@Use reach-over sources from common/lib/libc
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.58 2005/07/30 15:21:21 christos Exp $
d60 1
a60 1
	swab.3 wcstok.3 wmemchr.3
@


1.58
log
@- Fix the remaining indr_references so that they define lint symbols.
- Add an internal symbol for strerror_r (thanks klaus for noticing)
- Remove internal __strerror
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.57 2005/07/28 16:26:29 christos Exp $
d7 3
a9 3
SRCS+=	bm.c strcasecmp.c strcasestr.c strcoll.c strdup.c strerror.c \
	strlcat.c strlcpy.c strmode.c strsignal.c strtok.c strtok_r.c \
	strxfrm.c __strsignal.c strerror_r.c
@


1.57
log
@PR/30845: Luke Mewburn: strerror_r(3) missing
- Merge 4.4BSD strerror.3 man page changes that summarize information
  for all the error printing functions. This makes the perror(3) page
  obsolete.
- Implement all error functions in terms of strerror_r(), including
  __strerror() which is not used internally. Can it be removed?
- Bump version for strerror_r
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.56 2005/03/14 03:13:53 perry Exp $
d9 1
a9 1
	strxfrm.c __strerror.c __strsignal.c strerror_r.c
d19 1
a19 1
SRCS+=	_strlcat.c _strlcpy.c
@


1.56
log
@Fix stupid typo. I added memmem, not memmove.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.55 2005/03/13 15:15:13 perry Exp $
d9 1
a9 1
	strxfrm.c __strerror.c __strsignal.c
d70 2
@


1.55
log
@add memmem
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.54 2004/07/03 08:27:25 junyoung Exp $
d42 1
a42 1
SRCS+=	memmove.c
@


1.54
log
@Add strcasestr(3), case insensitive version of strstr(3).
Bump libc minor.

From FreeBSD.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.53 2003/03/05 20:18:17 tshiozak Exp $
d28 1
a28 1
#	memcpy() memmove() strchr() strrchr()
d41 3
d54 7
a60 6
MAN+=	bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \
	memcmp.3 memcpy.3 memmove.3 memset.3 rindex.3 strcasecmp.3 strcat.3 \
	strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strdup.3 strerror.3 \
	string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strrchr.3 strsep.3 \
	strsignal.3 strspn.3 strstr.3 strtok.3 strxfrm.3 swab.3 \
	wcstok.3 wmemchr.3
@


1.53
log
@changes related to lib/20576 and lib/20577.
  - add wcstok() and wcswcs(),
  - add wcstok(3),
  - move btowc() and wctob() into each ctype modules,
  - bump ctype interface ABI version,
  - bump i18n modules' minor and
  - update sets.
and fix a stupid bug in _RUNE_ISCACHED macro.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.52 2002/04/17 16:23:09 kleink Exp $
d7 3
a9 3
SRCS+=	bm.c strcasecmp.c strcoll.c strdup.c strerror.c strlcat.c strlcpy.c \
	strmode.c strsignal.c strtok.c strtok_r.c strxfrm.c \
	__strerror.c __strsignal.c
d64 1
@


1.53.2.1
log
@Pull up revision 1.54 (requested by junyoung in ticket #638):
  Add strcasestr(3), case insensitive version of strstr(3).
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.53 2003/03/05 20:18:17 tshiozak Exp $
d7 3
a9 3
SRCS+=	bm.c strcasecmp.c strcasestr.c strcoll.c strdup.c strerror.c \
	strlcat.c strlcpy.c strmode.c strsignal.c strtok.c strtok_r.c \
	strxfrm.c __strerror.c __strsignal.c
a63 1
MLINKS+=strstr.3 strcasestr.3
@


1.52
log
@Need internal names for strlcat() and strlcpy().
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.51 2000/12/24 03:45:04 itojun Exp $
d14 3
a16 2
	wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c wcsstr.c wcswidth.c \
	wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
d56 1
a56 1
	wmemchr.3
@


1.51
log
@split wide char section, just for readability/future possibility for .if
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.50 2000/12/23 23:14:36 itojun Exp $
d16 3
@


1.51.2.1
log
@Catch up to -current.
@
text
@d2 1
a2 1
#	$NetBSD$
a15 3

# namespace protection wrappers
SRCS+=	_strlcat.c _strlcpy.c
@


1.50
log
@move wcs* and wmem* from lib/libc/locale to lib/libc/string.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.49 1999/09/08 22:56:56 lukem Exp $
d9 4
a12 2
	__strerror.c __strsignal.c \
	wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c \
@


1.49
log
@add netbsd rcsid's
update for knf (return value on separate line to function name...)
check dst and src aren't null pointers before trying to use them
enable strlcat/strlcpy
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.48 1999/02/24 15:05:21 drochner Exp $
d9 5
a13 1
	__strerror.c __strsignal.c
d49 2
a50 1
	strsignal.3 strspn.3 strstr.3 strtok.3 strxfrm.3 swab.3
d59 10
@


1.49.8.1
log
@Pull up revision 1.52 (via patch, requested by kleink):
  Use internal names for strlcat() and strlcpy().
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.49 1999/09/08 22:56:56 lukem Exp $
a9 3

# namespace protection wrappers
SRCS+=	_strlcat.c _strlcpy.c
@


1.48
log
@use ${ARCHDIR} instead of ${.CURDIR}/arch/${MACHINE_ARCH} where appropriate
libc builds on pmax again
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.47 1998/09/14 21:34:43 kleink Exp $
d7 1
a7 1
SRCS+=	bm.c strcasecmp.c strcoll.c strdup.c strerror.c \
d43 2
a44 2
	strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strerror.3 \
	string.3 strlen.3 strmode.3 strdup.3 strpbrk.3 strrchr.3 strsep.3 \
d52 1
@


1.48.2.1
log
@Pull up revision 1.49 (requested by he):
  Add strlcpy() and strlcat() to libc.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.48 1999/02/24 15:05:21 drochner Exp $
d7 1
a7 1
SRCS+=	bm.c strcasecmp.c strcoll.c strdup.c strerror.c strlcat.c strlcpy.c \
d43 2
a44 2
	strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strdup.3 strerror.3 \
	string.3 strlcpy.3 strlen.3 strmode.3 strpbrk.3 strrchr.3 strsep.3 \
a51 1
MLINKS+=strlcpy.3 strlcat.3
@


1.47
log
@Install a link for strtok_r(3).
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.46 1998/08/04 06:25:10 perry Exp $
d5 1
a5 1
.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/string ${.CURDIR}/string
d20 1
a20 1
.include "${.CURDIR}/arch/${MACHINE_ARCH}/string/Makefile.inc"
@


1.46
log
@switch bzero to version in memset.c.
bzero.c is now a "#define BZERO//#include memset.c" type file.
Remove comment from Makefile about the fact that this is on the todo list.
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.45 1998/08/04 04:48:16 perry Exp $
d52 1
@


1.45
log
@Replace complicated and ugly makefile gook to make memmove,memcpy by
-Ding the bcopy.c source (and similarly strchr from index.c, strrchr
from rindex.c) with stub .c files for memmove, memcpy, strchr and
strrchr that simply #define the appropriate thing and #include the
appropriate .c file. Inspired by the way many m-d .S files handle the
same thing. This radically simplifies the Makefile.inc for libc/string
(and libkern).
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.44 1998/01/30 23:45:23 perry Exp $
a5 4

# XXX Warning: the merge of this makefile to deal with the new
# memset/bzero stuff isn't finished yet. In particular, bzero is still
# being built on its own but *should* be built from memset.c
@


1.44
log
@note that bzero isn't yet being built from memset.c
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.43 1998/01/30 23:38:12 perry Exp $
d26 3
a28 1
# if no machine specific memccpy(3), use the machine independent version.
d32 2
a33 26

# if no machine specific memmove(3), build one out of bcopy(3).
.if empty(SRCS:Mmemmove.S)
OBJS+=	memmove.o
memmove.o: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMMOVE ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMMOVE ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

memmove.po: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMMOVE -pg ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMMOVE -pg ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

memmove.so: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMMOVE ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMMOVE ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

LOBJS+= memmove.ln
memmove.ln: bcopy.c
	${LINT} -DMEMMOVE ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
	    ${.ALLSRC}
a34 5

# if no machine specific memcpy(3), build one out of bcopy(3).
# if there is a machine specific memmove(3), we'll assume it aliases
# memcpy(3).
.if empty(SRCS:Mmemcpy.S)
d36 1
a36 24
OBJS+=	memcpy.o
memcpy.o: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

memcpy.po: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMCOPY -pg ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMCOPY -pg ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

memcpy.so: bcopy.c
	@@echo ${COMPILE.c:Q} -DMEMCOPY ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DMEMCOPY ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

LOBJS+= memcpy.ln
memcpy.ln: bcopy.c
	${LINT} -DMEMCOPY ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
	    ${.ALLSRC}
.endif
a37 2

# if no machine specific strchr(3), build one out of index(3).
d39 1
a39 23
OBJS+=	strchr.o
strchr.o: index.c
	@@echo ${COMPILE.c:Q} -DSTRCHR ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRCHR ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

strchr.po: index.c
	@@echo ${COMPILE.c:Q} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

strchr.so: index.c
	@@echo ${COMPILE.c:Q} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

LOBJS+= strchr.ln
strchr.ln: index.c
	${LINT} -DSTRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
	    ${.ALLSRC}
a40 2

# if no machine specific strrchr(3), build one out of rindex(3).
d42 1
a42 23
OBJS+=	strrchr.o
strrchr.o: rindex.c
	@@echo ${COMPILE.c:Q} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

strrchr.po: rindex.c
	@@echo ${COMPILE.c:Q} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRRCHR -pg ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

strrchr.so: rindex.c
	@@echo ${COMPILE.c:Q} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}
	@@${COMPILE.c} -DSTRRCHR ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
	@@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
	@@rm -f ${.TARGET}.o

LOBJS+= strrchr.ln
strrchr.ln: rindex.c
	${LINT} -DSTRRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
	    ${.ALLSRC}
@


1.43
log
@update to lite-2
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.42 1998/01/23 18:58:05 cgd Exp $
d6 4
@


1.42
log
@Update various aspects of the special target builds which should
have been done (by others) a long time ago:
	* fix PIC compilation to use new PIC flags,
	* make them 'make -j N' safe.
@
text
@d1 2
a2 2
#	from: @@(#)Makefile.inc	5.6 (Berkeley) 3/5/91
#	$NetBSD: Makefile.inc,v 1.41 1997/10/22 23:14:27 lukem Exp $
@


1.41
log
@- use CPPFLAGS instead of CFLAGS
- use ${COMPILE.C} ... instead of ${CC} ${CFLAGS} -c ...
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.40 1997/10/09 10:08:16 lukem Exp $
d31 4
a34 3
	${COMPILE.c} -DMEMMOVE ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}
d37 4
a40 3
	${COMPILE.c} -DMEMMOVE -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}
d43 4
a46 1
	${COMPILE.c} ${PICFLAG} -DPIC -DMEMMOVE ${.ALLSRC} -o ${.TARGET}
d61 4
a64 3
	${COMPILE.c} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}
d67 4
a70 3
	${COMPILE.c} -DMEMCOPY -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}
d73 4
a76 1
	${COMPILE.c} ${PICFLAG} -DPIC -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
d89 4
a92 3
	${COMPILE.c} -DSTRCHR ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}
d95 4
a98 3
	${COMPILE.c} -DSTRCHR -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}
d101 4
a104 1
	${COMPILE.c} ${PICFLAG} -DPIC -DSTRCHR ${.ALLSRC} -o ${.TARGET}
d116 4
a119 3
	${COMPILE.c} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}
d122 4
a125 3
	${COMPILE.c} -DSTRRCHR -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}
d128 4
a131 1
	${COMPILE.c} ${PICFLAG} -DPIC -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
@


1.40
log
@rcsid police
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.39 1997/04/23 01:18:01 mrg Exp $
d31 1
a31 1
	${CC} -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d36 1
a36 1
	${CC} -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d41 1
a41 2
	${CC} ${PICFLAG} -DPIC -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
d45 1
a45 1
	${LINT} -DMEMMOVE ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d56 1
a56 1
	${CC} -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d61 1
a61 1
	${CC} -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d66 1
a66 2
	${CC} ${PICFLAG} -DPIC -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
d70 1
a70 1
	${LINT} -DMEMCOPY ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d79 1
a79 1
	${CC} -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d84 1
a84 1
	${CC} -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d89 1
a89 2
	${CC} ${PICFLAG} -DPIC -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
d93 1
a93 1
	${LINT} -DSTRCHR ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d101 1
a101 1
	${CC} -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d106 1
a106 1
	${CC} -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d111 1
a111 2
	${CC} ${PICFLAG} -DPIC -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
d115 1
a115 1
	${LINT} -DSTRRCHR ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i -o ${.TARGET} \
@


1.40.2.1
log
@sync with trunk (approved by thorpej)
@
text
@d2 1
a2 1
#	$NetBSD: Makefile.inc,v 1.41 1997/10/22 23:14:27 lukem Exp $
d31 1
a31 1
	${COMPILE.c} -DMEMMOVE ${.ALLSRC} -o ${.TARGET}
d36 1
a36 1
	${COMPILE.c} -DMEMMOVE -p ${.ALLSRC} -o ${.TARGET}
d41 2
a42 1
	${COMPILE.c} ${PICFLAG} -DPIC -DMEMMOVE ${.ALLSRC} -o ${.TARGET}
d46 1
a46 1
	${LINT} -DMEMMOVE ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d57 1
a57 1
	${COMPILE.c} -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
d62 1
a62 1
	${COMPILE.c} -DMEMCOPY -p ${.ALLSRC} -o ${.TARGET}
d67 2
a68 1
	${COMPILE.c} ${PICFLAG} -DPIC -DMEMCOPY ${.ALLSRC} -o ${.TARGET}
d72 1
a72 1
	${LINT} -DMEMCOPY ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d81 1
a81 1
	${COMPILE.c} -DSTRCHR ${.ALLSRC} -o ${.TARGET}
d86 1
a86 1
	${COMPILE.c} -DSTRCHR -p ${.ALLSRC} -o ${.TARGET}
d91 2
a92 1
	${COMPILE.c} ${PICFLAG} -DPIC -DSTRCHR ${.ALLSRC} -o ${.TARGET}
d96 1
a96 1
	${LINT} -DSTRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
d104 1
a104 1
	${COMPILE.c} -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
d109 1
a109 1
	${COMPILE.c} -DSTRRCHR -p ${.ALLSRC} -o ${.TARGET}
d114 2
a115 1
	${COMPILE.c} ${PICFLAG} -DPIC -DSTRRCHR ${.ALLSRC} -o ${.TARGET}
d119 1
a119 1
	${LINT} -DSTRRCHR ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i -o ${.TARGET} \
@


1.39
log
@move str[fp]time into libc/time.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.38 1996/12/22 11:34:21 cgd Exp $
@


1.38
log
@add rules to build .ln files (memmove.ln, memcpy.ln, strchr.ln, strrchr.ln)
for objects built specially from other C files, when appropriate.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.37 1996/11/12 02:03:13 jtc Exp $
d8 1
a8 1
	strftime.c strmode.c strsignal.c strtok.c strtok_r.c strxfrm.c \
d125 1
a125 1
	strchr.3 strcmp.3 strcoll.3 strcpy.3 strcspn.3 strerror.3 strftime.3 \
@


1.37
log
@Add strtok_r() for reentrant (thread-aware) programs
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.36 1996/09/24 09:14:18 matthias Exp $
d42 6
a47 1
		-o ${.TARGET}
d68 6
a73 1
		-o ${.TARGET}
d93 5
d116 5
@


1.36
log
@Make it possible to have a md version of memccpy.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.35 1995/03/20 14:47:39 mycroft Exp $
d8 1
a8 1
	strftime.c strmode.c strsignal.c strtok.c strxfrm.c \
@


1.35
log
@Clarify a comment slightly.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.34 1995/03/20 14:45:54 mycroft Exp $
d7 1
a7 1
SRCS+=	bm.c memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
d21 5
@


1.34
log
@Separate machine dependencies.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.33 1995/02/10 17:46:55 cgd Exp $
d17 1
@


1.33
log
@list the files needed on the alpha.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.32 1994/12/22 10:15:00 cgd Exp $
d11 9
a19 46
.if   (${MACHINE_ARCH} == "m68k")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.S memchr.c memcmp.S memset.S \
	rindex.S strcat.c strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.c strncmp.S strncpy.S strpbrk.c strsep.c \
	strspn.c strstr.c swab.S
SRCS+=	memcpy.S memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "i386")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memset.S \
	rindex.S strcat.S strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.c strncmp.S strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.S
SRCS+=	memcpy.S memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "ns32k")
SRCS+=	bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
#SRCS+=	memmove.c strchr.c strrchr.c
.elif (${MACHINE_ARCH} == "tahoe")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.c memchr.c memcmp.S memset.c \
	rindex.c strcat.S strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.S strncmp.S strncpy.S strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
SRCS+=	memmove.S
.elif (${MACHINE_ARCH} == "vax")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.c memchr.S memcmp.S memset.S \
	rindex.S strcat.S strcmp.S strcpy.S strcspn.S strlen.S \
	strncat.S strncmp.S strncpy.S strpbrk.S strsep.S \
	strspn.S strstr.S swab.c
SRCS+=	memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "sparc")
SRCS+=	bcmp.c bcopy.c bzero.S ffs.S index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.S \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
.elif (${MACHINE_ARCH} == "mips")
SRCS+=	bcmp.S bcopy.S bzero.S  ffs.S index.S memchr.c memcmp.c memset.c \
	rindex.S strcat.c strcmp.S strcpy.c strcspn.c strlen.S \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
.elif (${MACHINE_ARCH} == "alpha")
SRCS+=	bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
.endif
@


1.32
log
@specify man pages the new way.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.31 1994/11/14 23:48:22 dean Exp $
d49 5
@


1.31
log
@Include files for pmax
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.30 1994/09/03 05:07:49 jtc Exp $
d129 5
a133 5
MAN3+=	bm.0 bcmp.0 bcopy.0 bstring.0 bzero.0 ffs.0 index.0 memccpy.0 memchr.0 \
	memcmp.0 memcpy.0 memmove.0 memset.0 rindex.0 strcasecmp.0 strcat.0 \
	strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strerror.0 strftime.0 \
	string.0 strlen.0 strmode.0 strdup.0 strpbrk.0 strrchr.0 strsep.0 \
	strsignal.0 strspn.0 strstr.0 strtok.0 strxfrm.0 swab.0
@


1.30
log
@__strerror() and __strsignal() have been broken out into their own files
and use message catalogs if NLS is defined.
Increased the size of char buffers used by strerror() and strsignal();
the error and signal strings may be much longer in some locales.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.29 1994/08/02 05:01:20 jtc Exp $
d44 5
@


1.29
log
@Add strsignal() function like on Solaris.
We might want to be able to retrieve a locale-specific signal description
(from a message catalog) and we need a function call API for that feature.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.28 1994/07/06 04:07:53 mycroft Exp $
d8 2
a9 1
	strftime.c strmode.c strsignal.c strtok.c strxfrm.c 
@


1.29.2.1
log
@file Makefile.inc was added on branch netbsd-1-0 on 1994-08-02 05:01:21 +0000
@
text
@d1 133
@


1.29.2.2
log
@Add strsignal() function like on Solaris.
We might want to be able to retrieve a locale-specific signal description
(from a message catalog) and we need a function call API for that feature.
@
text
@a0 133
#	from: @@(#)Makefile.inc	5.6 (Berkeley) 3/5/91
#	$Id: Makefile.inc,v 1.29 1994/08/02 05:01:20 jtc Exp $

# string sources
.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/string ${.CURDIR}/string

SRCS+=	bm.c memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
	strftime.c strmode.c strsignal.c strtok.c strxfrm.c 

.if   (${MACHINE_ARCH} == "m68k")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.S memchr.c memcmp.S memset.S \
	rindex.S strcat.c strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.c strncmp.S strncpy.S strpbrk.c strsep.c \
	strspn.c strstr.c swab.S
SRCS+=	memcpy.S memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "i386")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memset.S \
	rindex.S strcat.S strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.c strncmp.S strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.S
SRCS+=	memcpy.S memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "ns32k")
SRCS+=	bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
#SRCS+=	memmove.c strchr.c strrchr.c
.elif (${MACHINE_ARCH} == "tahoe")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.c memchr.c memcmp.S memset.c \
	rindex.c strcat.S strcmp.S strcpy.S strcspn.c strlen.S \
	strncat.S strncmp.S strncpy.S strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
SRCS+=	memmove.S
.elif (${MACHINE_ARCH} == "vax")
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.c memchr.S memcmp.S memset.S \
	rindex.S strcat.S strcmp.S strcpy.S strcspn.S strlen.S \
	strncat.S strncmp.S strncpy.S strpbrk.S strsep.S \
	strspn.S strstr.S swab.c
SRCS+=	memmove.S strchr.S strrchr.S
.elif (${MACHINE_ARCH} == "sparc")
SRCS+=	bcmp.c bcopy.c bzero.S ffs.S index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.S \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.c
.endif

# if no machine specific memmove(3), build one out of bcopy(3).
.if empty(SRCS:Mmemmove.S)
OBJS+=	memmove.o
memmove.o: bcopy.c
	${CC} -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}

memmove.po: bcopy.c
	${CC} -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}

memmove.so: bcopy.c
	${CC} ${PICFLAG} -DPIC -DMEMMOVE ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
		-o ${.TARGET}
.endif

# if no machine specific memcpy(3), build one out of bcopy(3).
# if there is a machine specific memmove(3), we'll assume it aliases
# memcpy(3).
.if empty(SRCS:Mmemcpy.S)
.if empty(SRCS:Mmemmove.S)
OBJS+=	memcpy.o
memcpy.o: bcopy.c
	${CC} -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}

memcpy.po: bcopy.c
	${CC} -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}

memcpy.so: bcopy.c
	${CC} ${PICFLAG} -DPIC -DMEMCOPY ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
		-o ${.TARGET}
.endif
.endif

# if no machine specific strchr(3), build one out of index(3).
.if empty(SRCS:Mstrchr.S)
OBJS+=	strchr.o
strchr.o: index.c
	${CC} -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}

strchr.po: index.c
	${CC} -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}

strchr.so: index.c
	${CC} ${PICFLAG} -DPIC -DSTRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
.endif

# if no machine specific strrchr(3), build one out of rindex(3).
.if empty(SRCS:Mstrrchr.S)
OBJS+=	strrchr.o
strrchr.o: rindex.c
	${CC} -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}

strrchr.po: rindex.c
	${CC} -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}

strrchr.so: rindex.c
	${CC} ${PICFLAG} -DPIC -DSTRRCHR ${CFLAGS} ${CPPFLAGS} -c ${.ALLSRC} \
	    -o ${.TARGET}
.endif

MAN3+=	bm.0 bcmp.0 bcopy.0 bstring.0 bzero.0 ffs.0 index.0 memccpy.0 memchr.0 \
	memcmp.0 memcpy.0 memmove.0 memset.0 rindex.0 strcasecmp.0 strcat.0 \
	strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strerror.0 strftime.0 \
	string.0 strlen.0 strmode.0 strdup.0 strpbrk.0 strrchr.0 strsep.0 \
	strsignal.0 strspn.0 strstr.0 strtok.0 strxfrm.0 swab.0

MLINKS+=bm.3 bm_comp.3 bm.3 bm_exec.3 bm.3 bm_free.3
MLINKS+=strcasecmp.3 strncasecmp.3
MLINKS+=strcat.3 strncat.3
MLINKS+=strcmp.3 strncmp.3
MLINKS+=strcpy.3 strncpy.3
@


1.28
log
@We're supposed to include ${CPPFLAGS} when compiling .c files.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.27 1994/06/22 00:15:22 cgd Exp $
d8 1
a8 1
	strftime.c strmode.c strtok.c strxfrm.c 
d127 1
a127 1
	strspn.0 strstr.0 strtok.0 strxfrm.0 swab.0
@


1.27
log
@add Boyer-Moore string search routines, from Bostic.  man page
needs to be fixed for mandoc, and RCSID's need to be added.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.26 1994/02/25 07:42:01 phil Exp $
d51 1
a51 1
	${CC} -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d56 1
a56 1
	${CC} -DMEMMOVE ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d61 1
a61 1
	${CC} ${PICFLAG} -DPIC -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} \
d72 1
a72 1
	${CC} -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d77 1
a77 1
	${CC} -DMEMCOPY ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d82 1
a82 1
	${CC} ${PICFLAG} -DPIC -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} \
d91 1
a91 1
	${CC} -DSTRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d96 1
a96 1
	${CC} -DSTRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d101 1
a101 1
	${CC} ${PICFLAG} -DPIC -DSTRCHR ${CFLAGS} -c ${.ALLSRC} \
d109 1
a109 1
	${CC} -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
d114 1
a114 1
	${CC} -DSTRRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
d119 1
a119 1
	${CC} ${PICFLAG} -DPIC -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} \
@


1.26
log
@Changing the ns32k stuff.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.25 1993/12/10 10:55:12 mycroft Exp $
d7 1
a7 1
SRCS+=	memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
d123 1
a123 1
MAN3+=	bcmp.0 bcopy.0 bstring.0 bzero.0 ffs.0 index.0 memccpy.0 memchr.0 \
d125 3
a127 3
	strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strerror.0 strftime.0 string.0 \
	strlen.0 strmode.0 strdup.0 strpbrk.0 strrchr.0 strsep.0 strspn.0 \
	strstr.0 strtok.0 strxfrm.0 swab.0
d129 1
@


1.25
log
@memcpy.S and memmove.S on i386 are now separate.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.24 1993/12/08 21:03:05 mycroft Exp $
d27 1
a27 1
SRCS+=	memmove.c strchr.c strrchr.c
@


1.24
log
@Add strchr.S and strrchr.S for m68k.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.23 1993/12/08 13:31:19 pk Exp $
d21 1
a21 1
SRCS+=	memmove.S strchr.S strrchr.S
@


1.23
log
@Added some Sparc sources.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.22 1993/12/07 01:00:06 mycroft Exp $
d15 1
a15 1
SRCS+=	memcpy.S memmove.S
@


1.22
log
@Also a memcpy.S for m68k.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.21 1993/12/07 00:54:09 mycroft Exp $
d40 5
@


1.21
log
@Remove -p flags from .so builds.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.20 1993/12/06 23:39:42 mycroft Exp $
d15 1
a15 1
SRCS+=	memmove.S
@


1.20
log
@Add memmove.S to m68k assembler stuff.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.19 1993/12/06 23:22:15 mycroft Exp $
d56 1
a56 1
	${CC} ${PICFLAG} -DPIC -DMEMMOVE ${CFLAGS} -c -p ${.ALLSRC} \
d77 1
a77 1
	${CC} ${PICFLAG} -DPIC -DMEMCOPY ${CFLAGS} -c -p ${.ALLSRC} \
d96 1
a96 1
	${CC} ${PICFLAG} -DPIC -DSTRCHR ${CFLAGS} -c -p ${.ALLSRC} \
d114 1
a114 1
	${CC} ${PICFLAG} -DPIC -DSTRRCHR ${CFLAGS} -c -p ${.ALLSRC} \
@


1.19
log
@Use assembler versions of m68k stuff.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.18 1993/12/06 03:10:35 cgd Exp $
d15 1
@


1.18
log
@fix things so that memmove.so, et al., are built correctly on
machines w/o architecture-specific sources.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.17 1993/12/05 15:46:29 briggs Exp $
d11 1
a11 1
SRCS+=	bcmp.S bcopy.S bzero.S ffs.S index.S memchr.c memcmp.c memset.c \
d14 1
a14 1
	strspn.c strstr.c swab.c
@


1.17
log
@Changed occurance of MACHINE_ARCH == "hp300" to MACHINE_ARCH == "m68k"
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.16 1993/12/05 02:21:38 cgd Exp $
d53 4
d74 4
d93 4
d111 4
@


1.16
log
@get pc532 moved into ns32k; that's is MACHINE_ARCH
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.15 1993/12/04 02:39:02 cgd Exp $
d10 1
a10 1
.if   (${MACHINE_ARCH} == "hp300")
@


1.15
log
@update for .S and MACHINE_ARCH
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.14 1993/10/18 20:24:41 cgd Exp $
d21 1
a21 1
.elif (${MACHINE_ARCH} == "pc532")
@


1.14
log
@don't compiler strerror.c source here, and clean up.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.13 1993/10/07 19:27:50 jtc Exp $
d5 1
a5 1
.PATH: ${.CURDIR}/arch/${MACHINE}/string ${.CURDIR}/string
d10 4
a13 4
.if   (${MACHINE} == "hp300")
SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.s memchr.c memcmp.c memset.c \
	rindex.s strcat.c strcmp.s strcpy.s strcspn.c strlen.s \
	strncat.c strncmp.s strncpy.s strpbrk.c strsep.c \
d15 7
a21 7
.elif (${MACHINE} == "i386")
SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.s memchr.s memcmp.s memset.s \
	rindex.s strcat.s strcmp.s strcpy.s strcspn.c strlen.s \
	strncat.c strncmp.s strncpy.c strpbrk.c strsep.c \
	strspn.c strstr.c swab.s
SRCS+=	memmove.s strchr.s strrchr.s
.elif (${MACHINE} == "pc532")
d27 4
a30 4
.elif (${MACHINE} == "tahoe")
SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.c memchr.c memcmp.s memset.c \
	rindex.c strcat.s strcmp.s strcpy.s strcspn.c strlen.s \
	strncat.s strncmp.s strncpy.s strpbrk.c strsep.c \
d32 7
a38 7
SRCS+=	memmove.s
.elif (${MACHINE} == "vax")
SRCS+=	bcmp.s bcopy.s bzero.s ffs.s index.c memchr.s memcmp.s memset.s \
	rindex.s strcat.s strcmp.s strcpy.s strcspn.s strlen.s \
	strncat.s strncmp.s strncpy.s strpbrk.s strsep.s \
	strspn.s strstr.s swab.c
SRCS+=	memmove.s strchr.s strrchr.s
d42 1
a42 1
.if empty(SRCS:Mmemmove.s)
d58 2
a59 2
.if empty(SRCS:Mmemcpy.s)
.if empty(SRCS:Mmemmove.s)
d74 1
a74 1
.if empty(SRCS:Mstrchr.s)
d88 1
a88 1
.if empty(SRCS:Mstrrchr.s)
@


1.13
log
@Moved strerror.[c3] from libc/stdio to libc/string.
Since perror is not permitted to change strerror()'s static buffer, I have
changed both functions to pass their own buffers to the new library-internal
function _strerror() that actually does the error message string look up.
Split strerror manpage into strerror and perror manpages.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.12 1993/10/07 00:24:09 cgd Exp $
d103 1
a103 1
	strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strftime.0 string.0 \
d105 1
a105 1
	strstr.0 strtok.0 strxfrm.0 strerror.0 swab.0
@


1.12
log
@make an arch directory in libc, and move all machine dirs into it
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.11 1993/10/05 18:30:18 jtc Exp $
d7 1
a7 1
SRCS+=	memccpy.c strcasecmp.c strcoll.c strdup.c \
d105 1
a105 1
	strstr.0 strtok.0 strxfrm.0 swab.0
@


1.11
log
@Add swab.c or swab.s, as appropriate, to each machines source list instead
of always using swab.c
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.10 1993/09/17 19:23:48 phil Exp $
d5 1
a5 1
.PATH: ${.CURDIR}/${MACHINE}/string ${.CURDIR}/string
@


1.10
log
@pc532 specifics.
@
text
@d2 1
a2 1
#	$Id: Makefile.inc,v 1.9 1993/08/01 05:40:37 mycroft Exp $
d8 1
a8 1
	strftime.c strmode.c strtok.c strxfrm.c swab.c
d14 1
a14 1
	strspn.c strstr.c
d19 1
a19 1
	strspn.c strstr.c
d25 1
a25 1
	strspn.c strstr.c
d31 1
a31 1
	strspn.c strstr.c
d37 1
a37 1
	strspn.s strstr.s
@


1.9
log
@Add RCS identifiers.
@
text
@d2 1
a2 1
#	$Id: $
d21 6
@


1.8
log
@Add i386 assembly versions of bcmp & memcmp
@
text
@d1 2
a2 1
#	@@(#)Makefile.inc	5.6 (Berkeley) 3/5/91
@


1.7
log
@enable memset & memchr.
@
text
@d15 1
a15 1
SRCS+=	bcmp.c bcopy.s bzero.s ffs.s index.s memchr.s memcmp.c memset.s \
@


1.6
log
@Actually, just make memcpy() an alias for memmove().
@
text
@d15 1
a15 1
SRCS+=	bcmp.c bcopy.s bzero.s ffs.s index.s memchr.c memcmp.c memset.c \
@


1.5
log
@Oops.  Forgot to update the Makefile.
@
text
@d19 1
a19 1
SRCS+=	strchr.s strrchr.s memcpy.s memmove.s
d49 2
d52 1
d63 1
@


1.4
log
@Added i386 assembly language versions of ffs, strcat, strcpy, and strlen.
@
text
@d19 1
a19 1
SRCS+=	strchr.s strrchr.s
@


1.3
log
@Added fast strcmp() and strncmp() routines.
@
text
@d15 2
a16 2
SRCS+=	bcmp.c bcopy.c bzero.s ffs.c index.s memchr.c memcmp.c memset.c \
	rindex.s strcat.c strcmp.s strcpy.c strcspn.c strlen.c \
@


1.2
log
@add assembly language version of index, rindex, strchr, and strrchr
supplied by J.T. Conklin <conklin@@kaleida.com>
@
text
@d16 2
a17 2
	rindex.s strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
@


1.1
log
@Initial revision
@
text
@d15 2
a16 2
SRCS+=	bcmp.c bcopy.c bzero.s ffs.c index.c memchr.c memcmp.c memset.c \
	rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
d19 1
@


1.1.1.1
log
@initial import of 386bsd-0.1 sources
@
text
@@


1.1.1.2
log
@import lite-2
@
text
@d1 1
a1 1
#	@@(#)Makefile.inc	8.1 (Berkeley) 6/4/93
d3 1
d6 1
a6 2
# machine-independent string sources
SRCS+=	memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
d9 22
a30 15
# machine-dependent string sources
.include "${.CURDIR}/${MACHINE}/string/Makefile.inc"

# If no machine specific bzero(3), build one out of memset(3).
.if empty(SRCS:Mbzero.s)
OBJS+=	bzero.o
bzero.o: memset.c
	${CC} -DBZERO ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
	@@${LD} -x -r ${.TARGET}
	@@mv a.out ${.TARGET}

bzero.po: memset.c
	${CC} -DBZERO ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
	@@${LD} -X -r ${.TARGET}
	@@mv a.out ${.TARGET}
d33 1
a33 1
# If no machine specific memmove(3), build one out of bcopy(3).
d47 1
a47 1
# If no machine specific memcpy(3), build one out of bcopy(3).
d61 1
a61 1
# If no machine specific strchr(3), build one out of index(3).
d75 1
a75 1
# If no machine specific strrchr(3), build one out of rindex(3).
d92 2
a93 2
	strlen.0 strmode.0 strdup.0 strerror.0 strpbrk.0 strrchr.0 strsep.0 \
	strspn.0 strstr.0 strtok.0 strxfrm.0 swab.0
a98 1
MLINKS+=strerror.3 perror.3
@
