head	1.122;
access;
symbols
	RELENG_8_4:1.115.0.2
	RELENG_9_1_0_RELEASE:1.110.2.1.4.2
	RELENG_9_1:1.110.2.1.0.4
	RELENG_9_1_BP:1.110.2.1
	RELENG_8_3_0_RELEASE:1.98.2.4.2.1
	RELENG_8_3:1.98.2.4.0.2
	RELENG_8_3_BP:1.98.2.4
	RELENG_9_0_0_RELEASE:1.110.2.1.2.1
	RELENG_9_0:1.110.2.1.0.2
	RELENG_9_0_BP:1.110.2.1
	RELENG_9:1.110.0.2
	RELENG_9_BP:1.110
	RELENG_7_4_0_RELEASE:1.78.12.1
	RELENG_8_2_0_RELEASE:1.98.2.1.6.1
	RELENG_7_4:1.78.0.12
	RELENG_7_4_BP:1.78
	RELENG_8_2:1.98.2.1.0.6
	RELENG_8_2_BP:1.98.2.1
	RELENG_8_1_0_RELEASE:1.98.2.1.4.1
	RELENG_8_1:1.98.2.1.0.4
	RELENG_8_1_BP:1.98.2.1
	RELENG_7_3_0_RELEASE:1.78.10.1
	RELENG_7_3:1.78.0.10
	RELENG_7_3_BP:1.78
	RELENG_8_0_0_RELEASE:1.98.2.1.2.1
	RELENG_8_0:1.98.2.1.0.2
	RELENG_8_0_BP:1.98.2.1
	RELENG_8:1.98.0.2
	RELENG_8_BP:1.98
	RELENG_7_2_0_RELEASE:1.78.8.1
	RELENG_7_2:1.78.0.8
	RELENG_7_2_BP:1.78
	RELENG_7_1_0_RELEASE:1.78.6.1
	RELENG_6_4_0_RELEASE:1.71.2.4.4.1
	RELENG_7_1:1.78.0.6
	RELENG_7_1_BP:1.78
	RELENG_6_4:1.71.2.4.0.4
	RELENG_6_4_BP:1.71.2.4
	RELENG_7_0_0_RELEASE:1.78
	RELENG_6_3_0_RELEASE:1.71.2.4
	RELENG_7_0:1.78.0.4
	RELENG_7_0_BP:1.78
	RELENG_6_3:1.71.2.4.0.2
	RELENG_6_3_BP:1.71.2.4
	RELENG_7:1.78.0.2
	RELENG_7_BP:1.78
	RELENG_6_2_0_RELEASE:1.71.2.1
	RELENG_6_2:1.71.2.1.0.6
	RELENG_6_2_BP:1.71.2.1
	RELENG_5_5_0_RELEASE:1.51.2.4
	RELENG_5_5:1.51.2.4.0.2
	RELENG_5_5_BP:1.51.2.4
	RELENG_6_1_0_RELEASE:1.71.2.1
	RELENG_6_1:1.71.2.1.0.4
	RELENG_6_1_BP:1.71.2.1
	RELENG_6_0_0_RELEASE:1.71.2.1
	RELENG_6_0:1.71.2.1.0.2
	RELENG_6_0_BP:1.71.2.1
	RELENG_6:1.71.0.2
	RELENG_6_BP:1.71
	RELENG_5_4_0_RELEASE:1.51.2.3
	RELENG_5_4:1.51.2.3.0.2
	RELENG_5_4_BP:1.51.2.3
	RELENG_4_11_0_RELEASE:1.23.2.3
	RELENG_4_11:1.23.2.3.0.10
	RELENG_4_11_BP:1.23.2.3
	RELENG_5_3_0_RELEASE:1.51.2.1
	RELENG_5_3:1.51.2.1.0.2
	RELENG_5_3_BP:1.51.2.1
	RELENG_5:1.51.0.2
	RELENG_5_BP:1.51
	RELENG_4_10_0_RELEASE:1.23.2.3
	RELENG_4_10:1.23.2.3.0.8
	RELENG_4_10_BP:1.23.2.3
	RELENG_5_2_1_RELEASE:1.37
	RELENG_5_2_0_RELEASE:1.37
	RELENG_5_2:1.37.0.2
	RELENG_5_2_BP:1.37
	RELENG_4_9_0_RELEASE:1.23.2.3
	RELENG_4_9:1.23.2.3.0.6
	RELENG_4_9_BP:1.23.2.3
	RELENG_5_1_0_RELEASE:1.30
	RELENG_5_1:1.30.0.4
	RELENG_5_1_BP:1.30
	RELENG_4_8_0_RELEASE:1.23.2.3
	RELENG_4_8:1.23.2.3.0.4
	RELENG_4_8_BP:1.23.2.3
	RELENG_5_0_0_RELEASE:1.30
	RELENG_5_0:1.30.0.2
	RELENG_5_0_BP:1.30
	RELENG_4_7_0_RELEASE:1.23.2.3
	RELENG_4_7:1.23.2.3.0.2
	RELENG_4_7_BP:1.23.2.3
	RELENG_4_6_2_RELEASE:1.23.2.2
	RELENG_4_6_1_RELEASE:1.23.2.2
	RELENG_4_6_0_RELEASE:1.23.2.2
	RELENG_4_6:1.23.2.2.0.4
	RELENG_4_6_BP:1.23.2.2
	RELENG_4_5_0_RELEASE:1.23.2.2
	RELENG_4_5:1.23.2.2.0.2
	RELENG_4_5_BP:1.23.2.2
	RELENG_4_4_0_RELEASE:1.23.2.1
	RELENG_4_4:1.23.2.1.0.2
	RELENG_4_4_BP:1.23.2.1
	RELENG_4_3_0_RELEASE:1.23
	RELENG_4_3:1.23.0.4
	RELENG_4_3_BP:1.23
	RELENG_4_2_0_RELEASE:1.23
	RELENG_4_1_1_RELEASE:1.23
	PRE_SMPNG:1.23
	RELENG_4_1_0_RELEASE:1.23
	RELENG_3_5_0_RELEASE:1.22.2.1
	RELENG_4_0_0_RELEASE:1.23
	RELENG_4:1.23.0.2
	RELENG_4_BP:1.23
	RELENG_3_4_0_RELEASE:1.22.2.1
	RELENG_3_3_0_RELEASE:1.22.2.1
	RELENG_3_2_PAO:1.22.0.4
	RELENG_3_2_PAO_BP:1.22
	RELENG_3_2_0_RELEASE:1.22
	RELENG_3_1_0_RELEASE:1.22
	RELENG_3:1.22.0.2
	RELENG_3_BP:1.22
	RELENG_2_2_8_RELEASE:1.11.2.5
	RELENG_3_0_0_RELEASE:1.20
	RELENG_2_2_7_RELEASE:1.11.2.5
	RELENG_2_2_6_RELEASE:1.11.2.5
	RELENG_2_2_5_RELEASE:1.11.2.4
	RELENG_2_2_2_RELEASE:1.11.2.4
	RELENG_2_2_1_RELEASE:1.11.2.4
	RELENG_2_2_0_RELEASE:1.11.2.4
	RELENG_2_1_7_RELEASE:1.5.4.2
	RELENG_2_1_6_1_RELEASE:1.5
	RELENG_2_1_6_RELEASE:1.5
	RELENG_2_2:1.11.0.2
	RELENG_2_2_BP:1.11
	RELENG_2_1_5_RELEASE:1.5
	RELENG_2_1_0_RELEASE:1.5
	RELENG_2_1_0:1.5.0.4
	RELENG_2_1_0_BP:1.5
	RELENG_2_0_5_RELEASE:1.5
	RELENG_2_0_5:1.5.0.2
	RELENG_2_0_5_BP:1.5
	RELENG_2_0_5_ALPHA:1.4
	RELEASE_2_0:1.3
	BETA_2_0:1.3
	ALPHA_2_0:1.3.0.2
	msun5_1:1.1.1.1
	msun:1.1.1;
locks; strict;
comment	@# @;


1.122
date	2013.06.11.00.29.24;	author svnexp;	state Exp;
branches;
next	1.121;

1.121
date	2013.06.06.00.27.34;	author svnexp;	state Exp;
branches;
next	1.120;

1.120
date	2013.06.05.00.31.12;	author svnexp;	state Exp;
branches;
next	1.119;

1.119
date	2013.06.04.00.30.32;	author svnexp;	state Exp;
branches;
next	1.118;

1.118
date	2013.05.31.00.29.22;	author svnexp;	state Exp;
branches;
next	1.117;

1.117
date	2013.05.28.00.27.55;	author svnexp;	state Exp;
branches;
next	1.116;

1.116
date	2013.04.22.00.30.42;	author svnexp;	state Exp;
branches;
next	1.115;

1.115
date	2012.11.17.01.50.05;	author svnexp;	state Exp;
branches
	1.115.2.1;
next	1.114;

1.114
date	2012.07.23.19.23.49;	author kargl;	state Exp;
branches;
next	1.113;

1.113
date	2012.01.16.04.09.17;	author das;	state Exp;
branches;
next	1.112;

1.112
date	2011.10.21.06.27.56;	author das;	state Exp;
branches;
next	1.111;

1.111
date	2011.10.17.05.41.03;	author das;	state Exp;
branches;
next	1.110;

1.110
date	2011.03.12.19.37.35;	author kargl;	state Exp;
branches
	1.110.2.1;
next	1.109;

1.109
date	2011.03.12.17.03.41;	author kargl;	state Exp;
branches;
next	1.108;

1.108
date	2011.03.12.16.50.39;	author kargl;	state Exp;
branches;
next	1.107;

1.107
date	2011.03.07.03.09.24;	author das;	state Exp;
branches;
next	1.106;

1.106
date	2011.02.20.05.29.00;	author murray;	state Exp;
branches;
next	1.105;

1.105
date	2010.12.05.22.11.22;	author das;	state Exp;
branches;
next	1.104;

1.104
date	2010.12.03.00.05.49;	author das;	state Exp;
branches;
next	1.103;

1.103
date	2010.09.13.04.23.23;	author imp;	state Exp;
branches;
next	1.102;

1.102
date	2010.09.13.01.44.56;	author imp;	state Exp;
branches;
next	1.101;

1.101
date	2010.08.28.15.03.11;	author nwhitehorn;	state Exp;
branches;
next	1.100;

1.100
date	2010.08.23.22.24.11;	author imp;	state Exp;
branches;
next	1.99;

1.99
date	2010.07.10.14.40.57;	author nwhitehorn;	state Exp;
branches;
next	1.98;

1.98
date	2008.08.07.15.07.48;	author das;	state Exp;
branches
	1.98.2.1;
next	1.97;

1.97
date	2008.07.31.22.41.26;	author das;	state Exp;
branches;
next	1.96;

1.96
date	2008.07.31.20.11.37;	author das;	state Exp;
branches;
next	1.95;

1.95
date	2008.07.18.02.18.34;	author das;	state Exp;
branches;
next	1.94;

1.94
date	2008.06.19.22.39.53;	author das;	state Exp;
branches;
next	1.93;

1.93
date	2008.03.30.20.48.02;	author das;	state Exp;
branches;
next	1.92;

1.92
date	2008.03.30.20.07.15;	author das;	state Exp;
branches;
next	1.91;

1.91
date	2008.03.30.20.03.46;	author das;	state Exp;
branches;
next	1.90;

1.90
date	2008.03.02.01.48.17;	author das;	state Exp;
branches;
next	1.89;

1.89
date	2008.02.18.17.27.11;	author das;	state Exp;
branches;
next	1.88;

1.88
date	2008.02.17.07.33.51;	author das;	state Exp;
branches;
next	1.87;

1.87
date	2008.02.13.16.56.52;	author bde;	state Exp;
branches;
next	1.86;

1.86
date	2008.01.18.21.43.10;	author das;	state Exp;
branches;
next	1.85;

1.85
date	2008.01.14.02.12.06;	author das;	state Exp;
branches;
next	1.84;

1.84
date	2007.12.17.18.21.23;	author bde;	state Exp;
branches;
next	1.83;

1.83
date	2007.12.17.13.20.38;	author bde;	state Exp;
branches;
next	1.82;

1.82
date	2007.12.17.03.53.37;	author das;	state Exp;
branches;
next	1.81;

1.81
date	2007.12.16.21.19.28;	author das;	state Exp;
branches;
next	1.80;

1.80
date	2007.12.15.08.38.44;	author das;	state Exp;
branches;
next	1.79;

1.79
date	2007.12.12.23.43.50;	author das;	state Exp;
branches;
next	1.78;

1.78
date	2007.05.21.02.49.08;	author deischen;	state Exp;
branches
	1.78.2.1
	1.78.6.1
	1.78.8.1
	1.78.10.1
	1.78.12.1;
next	1.77;

1.77
date	2007.05.13.14.12.40;	author deischen;	state Exp;
branches;
next	1.76;

1.76
date	2007.01.07.07.54.20;	author das;	state Exp;
branches;
next	1.75;

1.75
date	2006.03.27.23.59.44;	author deischen;	state Exp;
branches;
next	1.74;

1.74
date	2005.11.06.17.59.40;	author bde;	state Exp;
branches;
next	1.73;

1.73
date	2005.11.06.12.18.27;	author bde;	state Exp;
branches;
next	1.72;

1.72
date	2005.07.22.17.19.05;	author kensmith;	state Exp;
branches;
next	1.71;

1.71
date	2005.04.17.19.57.52;	author ache;	state Exp;
branches
	1.71.2.1;
next	1.70;

1.70
date	2005.04.16.21.12.47;	author das;	state Exp;
branches;
next	1.69;

1.69
date	2005.04.08.01.24.08;	author das;	state Exp;
branches;
next	1.68;

1.68
date	2005.04.05.02.57.39;	author das;	state Exp;
branches;
next	1.67;

1.67
date	2005.03.25.04.40.44;	author das;	state Exp;
branches;
next	1.66;

1.66
date	2005.03.16.19.04.28;	author das;	state Exp;
branches;
next	1.65;

1.65
date	2005.03.07.04.59.11;	author das;	state Exp;
branches;
next	1.64;

1.64
date	2005.02.26.08.54.45;	author das;	state Exp;
branches;
next	1.63;

1.63
date	2005.02.04.18.32.13;	author das;	state Exp;
branches;
next	1.62;

1.62
date	2005.02.04.14.33.38;	author das;	state Exp;
branches;
next	1.61;

1.61
date	2005.02.04.14.08.31;	author das;	state Exp;
branches;
next	1.60;

1.60
date	2005.01.27.05.46.16;	author das;	state Exp;
branches;
next	1.59;

1.59
date	2005.01.22.09.53.18;	author das;	state Exp;
branches;
next	1.58;

1.58
date	2005.01.15.03.32.27;	author das;	state Exp;
branches;
next	1.57;

1.57
date	2005.01.13.18.58.25;	author das;	state Exp;
branches;
next	1.56;

1.56
date	2005.01.13.09.11.40;	author stefanf;	state Exp;
branches;
next	1.55;

1.55
date	2005.01.12.22.16.26;	author stefanf;	state Exp;
branches;
next	1.54;

1.54
date	2005.01.11.23.12.55;	author das;	state Exp;
branches;
next	1.53;

1.53
date	2004.10.11.18.13.52;	author stefanf;	state Exp;
branches;
next	1.52;

1.52
date	2004.10.01.15.38.07;	author kensmith;	state Exp;
branches;
next	1.51;

1.51
date	2004.08.07.23.03.35;	author stefanf;	state Exp;
branches
	1.51.2.1;
next	1.50;

1.50
date	2004.08.05.01.46.11;	author das;	state Exp;
branches;
next	1.49;

1.49
date	2004.07.19.08.16.10;	author das;	state Exp;
branches;
next	1.48;

1.48
date	2004.07.09.03.32.39;	author das;	state Exp;
branches;
next	1.47;

1.47
date	2004.07.06.04.46.08;	author das;	state Exp;
branches;
next	1.46;

1.46
date	2004.06.30.07.04.01;	author das;	state Exp;
branches;
next	1.45;

1.45
date	2004.06.24.00.02.32;	author marcel;	state Exp;
branches;
next	1.44;

1.44
date	2004.06.20.10.42.23;	author stefanf;	state Exp;
branches;
next	1.43;

1.43
date	2004.06.20.09.27.03;	author das;	state Exp;
branches;
next	1.42;

1.42
date	2004.06.07.08.05.35;	author das;	state Exp;
branches;
next	1.41;

1.41
date	2004.06.06.10.06.57;	author das;	state Exp;
branches;
next	1.40;

1.40
date	2004.05.30.09.21.56;	author stefanf;	state Exp;
branches;
next	1.39;

1.39
date	2004.05.07.18.56.31;	author stefanf;	state Exp;
branches;
next	1.38;

1.38
date	2004.05.07.17.55.07;	author stefanf;	state Exp;
branches;
next	1.37;

1.37
date	2003.10.25.09.32.18;	author des;	state Exp;
branches;
next	1.36;

1.36
date	2003.10.23.08.23.51;	author des;	state Exp;
branches;
next	1.35;

1.35
date	2003.08.17.08.28.46;	author gordon;	state Exp;
branches;
next	1.34;

1.34
date	2003.07.23.09.24.44;	author bde;	state Exp;
branches;
next	1.33;

1.33
date	2003.07.23.04.53.46;	author peter;	state Exp;
branches;
next	1.32;

1.32
date	2003.07.23.04.25.04;	author peter;	state Exp;
branches;
next	1.31;

1.31
date	2003.07.23.04.23.36;	author peter;	state Exp;
branches;
next	1.30;

1.30
date	2002.05.12.16.00.55;	author ru;	state Exp;
branches;
next	1.29;

1.29
date	2002.03.26.11.59.28;	author bde;	state Exp;
branches;
next	1.28;

1.28
date	2002.03.01.01.58.20;	author obrien;	state Exp;
branches;
next	1.27;

1.27
date	2001.12.13.17.18.26;	author phantom;	state Exp;
branches;
next	1.26;

1.26
date	2001.10.03.06.30.11;	author bde;	state Exp;
branches;
next	1.25;

1.25
date	2001.03.27.17.27.19;	author ru;	state Exp;
branches;
next	1.24;

1.24
date	2001.03.26.07.28.25;	author ru;	state Exp;
branches;
next	1.23;

1.23
date	99.08.28.00.06.05;	author peter;	state Exp;
branches
	1.23.2.1;
next	1.22;

1.22
date	98.12.24.13.17.58;	author dfr;	state Exp;
branches
	1.22.2.1;
next	1.21;

1.21
date	98.12.23.11.50.51;	author dfr;	state Exp;
branches;
next	1.20;

1.20
date	98.02.20.07.44.29;	author jb;	state Exp;
branches;
next	1.19;

1.19
date	97.04.15.14.05.28;	author bde;	state Exp;
branches;
next	1.18;

1.18
date	97.02.22.15.08.42;	author peter;	state Exp;
branches;
next	1.17;

1.17
date	97.02.20.13.34.56;	author bde;	state Exp;
branches;
next	1.16;

1.16
date	97.02.16.18.25.42;	author bde;	state Exp;
branches;
next	1.15;

1.15
date	97.02.15.14.05.42;	author jkh;	state Exp;
branches;
next	1.14;

1.14
date	97.02.15.05.21.16;	author bde;	state Exp;
branches;
next	1.13;

1.13
date	97.01.14.06.11.40;	author jkh;	state Exp;
branches;
next	1.12;

1.12
date	97.01.08.13.22.28;	author wollman;	state Exp;
branches;
next	1.11;

1.11
date	96.08.30.21.21.52;	author peter;	state Exp;
branches
	1.11.2.1;
next	1.10;

1.10
date	96.08.30.02.05.30;	author peter;	state Exp;
branches;
next	1.9;

1.9
date	96.02.09.00.48.52;	author mpp;	state Exp;
branches;
next	1.8;

1.8
date	96.02.09.00.45.39;	author mpp;	state Exp;
branches;
next	1.7;

1.7
date	95.10.22.19.16.01;	author bde;	state Exp;
branches;
next	1.6;

1.6
date	95.10.02.20.02.05;	author wollman;	state Exp;
branches;
next	1.5;

1.5
date	95.05.30.05.47.47;	author rgrimes;	state Exp;
branches
	1.5.4.1;
next	1.4;

1.4
date	95.03.08.01.41.40;	author bde;	state Exp;
branches;
next	1.3;

1.3
date	94.09.08.10.40.23;	author bde;	state Exp;
branches;
next	1.2;

1.2
date	94.08.19.11.15.40;	author jkh;	state Exp;
branches;
next	1.1;

1.1
date	94.08.19.09.39.40;	author jkh;	state Exp;
branches
	1.1.1.1;
next	;

1.115.2.1
date	2012.11.17.01.50.05;	author svnexp;	state dead;
branches;
next	1.115.2.2;

1.115.2.2
date	2013.03.28.13.03.23;	author svnexp;	state Exp;
branches;
next	;

1.110.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.110.2.1.2.1
	1.110.2.1.4.1;
next	1.110.2.2;

1.110.2.2
date	2012.11.17.11.36.27;	author svnexp;	state Exp;
branches;
next	1.110.2.3;

1.110.2.3
date	2014.03.26.08.02.10;	author svnexp;	state Exp;
branches;
next	;

1.110.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.110.2.1.2.2;

1.110.2.1.2.2
date	2012.11.17.08.36.27;	author svnexp;	state Exp;
branches;
next	;

1.110.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.110.2.1.4.2;

1.110.2.1.4.2
date	2012.11.17.08.47.16;	author svnexp;	state Exp;
branches;
next	;

1.98.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.98.2.1.2.1
	1.98.2.1.4.1
	1.98.2.1.6.1;
next	1.98.2.2;

1.98.2.2
date	2011.03.06.08.49.44;	author das;	state Exp;
branches;
next	1.98.2.3;

1.98.2.3
date	2011.03.06.08.52.23;	author das;	state Exp;
branches;
next	1.98.2.4;

1.98.2.4
date	2011.04.05.04.23.08;	author murray;	state Exp;
branches
	1.98.2.4.2.1;
next	1.98.2.5;

1.98.2.5
date	2012.11.17.10.36.11;	author svnexp;	state Exp;
branches;
next	;

1.98.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.98.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.98.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.98.2.4.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.98.2.4.2.2;

1.98.2.4.2.2
date	2012.11.17.08.24.52;	author svnexp;	state Exp;
branches;
next	;

1.78.2.1
date	2011.10.17.05.38.22;	author das;	state Exp;
branches;
next	1.78.2.2;

1.78.2.2
date	2012.11.17.08.03.07;	author svnexp;	state Exp;
branches;
next	;

1.78.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.78.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.78.10.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.78.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.78.12.2;

1.78.12.2
date	2012.11.17.08.16.51;	author svnexp;	state Exp;
branches;
next	;

1.71.2.1
date	2005.07.22.17.29.09;	author kensmith;	state Exp;
branches;
next	1.71.2.2;

1.71.2.2
date	2007.06.13.17.23.08;	author bde;	state Exp;
branches;
next	1.71.2.3;

1.71.2.3
date	2007.06.14.03.54.32;	author bde;	state Exp;
branches;
next	1.71.2.4;

1.71.2.4
date	2007.06.14.06.39.17;	author bde;	state Exp;
branches
	1.71.2.4.4.1;
next	1.71.2.5;

1.71.2.5
date	2012.11.17.07.40.44;	author svnexp;	state Exp;
branches;
next	;

1.71.2.4.4.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.51.2.1
date	2004.10.01.16.32.06;	author kensmith;	state Exp;
branches;
next	1.51.2.2;

1.51.2.2
date	2005.01.15.22.58.30;	author das;	state Exp;
branches;
next	1.51.2.3;

1.51.2.3
date	2005.03.01.03.57.18;	author das;	state Exp;
branches;
next	1.51.2.4;

1.51.2.4
date	2005.09.12.21.01.28;	author das;	state Exp;
branches;
next	;

1.23.2.1
date	2001.04.25.10.04.44;	author ru;	state Exp;
branches;
next	1.23.2.2;

1.23.2.2
date	2001.12.17.10.09.20;	author ru;	state Exp;
branches;
next	1.23.2.3;

1.23.2.3
date	2002.07.22.14.21.50;	author ru;	state Exp;
branches;
next	1.23.2.4;

1.23.2.4
date	2012.11.17.07.24.03;	author svnexp;	state Exp;
branches;
next	;

1.22.2.1
date	99.08.29.14.58.24;	author peter;	state Exp;
branches;
next	;

1.11.2.1
date	97.02.15.05.33.05;	author bde;	state Exp;
branches;
next	1.11.2.2;

1.11.2.2
date	97.02.15.14.07.05;	author jkh;	state Exp;
branches;
next	1.11.2.3;

1.11.2.3
date	97.02.23.11.02.55;	author joerg;	state Exp;
branches;
next	1.11.2.4;

1.11.2.4
date	97.03.03.14.20.58;	author bde;	state Exp;
branches;
next	1.11.2.5;

1.11.2.5
date	97.12.28.19.40.49;	author steve;	state Exp;
branches;
next	1.11.2.6;

1.11.2.6
date	99.09.05.11.17.11;	author peter;	state Exp;
branches;
next	;

1.5.4.1
date	97.02.15.05.38.02;	author bde;	state Exp;
branches;
next	1.5.4.2;

1.5.4.2
date	97.02.15.14.30.02;	author bde;	state Exp;
branches;
next	1.5.4.3;

1.5.4.3
date	99.09.05.11.18.44;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	94.08.19.09.39.41;	author jkh;	state Exp;
branches;
next	;


desc
@@


1.122
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251599
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@#  @@(#)Makefile 5.1beta 93/09/24
# $FreeBSD: head/lib/msun/Makefile 251599 2013-06-10 06:04:58Z das $
#
#  ====================================================
#  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
#
#  Developed at SunPro, a Sun Microsystems, Inc. business.
#  Permission to use, copy, modify, and distribute this
#  software is freely granted, provided that this notice
#  is preserved.
#  ====================================================
#
#

.if ${MACHINE_CPUARCH} == "i386"
ARCH_SUBDIR= i387
.else
ARCH_SUBDIR= ${MACHINE_CPUARCH}
.endif

.include "${ARCH_SUBDIR}/Makefile.inc"

.PATH:	${.CURDIR}/${ARCH_SUBDIR}
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
.PATH:	${.CURDIR}/x86
CFLAGS+=	-I${.CURDIR}/x86
.endif

# long double format
.if ${LDBL_PREC} == 64
.PATH:  ${.CURDIR}/ld80
CFLAGS+=	-I${.CURDIR}/ld80
.elif ${LDBL_PREC} == 113
.PATH:  ${.CURDIR}/ld128
CFLAGS+=	-I${.CURDIR}/ld128
.endif

.PATH:	${.CURDIR}/bsdsrc
.PATH:	${.CURDIR}/src
.PATH:	${.CURDIR}/man

LIB=	m
SHLIBDIR?= /lib
SHLIB_MAJOR= 5
WARNS?=	1
COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
	e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
	e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \
	e_expf.c e_fmod.c e_fmodf.c e_gamma.c e_gamma_r.c e_gammaf.c \
	e_gammaf_r.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c e_j1.c e_j1f.c \
	e_jn.c e_jnf.c e_lgamma.c e_lgamma_r.c e_lgammaf.c e_lgammaf_r.c \
	e_log.c e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c \
	e_pow.c e_powf.c e_rem_pio2.c \
	e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c e_scalbf.c \
	e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c fenv.c \
	k_cos.c k_cosf.c k_exp.c k_expf.c k_rem_pio2.c k_sin.c k_sinf.c \
	k_tan.c k_tanf.c \
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c s_cargl.c \
	s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c \
	s_copysign.c s_copysignf.c s_cos.c s_cosf.c \
	s_csqrt.c s_csqrtf.c s_erf.c s_erff.c \
	s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c \
	s_finite.c s_finitef.c \
	s_floor.c s_floorf.c s_fma.c s_fmaf.c \
	s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
	s_fminf.c s_fminl.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \
	s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \
	s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \
	s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \
	s_lround.c s_lroundf.c s_lroundl.c s_modff.c \
	s_nan.c s_nearbyint.c s_nextafter.c s_nextafterf.c \
	s_nexttowardf.c s_remquo.c s_remquof.c \
	s_rint.c s_rintf.c s_round.c s_roundf.c s_roundl.c \
	s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \
	s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c \
	s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_tgammaf.c s_trunc.c s_truncf.c \
	w_cabs.c w_cabsf.c w_drem.c w_dremf.c

# Location of fpmath.h and _fpmath.h
LIBCDIR=	${.CURDIR}/../libc
.if exists(${LIBCDIR}/${MACHINE_ARCH})
LIBC_ARCH=${MACHINE_ARCH}
.else
LIBC_ARCH=${MACHINE_CPUARCH}
.endif
CFLAGS+=	-I${.CURDIR}/src -I${LIBCDIR}/include \
	-I${LIBCDIR}/${LIBC_ARCH}
SYM_MAPS+=	${.CURDIR}/Symbol.map

VERSION_DEF=	${LIBCDIR}/Versions.def
SYMBOL_MAPS=	${SYM_MAPS}

# C99 long double functions
COMMON_SRCS+=	s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c
.if ${LDBL_PREC} != 53
# If long double != double use these; otherwise, we alias the double versions.
COMMON_SRCS+=	e_acoshl.c e_acosl.c e_asinl.c e_atan2l.c e_atanhl.c \
	e_fmodl.c e_hypotl.c e_remainderl.c e_sqrtl.c \
	invtrig.c k_cosl.c k_sinl.c k_tanl.c \
	s_asinhl.c s_atanl.c s_cbrtl.c s_ceill.c s_cosl.c s_cprojl.c \
	s_csqrtl.c s_exp2l.c s_expl.c s_floorl.c s_fmal.c \
	s_frexpl.c s_logbl.c s_logl.c s_nanl.c s_nextafterl.c \
	s_nexttoward.c s_remquol.c s_rintl.c s_scalbnl.c \
	s_sinl.c s_tanl.c s_truncl.c w_cabsl.c
.endif

# C99 complex functions
COMMON_SRCS+=	catrig.c catrigf.c \
	s_ccosh.c s_ccoshf.c s_cexp.c s_cexpf.c \
	s_cimag.c s_cimagf.c s_cimagl.c \
	s_conj.c s_conjf.c s_conjl.c \
	s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_creall.c \
	s_csinh.c s_csinhf.c s_ctanh.c s_ctanhf.c

# FreeBSD's C library supplies these functions:
#COMMON_SRCS+=	s_fabs.c s_frexp.c s_isnan.c s_ldexp.c s_modf.c

# Exclude the generic versions of what we provide in the MD area.
.if defined(ARCH_SRCS)
.for i in ${ARCH_SRCS}
COMMON_SRCS:=  ${COMMON_SRCS:N${i:R}.c}
.endfor
.endif

SRCS=	${COMMON_SRCS} ${ARCH_SRCS}

INCS+=	fenv.h math.h

MAN=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 \
	ceil.3 cacos.3 ccos.3 ccosh.3 cexp.3 \
	cimag.3 copysign.3 cos.3 cosh.3 csqrt.3 erf.3 exp.3 fabs.3 fdim.3 \
	feclearexcept.3 feenableexcept.3 fegetenv.3 \
	fegetround.3 fenv.3 floor.3 \
	fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \
	lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \
	nextafter.3 remainder.3 rint.3 \
	round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3 \
	complex.3

MLINKS+=acos.3 acosf.3 acos.3 acosl.3
MLINKS+=acosh.3 acoshf.3 acosh.3 acoshl.3
MLINKS+=asin.3 asinf.3 asin.3 asinl.3
MLINKS+=asinh.3 asinhf.3 asinh.3 asinhl.3
MLINKS+=atan.3 atanf.3 atan.3 atanl.3
MLINKS+=atanh.3 atanhf.3 atanh.3 atanhl.3
MLINKS+=atan2.3 atan2f.3 atan2.3 atan2l.3 \
	atan2.3 carg.3 atan2.3 cargf.3 atan2.3 cargl.3
MLINKS+=cacos.3 cacosf.3 cacos.3 cacosh.3 cacos.3 cacoshf.3 \
	cacos.3 casin.3 cacos.3 casinf.3 cacos.3 casinh.3 cacos.3 casinhf.3 \
	cacos.3 catan.3 cacos.3 catanf.3 cacos.3 catanh.3 cacos.3 catanhf.3
MLINKS+=ccos.3 ccosf.3 ccos.3 csin.3 ccos.3 csinf.3 ccos.3 ctan.3 ccos.3 ctanf.3
MLINKS+=ccosh.3 ccoshf.3 ccosh.3 csinh.3 ccosh.3 csinhf.3 \
	ccosh.3 ctanh.3 ccosh.3 ctanhf.3
MLINKS+=ceil.3 ceilf.3 ceil.3 ceill.3
MLINKS+=cexp.3 cexpf.3
MLINKS+=cimag.3 cimagf.3 cimag.3 cimagl.3 \
	cimag.3 conj.3 cimag.3 conjf.3 cimag.3 conjl.3 \
	cimag.3 cproj.3 cimag.3 cprojf.3 cimag.3 cprojl.3 \
	cimag.3 creal.3 cimag.3 crealf.3 cimag.3 creall.3
MLINKS+=copysign.3 copysignf.3 copysign.3 copysignl.3
MLINKS+=cos.3 cosf.3 cos.3 cosl.3
MLINKS+=cosh.3 coshf.3
MLINKS+=csqrt.3 csqrtf.3 csqrt.3 csqrtl.3
MLINKS+=erf.3 erfc.3 erf.3 erff.3 erf.3 erfcf.3
MLINKS+=exp.3 expm1.3 exp.3 expm1f.3 exp.3 expm1l.3 exp.3 pow.3 exp.3 powf.3 \
	exp.3 exp2.3 exp.3 exp2f.3 exp.3 exp2l.3 exp.3 expf.3 exp.3 expl.3
MLINKS+=fabs.3 fabsf.3 fabs.3 fabsl.3
MLINKS+=fdim.3 fdimf.3 fdim.3 fdiml.3
MLINKS+=feclearexcept.3 fegetexceptflag.3 feclearexcept.3 feraiseexcept.3 \
	feclearexcept.3 fesetexceptflag.3 feclearexcept.3 fetestexcept.3
MLINKS+=feenableexcept.3 fedisableexcept.3 feenableexcept.3 fegetexcept.3
MLINKS+=fegetenv.3 feholdexcept.3 fegetenv.3 fesetenv.3 \
	fegetenv.3 feupdateenv.3
MLINKS+=fegetround.3 fesetround.3
MLINKS+=floor.3 floorf.3 floor.3 floorl.3
MLINKS+=fma.3 fmaf.3 fma.3 fmal.3
MLINKS+=fmax.3 fmaxf.3 fmax.3 fmaxl.3 \
	fmax.3 fmin.3 fmax.3 fminf.3 fmax.3 fminl.3
MLINKS+=fmod.3 fmodf.3 fmod.3 fmodl.3
MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 cabsl.3 \
	hypot.3 hypotf.3 hypot.3 hypotl.3
MLINKS+=ieee_test.3 scalb.3 ieee_test.3 scalbf.3
MLINKS+=ieee_test.3 significand.3 ieee_test.3 significandf.3
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3 \
	ilogb.3 logb.3 ilogb.3 logbf.3 ilogb.3 logbl.3
MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 y1f.3 j0.3 yn.3
MLINKS+=j0.3 j0f.3 j0.3 j1f.3 j0.3 jnf.3 j0.3 y0f.3 j0.3 ynf.3
MLINKS+=lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 lgammaf.3 \
	lgamma.3 tgamma.3 lgamma.3 tgammaf.3
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log10l.3 \
	log.3 log1p.3 log.3 log1pf.3 log.3 log1pl.3 \
	log.3 logf.3 log.3 logl.3 \
	log.3 log2.3 log.3 log2f.3 log.3 log2l.3
MLINKS+=lrint.3 llrint.3 lrint.3 llrintf.3 lrint.3 llrintl.3 \
	lrint.3 lrintf.3 lrint.3 lrintl.3
MLINKS+=lround.3 llround.3 lround.3 llroundf.3 lround.3 llroundl.3 \
	lround.3 lroundf.3 lround.3 lroundl.3
MLINKS+=nan.3 nanf.3 nan.3 nanl.3
MLINKS+=nextafter.3 nextafterf.3 nextafter.3 nextafterl.3
MLINKS+=nextafter.3 nexttoward.3 nextafter.3 nexttowardf.3
MLINKS+=nextafter.3 nexttowardl.3
MLINKS+=remainder.3 remainderf.3 remainder.3 remainderl.3 \
	remainder.3 remquo.3 remainder.3 remquof.3 remainder.3 remquol.3
MLINKS+=rint.3 rintf.3 rint.3 rintl.3 \
	rint.3 nearbyint.3 rint.3 nearbyintf.3 rint.3 nearbyintl.3
MLINKS+=round.3 roundf.3 round.3 roundl.3
MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalblnl.3
MLINKS+=scalbn.3 scalbnf.3 scalbn.3 scalbnl.3
MLINKS+=sin.3 sinf.3 sin.3 sinl.3
MLINKS+=sinh.3 sinhf.3
MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 cbrtl.3 sqrt.3 sqrtf.3 \
	sqrt.3 sqrtl.3
MLINKS+=tan.3 tanf.3 tan.3 tanl.3
MLINKS+=tanh.3 tanhf.3
MLINKS+=trunc.3 truncf.3 trunc.3 truncl.3

.include <bsd.lib.mk>
@


1.121
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251404
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 251404 2013-06-05 05:33:01Z das $
d97 2
a98 2
COMMON_SRCS+=	e_acosl.c e_asinl.c e_atan2l.c e_fmodl.c \
	e_hypotl.c e_remainderl.c e_sqrtl.c \
d100 1
a100 1
	s_atanl.c s_cbrtl.c s_ceill.c s_cosl.c s_cprojl.c \
d141 1
a141 1
MLINKS+=acosh.3 acoshf.3
d143 1
a143 1
MLINKS+=asinh.3 asinhf.3
d145 1
a145 1
MLINKS+=atanh.3 atanhf.3
@


1.120
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251366
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 251366 2013-06-04 05:41:38Z das $
d24 4
a41 4
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
.PATH:	${.CURDIR}/x86
.endif

d190 3
a192 2
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log10l.3 log.3 \
	log1p.3 log.3 log1pf.3 log.3 log1pl.3 log.3 logf.3 log.3 logl.3 \
@


1.119
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251292
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 251292 2013-06-03 09:14:31Z das $
d165 2
a166 2
MLINKS+=exp.3 expm1.3 exp.3 expm1f.3 exp.3 pow.3 exp.3 powf.3 \
	exp.3 exp2.3 exp.3 exp2f.3 exp.3 exp2l.3 exp.3 expf.3
@


1.118
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251121
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 251121 2013-05-30 04:49:26Z das $
d102 2
a103 2
	s_frexpl.c s_logbl.c s_nanl.c s_nextafterl.c s_nexttoward.c \
	s_remquol.c s_rintl.c s_scalbnl.c \
d190 3
a192 1
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log1p.3 log.3 log1pf.3 log.3 logf.3 log.3 log2.3 log.3 log2f.3
@


1.117
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251024
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 251024 2013-05-27 08:50:10Z das $
d108 2
a109 1
COMMON_SRCS+=	s_ccosh.c s_ccoshf.c s_cexp.c s_cexpf.c \
d130 1
a130 1
	ceil.3 ccos.3 ccosh.3 cexp.3 \
d148 3
@


1.116
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249724
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 249724 2013-04-21 13:31:55Z kib $
a123 6
# Some files need certain gcc built-in functions to be disabled, since gcc's
# model of the functions bogusly assumes -fno-trapping-math.
XRINT_CFLAGS=	-fno-builtin-rint -fno-builtin-rintf -fno-builtin-rintl
CFLAGS+=	${XRINT_CFLAGS}
XRINT_CFLAGS:=	${.IMPSRC:M*/s_nearbyint.c:C/^.+$/${XRINT_CFLAGS}/:C/^$//}

@


1.115
log
@Switching exporter and resync
@
text
@d2 1
a2 1
# $FreeBSD: head/lib/msun/Makefile 238724 2012-07-23 19:23:49Z kargl $
d38 4
@


1.115.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:23 +0000
@
text
@d1 212
@


1.115.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 198
#  @@(#)Makefile 5.1beta 93/09/24
# $FreeBSD: releng/8.4/lib/msun/Makefile 220353 2011-04-05 04:23:08Z murray $
#
#  ====================================================
#  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
#
#  Developed at SunPro, a Sun Microsystems, Inc. business.
#  Permission to use, copy, modify, and distribute this
#  software is freely granted, provided that this notice
#  is preserved.
#  ====================================================
#
#

.if ${MACHINE_ARCH} == "i386"
ARCH_SUBDIR= i387
.else
ARCH_SUBDIR= ${MACHINE_ARCH}
.endif

.include "${ARCH_SUBDIR}/Makefile.inc"

.PATH:	${.CURDIR}/${ARCH_SUBDIR}

# long double format
.if ${LDBL_PREC} == 64
.PATH:  ${.CURDIR}/ld80
CFLAGS+=	-I${.CURDIR}/ld80
.elif ${LDBL_PREC} == 113
.PATH:  ${.CURDIR}/ld128
CFLAGS+=	-I${.CURDIR}/ld128
.endif

.PATH:	${.CURDIR}/bsdsrc
.PATH:	${.CURDIR}/src
.PATH:	${.CURDIR}/man

LIB=	m
SHLIBDIR?= /lib
SHLIB_MAJOR= 5
WARNS?=	1
COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
	e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
	e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \
	e_expf.c e_fmod.c e_fmodf.c e_gamma.c e_gamma_r.c e_gammaf.c \
	e_gammaf_r.c e_hypot.c e_hypotf.c e_j0.c e_j0f.c e_j1.c e_j1f.c \
	e_jn.c e_jnf.c e_lgamma.c e_lgamma_r.c e_lgammaf.c e_lgammaf_r.c \
	e_log.c e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c \
	e_pow.c e_powf.c e_rem_pio2.c \
	e_rem_pio2f.c e_remainder.c e_remainderf.c e_scalb.c e_scalbf.c \
	e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c fenv.c \
	k_cos.c k_cosf.c k_rem_pio2.c k_sin.c k_sinf.c \
	k_tan.c k_tanf.c \
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c s_cargl.c \
	s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c \
	s_copysign.c s_copysignf.c s_cos.c s_cosf.c \
	s_csqrt.c s_csqrtf.c s_erf.c s_erff.c \
	s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c \
	s_finite.c s_finitef.c \
	s_floor.c s_floorf.c s_fma.c s_fmaf.c \
	s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
	s_fminf.c s_fminl.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \
	s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c \
	s_llrint.c s_llrintf.c s_llround.c s_llroundf.c s_llroundl.c \
	s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \
	s_lround.c s_lroundf.c s_lroundl.c s_modff.c \
	s_nan.c s_nearbyint.c s_nextafter.c s_nextafterf.c \
	s_nexttowardf.c s_remquo.c s_remquof.c \
	s_rint.c s_rintf.c s_round.c s_roundf.c s_roundl.c \
	s_scalbln.c s_scalbn.c s_scalbnf.c s_signbit.c \
	s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c \
	s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_tgammaf.c s_trunc.c s_truncf.c \
	w_cabs.c w_cabsf.c w_drem.c w_dremf.c

# Location of fpmath.h and _fpmath.h
LIBCDIR=	${.CURDIR}/../libc
CFLAGS+=	-I${.CURDIR}/src -I${LIBCDIR}/include \
	-I${LIBCDIR}/${MACHINE_ARCH}
SYM_MAPS+=	${.CURDIR}/Symbol.map

VERSION_DEF=	${LIBCDIR}/Versions.def
SYMBOL_MAPS=	${SYM_MAPS}

# C99 long double functions
COMMON_SRCS+=	s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c
.if ${LDBL_PREC} != 53
# If long double != double use these; otherwise, we alias the double versions.
COMMON_SRCS+=	e_acosl.c e_asinl.c e_atan2l.c e_fmodl.c \
	e_hypotl.c e_remainderl.c e_sqrtl.c \
	invtrig.c k_cosl.c k_sinl.c k_tanl.c \
	s_atanl.c s_ceill.c s_cosl.c s_cprojl.c s_csqrtl.c s_exp2l.c \
	s_floorl.c s_fmal.c \
	s_frexpl.c s_logbl.c s_nanl.c s_nextafterl.c s_nexttoward.c \
	s_remquol.c s_rintl.c s_scalbnl.c \
	s_sinl.c s_tanl.c s_truncl.c w_cabsl.c
.endif

# C99 complex functions
COMMON_SRCS+=	s_cimag.c s_cimagf.c s_cimagl.c s_conj.c s_conjf.c s_conjl.c \
	s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_creall.c

# FreeBSD's C library supplies these functions:
#COMMON_SRCS+=	s_fabs.c s_frexp.c s_isnan.c s_ldexp.c s_modf.c

# Exclude the generic versions of what we provide in the MD area.
.if defined(ARCH_SRCS)
.for i in ${ARCH_SRCS}
COMMON_SRCS:=  ${COMMON_SRCS:N${i:R}.c}
.endfor
.endif

# Some files need certain gcc built-in functions to be disabled, since gcc's
# model of the functions bogusly assumes -fno-trapping-math.
XRINT_CFLAGS=	-fno-builtin-rint -fno-builtin-rintf -fno-builtin-rintl
CFLAGS+=	${XRINT_CFLAGS}
XRINT_CFLAGS:=	${.IMPSRC:M*/s_nearbyint.c:C/^.+$/${XRINT_CFLAGS}/:C/^$//}

SRCS=	${COMMON_SRCS} ${ARCH_SRCS}

INCS=	fenv.h math.h

MAN=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
	cimag.3 copysign.3 cos.3 cosh.3 csqrt.3 erf.3 exp.3 fabs.3 fdim.3 \
	feclearexcept.3 feenableexcept.3 fegetenv.3 \
	fegetround.3 fenv.3 floor.3 \
	fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \
	lgamma.3 log.3 lrint.3 lround.3 math.3 nan.3 \
	nextafter.3 remainder.3 rint.3 \
	round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3 \
	complex.3

MLINKS+=acos.3 acosf.3 acos.3 acosl.3
MLINKS+=acosh.3 acoshf.3
MLINKS+=asin.3 asinf.3 asin.3 asinl.3
MLINKS+=asinh.3 asinhf.3
MLINKS+=atan.3 atanf.3 atan.3 atanl.3
MLINKS+=atanh.3 atanhf.3
MLINKS+=atan2.3 atan2f.3 atan2.3 atan2l.3 \
	atan2.3 carg.3 atan2.3 cargf.3 atan2.3 cargl.3
MLINKS+=ceil.3 ceilf.3 ceil.3 ceill.3
MLINKS+=cimag.3 cimagf.3 cimag.3 cimagl.3 \
	cimag.3 conj.3 cimag.3 conjf.3 cimag.3 conjl.3 \
	cimag.3 cproj.3 cimag.3 cprojf.3 cimag.3 cprojl.3 \
	cimag.3 creal.3 cimag.3 crealf.3 cimag.3 creall.3
MLINKS+=copysign.3 copysignf.3 copysign.3 copysignl.3
MLINKS+=cos.3 cosf.3 cos.3 cosl.3
MLINKS+=cosh.3 coshf.3
MLINKS+=csqrt.3 csqrtf.3 csqrt.3 csqrtl.3
MLINKS+=erf.3 erfc.3 erf.3 erff.3 erf.3 erfcf.3
MLINKS+=exp.3 expm1.3 exp.3 expm1f.3 exp.3 pow.3 exp.3 powf.3 \
	exp.3 exp2.3 exp.3 exp2f.3 exp.3 exp2l.3 exp.3 expf.3
MLINKS+=fabs.3 fabsf.3 fabs.3 fabsl.3
MLINKS+=fdim.3 fdimf.3 fdim.3 fdiml.3
MLINKS+=feclearexcept.3 fegetexceptflag.3 feclearexcept.3 feraiseexcept.3 \
	feclearexcept.3 fesetexceptflag.3 feclearexcept.3 fetestexcept.3
MLINKS+=feenableexcept.3 fedisableexcept.3 feenableexcept.3 fegetexcept.3
MLINKS+=fegetenv.3 feholdexcept.3 fegetenv.3 fesetenv.3 \
	fegetenv.3 feupdateenv.3
MLINKS+=fegetround.3 fesetround.3
MLINKS+=floor.3 floorf.3 floor.3 floorl.3
MLINKS+=fma.3 fmaf.3 fma.3 fmal.3
MLINKS+=fmax.3 fmaxf.3 fmax.3 fmaxl.3 \
	fmax.3 fmin.3 fmax.3 fminf.3 fmax.3 fminl.3
MLINKS+=fmod.3 fmodf.3 fmod.3 fmodl.3
MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 cabsl.3 \
	hypot.3 hypotf.3 hypot.3 hypotl.3
MLINKS+=ieee_test.3 scalb.3 ieee_test.3 scalbf.3
MLINKS+=ieee_test.3 significand.3 ieee_test.3 significandf.3
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3 \
	ilogb.3 logb.3 ilogb.3 logbf.3 ilogb.3 logbl.3
MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 y1f.3 j0.3 yn.3
MLINKS+=j0.3 j0f.3 j0.3 j1f.3 j0.3 jnf.3 j0.3 y0f.3 j0.3 ynf.3
MLINKS+=lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 lgammaf.3 \
	lgamma.3 tgamma.3 lgamma.3 tgammaf.3
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log1p.3 log.3 log1pf.3 log.3 logf.3 log.3 log2.3 log.3 log2f.3
MLINKS+=lrint.3 llrint.3 lrint.3 llrintf.3 lrint.3 llrintl.3 \
	lrint.3 lrintf.3 lrint.3 lrintl.3
MLINKS+=lround.3 llround.3 lround.3 llroundf.3 lround.3 llroundl.3 \
	lround.3 lroundf.3 lround.3 lroundl.3
MLINKS+=nan.3 nanf.3 nan.3 nanl.3
MLINKS+=nextafter.3 nextafterf.3 nextafter.3 nextafterl.3
MLINKS+=nextafter.3 nexttoward.3 nextafter.3 nexttowardf.3
MLINKS+=nextafter.3 nexttowardl.3
MLINKS+=remainder.3 remainderf.3 remainder.3 remainderl.3 \
	remainder.3 remquo.3 remainder.3 remquof.3 remainder.3 remquol.3
MLINKS+=rint.3 rintf.3 rint.3 rintl.3 \
	rint.3 nearbyint.3 rint.3 nearbyintf.3 rint.3 nearbyintl.3
MLINKS+=round.3 roundf.3 round.3 roundl.3
MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalblnl.3
MLINKS+=scalbn.3 scalbnf.3 scalbn.3 scalbnl.3
MLINKS+=sin.3 sinf.3 sin.3 sinl.3
MLINKS+=sinh.3 sinhf.3
MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3 sqrt.3 sqrtl.3
MLINKS+=tan.3 tanf.3 tan.3 tanl.3
MLINKS+=tanh.3 tanhf.3
MLINKS+=trunc.3 truncf.3 trunc.3 truncl.3

.include <bsd.lib.mk>
@


1.114
log
@SVN rev 238724 on 2012-07-23 19:23:49Z by kargl

Hook ld80/s_expl.c or ld128/s_expl.c into the building of libm.

PR: standards/152415
Approved by: das (mentor)
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.113
log
@SVN rev 230192 on 2012-01-16 04:09:17Z by das

Add an implementation of fenv.h intended for platforms that lack an FPU and
use softfloat.

Thanks to Ian Lepore for testing and debugging this patch.  The fenv
regression tests pass (at least for Ian's arm chip) with this change.
@
text
@d97 1
a97 1
	s_csqrtl.c s_exp2l.c s_floorl.c s_fmal.c \
@


1.112
log
@SVN rev 226597 on 2011-10-21 06:27:56Z by das

The cexp() and {,c}{cos,sin}h functions all need to be able to compute
exp(x) scaled down by some factor, and the challenge is doing this
accurately when exp(x) would overflow.  This change replaces all of
the tricks we've been using with common __ldexp_exp() and
__ldexp_cexp() routines that handle all the scaling.

bde plans to improve on this further by moving the guts of exp() into
k_exp.c and handling the scaling in a more direct manner.  But the
current approach is simple and adequate for now.
@
text
@d128 1
a128 1
INCS=	fenv.h math.h
@


1.111
log
@SVN rev 226458 on 2011-10-17 05:41:03Z by das

Add c{cos,sin,tan}{,h}{,f} functions.  This is joint work with
bde and kargl.
@
text
@d52 1
a52 1
	k_cos.c k_cosf.c k_rem_pio2.c k_sin.c k_sinf.c \
@


1.110
log
@SVN rev 219576 on 2011-03-12 19:37:35Z by kargl

Take two.  Add the missing file that should have been committed
with r219571 and re-enable building of cbrtl.

Implement the long double version for the cube root function, cbrtl.
The algorithm uses Newton's iterations with a crude estimate of the
cube root to converge to a result.

Reviewed by:    bde
Approved by:    das
@
text
@d104 2
a105 1
COMMON_SRCS+=	s_cexp.c s_cexpf.c s_cimag.c s_cimagf.c s_cimagl.c \
d107 2
a108 1
	s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_creall.c
d130 2
a131 1
MAN=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 cexp.3 \
d149 3
@


1.110.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.110.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/lib/msun/Makefile 219576 2011-03-12 19:37:35Z kargl $
@


1.110.2.3
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/263764
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d2 1
a2 1
# $FreeBSD: stable/9/lib/msun/Makefile 263764 2014-03-26 07:35:24Z dim $
a41 1
IGNORE_PRAGMA=
@


1.110.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.110.2.1.4.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.1/lib/msun/Makefile 219576 2011-03-12 19:37:35Z kargl $
@


1.110.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.110.2.1.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/9.0/lib/msun/Makefile 219576 2011-03-12 19:37:35Z kargl $
@


1.109
log
@SVN rev 219572 on 2011-03-12 17:03:41Z by kargl

Temporary disable the building of cbrtl until I
can determine why svn will not allow one to commit
a new file.

Approved by:	das (implicit)
@
text
@d96 1
a96 1
	s_atanl.c s_ceill.c s_cosl.c s_cprojl.c \
@


1.108
log
@SVN rev 219571 on 2011-03-12 16:50:39Z by kargl

Implement the long double version for the cube root function, cbrtl.
The algorithm uses Newton's iterations with a crude estimate of the
cube root to converge to a result.

Reviewed by:	bde
Approved by:	das
@
text
@d96 1
a96 1
	s_atanl.c s_cbrtl.c s_ceill.c s_cosl.c s_cprojl.c \
@


1.107
log
@SVN rev 219359 on 2011-03-07 03:09:24Z by das

Add cexp() and cexpf().

Reviewed by:	bde (earlier version)
@
text
@d96 2
a97 2
	s_atanl.c s_ceill.c s_cosl.c s_cprojl.c s_csqrtl.c s_exp2l.c \
	s_floorl.c s_fmal.c \
d200 2
a201 1
MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3 sqrt.3 sqrtl.3
@


1.106
log
@SVN rev 218877 on 2011-02-20 05:29:00Z by murray

Add complex(3) manual page documenting our partial support for C99
complex arithmetic in libm.

Reviewed by:	David Schultz <das@@FreeBSD.org>
MFC after:	2 weeks
@
text
@d104 2
a105 1
COMMON_SRCS+=	s_cimag.c s_cimagf.c s_cimagl.c s_conj.c s_conjf.c s_conjl.c \
d128 1
a128 1
MAN=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
d147 1
@


1.105
log
@SVN rev 216211 on 2010-12-05 22:11:22Z by das

Add log2() and log2f().
@
text
@d134 2
a135 1
	round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3
@


1.104
log
@SVN rev 216137 on 2010-12-03 00:05:49Z by das

Disable gcc's built-in rint() function when compiling s_nearbyint.c.
It results in incorrect optimizations that break nearbyint().

PR:		143358
Reviewed by:	bde
@
text
@d48 2
a49 1
	e_log.c e_log10.c e_log10f.c e_logf.c e_pow.c e_powf.c e_rem_pio2.c \
d179 1
a179 1
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log1p.3 log.3 log1pf.3 log.3 logf.3
@


1.103
log
@SVN rev 212531 on 2010-09-13 04:23:23Z by imp

This is exactly the same as the .else, so remove it.
@
text
@d116 6
@


1.102
log
@SVN rev 212518 on 2010-09-13 01:44:56Z by imp

MFtbemd: Move to using MACHINE_CPUARCH, now that it is safe.
@
text
@a16 2
.elif ${MACHINE_ARCH} == "powerpc64"
ARCH_SUBDIR= powerpc
@


1.101
log
@SVN rev 211934 on 2010-08-28 15:03:11Z by nwhitehorn

Repair some build breakage introduced in r211725 and garbage collect some
code made obsolete in the same commit.
@
text
@d15 1
a15 1
.if ${MACHINE_ARCH} == "i386"
d20 1
a20 1
ARCH_SUBDIR= ${MACHINE_ARCH}
@


1.100
log
@SVN rev 211725 on 2010-08-23 22:24:11Z by imp

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
@
text
@d78 5
d84 1
a84 1
	-I${LIBCDIR}/${MACHINE_CPUARCH}
@


1.99
log
@SVN rev 209877 on 2010-07-10 14:40:57Z by nwhitehorn

powerpc64 floating-point is identical to powerpc, so use the same
code on both architectures.
@
text
@d79 1
a79 1
	-I${LIBCDIR}/${MACHINE_ARCH}
@


1.98
log
@SVN rev 181377 on 2008-08-07 15:07:48Z by das

Implement cproj{,f,l}().
@
text
@d17 2
@


1.98.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.98.2.2
log
@SVN rev 219323 on 2011-03-06 08:49:44Z by das

MFC
  r216210: refactor log(3)
  r216211: add log2(3) and log2f(3)
@
text
@d48 1
a48 2
	e_log.c e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c \
	e_pow.c e_powf.c e_rem_pio2.c \
d167 1
a167 1
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log1p.3 log.3 log1pf.3 log.3 logf.3 log.3 log2.3 log.3 log2f.3
@


1.98.2.3
log
@SVN rev 219325 on 2011-03-06 08:52:23Z by das

MFC r216137:
  Disable gcc's built-in rint() function when compiling s_nearbyint.c.
  It results in incorrect optimizations that break nearbyint().
@
text
@a111 6
# Some files need certain gcc built-in functions to be disabled, since gcc's
# model of the functions bogusly assumes -fno-trapping-math.
XRINT_CFLAGS=	-fno-builtin-rint -fno-builtin-rintf -fno-builtin-rintl
CFLAGS+=	${XRINT_CFLAGS}
XRINT_CFLAGS:=	${.IMPSRC:M*/s_nearbyint.c:C/^.+$/${XRINT_CFLAGS}/:C/^$//}

@


1.98.2.4
log
@SVN rev 220353 on 2011-04-05 04:23:08Z by murray

MFC r218877 from head:  Document our complex(3) support in libm.
@
text
@d129 1
a129 2
	round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3 \
	complex.3
@


1.98.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d2 1
a2 1
# $FreeBSD: stable/8/lib/msun/Makefile 220353 2011-04-05 04:23:08Z murray $
@


1.98.2.4.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.98.2.4.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/8.3/lib/msun/Makefile 220353 2011-04-05 04:23:08Z murray $
@


1.98.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.98.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.98.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.97
log
@SVN rev 181074 on 2008-07-31 22:41:26Z by das

Add implementations of acosl(), asinl(), atanl(), atan2l(),
and cargl().

Reviewed by:			bde
sparc64 testing resources from:	remko
@
text
@d90 2
a91 1
	s_atanl.c s_ceill.c s_cosl.c s_csqrtl.c s_exp2l.c s_floorl.c s_fmal.c \
d99 1
a99 1
	s_creal.c s_crealf.c s_creall.c
d135 1
@


1.96
log
@SVN rev 181064 on 2008-07-31 20:11:37Z by das

Set WARNS=1.

I believe I've committed all the bits necessary to make this compile
on all supported architectures. :crosses fingers:
@
text
@d28 1
d31 1
d53 1
a53 1
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c \
d87 4
a90 3
COMMON_SRCS+=	e_fmodl.c e_hypotl.c e_remainderl.c e_sqrtl.c \
	k_cosl.c k_sinl.c k_tanl.c \
	s_ceill.c s_cosl.c s_csqrtl.c s_exp2l.c s_floorl.c s_fmal.c \
d123 1
a123 1
MLINKS+=acos.3 acosf.3
d125 1
a125 1
MLINKS+=asin.3 asinf.3
d127 1
a127 1
MLINKS+=atan.3 atanf.3
d129 2
a130 1
MLINKS+=atan2.3 atan2f.3 atan2.3 carg.3 atan2.3 cargf.3
@


1.95
log
@SVN rev 180581 on 2008-07-18 02:18:34Z by das

Sort the .PATH entries to give a more reasonable order of precedence:
     1. architecture-specific files
     2. long double format-specific files
     3. bsdsrc
     4. src
     5. man
The original order was virtually the opposite of this.

This should not cause any functional changes at this time. The
difference is only significant when one wants to override, say, a
generic foo.c with a more specialized foo.c (as opposed to foo.S).
@
text
@d39 1
@


1.94
log
@SVN rev 179882 on 2008-06-19 22:39:53Z by das

Implement fmodl.
Document fmodl and fix some errors in the fmod manpage.
@
text
@d23 1
a23 3
.PATH:	${.CURDIR}/bsdsrc
.PATH:	${.CURDIR}/man
.PATH:	${.CURDIR}/src
d32 4
a99 1
.PATH:	${.CURDIR}/${ARCH_SUBDIR}
@


1.93
log
@Hook remquol() and remainderl() up to the build.
@
text
@d82 1
a82 1
COMMON_SRCS+=	e_hypotl.c e_remainderl.c e_sqrtl.c \
d148 1
a148 1
MLINKS+=fmod.3 fmodf.3
@


1.92
log
@Implement csqrtl().
@
text
@d82 2
a83 1
COMMON_SRCS+=	e_hypotl.c e_sqrtl.c k_cosl.c k_sinl.c k_tanl.c \
d86 2
a87 1
	s_rintl.c s_scalbnl.c s_sinl.c s_tanl.c s_truncl.c w_cabsl.c
d168 2
a169 2
MLINKS+=remainder.3 remainderf.3
MLINKS+=remainder.3 remquo.3 remainder.3 remquof.3
@


1.91
log
@Hook hypotl() and cabsl() up to the build.
@
text
@d83 1
a83 1
	s_ceill.c s_cosl.c s_exp2l.c s_floorl.c s_fmal.c \
d130 1
a130 1
MLINKS+=csqrt.3 csqrtf.3
@


1.90
log
@Hook up sqrtl() to the build.
@
text
@d82 2
a83 2
COMMON_SRCS+=	e_sqrtl.c k_cosl.c k_sinl.c k_tanl.c s_ceill.c s_cosl.c \
	s_exp2l.c s_floorl.c s_fmal.c \
d85 1
a85 1
	s_rintl.c s_scalbnl.c s_sinl.c s_tanl.c s_truncl.c
d147 2
a148 1
MLINKS+=hypot.3 cabs.3 hypot.3 cabsf.3 hypot.3 hypotf.3
@


1.89
log
@Add tgammaf() as a simple wrapper around tgamma().
@
text
@d82 1
a82 1
COMMON_SRCS+=	k_cosl.c k_sinl.c k_tanl.c s_ceill.c s_cosl.c \
d174 1
a174 1
MLINKS+=sqrt.3 cbrt.3 sqrt.3 cbrtf.3 sqrt.3 sqrtf.3
@


1.88
log
@Hook up sinl(), cosl(), and tanl() to the build.
@
text
@d66 1
a66 1
	s_tan.c s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \
d154 2
a155 1
MLINKS+=lgamma.3 gamma.3 lgamma.3 gammaf.3 lgamma.3 lgammaf.3 lgamma.3 tgamma.3
@


1.87
log
@On arches where long double is the same as double, alias ceil(), floor()
and trunc() to the corresponding long double functions.  This is not
just an optimization for these arches.  The full long double functions
have a wrong value for `huge', and the arches without full long doubles
depended on it being wrong.
@
text
@d71 2
a72 1
CFLAGS+=	-I${LIBCDIR}/include -I${LIBCDIR}/${MACHINE_ARCH}
d82 4
a85 3
COMMON_SRCS+=	s_ceill.c s_exp2l.c s_floorl.c s_fmal.c s_frexpl.c \
	s_logbl.c s_nanl.c s_nextafterl.c s_nexttoward.c s_rintl.c \
	s_scalbnl.c s_truncl.c
d128 1
a128 1
MLINKS+=cos.3 cosf.3
d171 1
a171 1
MLINKS+=sin.3 sinf.3
d174 1
a174 1
MLINKS+=tan.3 tanf.3
@


1.86
log
@Hook up exp2l() and related docs to the build.
@
text
@d49 1
a49 1
	s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c s_ceill.c \
d54 1
a54 1
	s_floor.c s_floorf.c s_floorl.c s_fma.c s_fmaf.c \
d65 2
a66 2
	s_signgam.c s_significand.c s_significandf.c s_sin.c s_sinf.c s_tan.c \
	s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c s_truncl.c \
d81 3
a83 2
COMMON_SRCS+=	s_exp2l.c s_fmal.c s_frexpl.c s_logbl.c s_nanl.c \
	s_nextafterl.c s_nexttoward.c s_rintl.c s_scalbnl.c
@


1.85
log
@Implement rintl(), nearbyintl(), lrintl(), and llrintl().
Thanks to bde@@ for feedback and testing of rintl().
@
text
@d81 1
a81 1
COMMON_SRCS+=	s_fmal.c s_frexpl.c s_logbl.c s_nanl.c \
d109 2
a110 1
	lgamma.3 lrint.3 lround.3 math.3 nan.3 nextafter.3 remainder.3 rint.3 \
d129 2
a130 4
MLINKS+=exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3 \
	exp.3 exp2.3 exp.3 exp2f.3 exp.3 expf.3 \
	exp.3 expm1f.3 exp.3 logf.3 exp.3 powf.3 \
	exp.3 log10f.3 exp.3 log1pf.3
d152 1
@


1.84
log
@Oops, the previous commit was not needed -- the file was committed but
not checked out due to my checkout error.
@
text
@d78 1
a78 1
COMMON_SRCS+=	s_copysignl.c s_fabsl.c s_modfl.c
d82 1
a82 1
	s_nextafterl.c s_nexttoward.c s_scalbnl.c
d153 2
a154 1
MLINKS+=lrint.3 llrint.3 lrint.3 llrintf.3 lrint.3 lrintf.3
d163 2
a164 1
MLINKS+=rint.3 rintf.3 rint.3 nearbyint.3 rint.3 nearbyintf.3
@


1.83
log
@Don't try to build s_nanl.c before it is committed.
@
text
@d81 1
a81 1
COMMON_SRCS+=	s_fmal.c s_frexpl.c s_logbl.c \
@


1.82
log
@Add logbl(3) to libm.
@
text
@d81 1
a81 1
COMMON_SRCS+=	s_fmal.c s_frexpl.c s_logbl.c s_nanl.c \
@


1.81
log
@Implement and document nan(), nanf(), and nanl(). This commit
adds two new directories in msun: ld80 and ld128. These are for
long double functions specific to the 80-bit long double format
used on x86-derived architectures, and the 128-bit format used on
sparc64, respectively.
@
text
@d81 2
a82 2
COMMON_SRCS+=	s_fmal.c s_frexpl.c s_nanl.c s_nextafterl.c s_nexttoward.c \
	s_scalbnl.c
d149 1
a149 1
	ilogb.3 logb.3 ilogb.3 logbf.3
@


1.80
log
@Implement and document csqrt(3) and csqrtf(3).
@
text
@d27 7
d61 1
a61 1
	s_nearbyint.c s_nextafter.c s_nextafterf.c \
d81 2
a82 1
COMMON_SRCS+=	s_fmal.c s_frexpl.c s_nextafterl.c s_nexttoward.c s_scalbnl.c
d109 1
a109 1
	lgamma.3 lrint.3 lround.3 math.3 nextafter.3 remainder.3 rint.3 \
d156 1
@


1.79
log
@Implement carg(3) and cargf(3).

Rotting in an old src tree since: March 2005
@
text
@d43 2
a44 1
	s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_erf.c s_erff.c \
d97 1
a97 1
	cimag.3 copysign.3 cos.3 cosh.3 erf.3 exp.3 fabs.3 fdim.3 \
d118 1
@


1.78
log
@Bump library versions in preparation for 7.0.

Ok'd by:	kan
@
text
@d41 2
a42 2
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c \
	s_ceil.c s_ceilf.c s_ceill.c \
d109 1
a109 1
MLINKS+=atan2.3 atan2f.3
@


1.78.2.1
log
@SVN rev 226457 on 2011-10-17 05:38:22Z by das

Belated MFC of log2 and log2f to 7-STABLE by popular demand, along with
other log* improvements.

r175461 - log(3) manpage (partial MFC)
r216210 - add k_log (used by log*)
r216211 - add log2 and log2f
r216247 - log2f style
r216248 - log2f insignificant bug
r219360 - log10 converted to use k_log
r219361 - log10f converted to use k_log
r226375 - log2/log10 style
r226376 - log2/log10 bde's improvements; fix log(1) with FE_DOWNWARD rounding
@
text
@d36 1
a36 2
	e_log.c e_log10.c e_log10f.c e_log2.c e_log2f.c e_logf.c \
	e_pow.c e_powf.c e_rem_pio2.c \
d100 1
a100 1
	lgamma.3 log.3 lrint.3 lround.3 math.3 nextafter.3 remainder.3 rint.3 \
d118 1
a118 1
MLINKS+=exp.3 expm1.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3 \
a142 1
MLINKS+=log.3 log10.3 log.3 log10f.3 log.3 log1p.3 log.3 log1pf.3 log.3 logf.3 log.3 log2.3 log.3 log2f.3
@


1.78.2.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/7/lib/msun/Makefile 226457 2011-10-17 05:38:22Z das $
@


1.78.12.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.78.12.2
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: releng/7.4/lib/msun/Makefile 169807 2007-05-21 02:49:08Z deischen $
@


1.78.10.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.78.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.78.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.77
log
@Enable symbol versioning by default.  Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries.  If necessary, this will happen later.
@
text
@d29 1
a29 1
SHLIB_MAJOR= 4
@


1.76
log
@Implement modfl().
@
text
@a65 1
.if defined(SYMVER_ENABLED)
a67 1
.endif
@


1.75
log
@Add symbol versioning to libm.
@
text
@d72 1
a72 1
COMMON_SRCS+=	s_copysignl.c s_fabsl.c
@


1.74
log
@Detach k_rem_pio2f.c from the build since it is now unused.  It is a libm
internal so this shouldn't cause version problems.
@
text
@d64 6
@


1.73
log
@The logb() functions are not just ieee754 "test" functions, but are
standard in C99 and POSIX.1-2001+.  They are also not deprecated, since
apart from being standard they can handle special args slightly better
than the ilogb() functions.

Move their documentation to ilogb.3.  Try to use consistent and improved
wording for both sets of functions.  All of ieee854, C99 and POSIX
have better wording and more details for special args.

Add history for the logb() functions and ilogbl().  Fix history for
ilogb().
@
text
@d39 1
a39 1
	k_cos.c k_cosf.c k_rem_pio2.c k_rem_pio2f.c k_sin.c k_sinf.c \
@


1.72
log
@Bump the shared library version number of all libraries that have not
been bumped since RELENG_5.

Reviewed by:	ru
Approved by:	re (not needed for commit check but in principle...)
@
text
@a131 1
MLINKS+=ieee_test.3 logb.3 ieee_test.3 logbf.3
d134 2
a135 1
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3
@


1.71
log
@Fix truncl.3 MLINKS
@
text
@d29 1
a29 1
SHLIB_MAJOR= 3
@


1.71.2.1
log
@Insta-MFC of the shared library version bump.  All shared libraries
whose version has not already been bumped since RELENG_5 are being
bumped.

Revisions of files being MFC-ed:

> Path						Revision
> src/gnu/lib/libdialog/Makefile		1.43
> src/gnu/lib/libg2c/Makefile			1.16
> src/gnu/lib/libobjc/Makefile			1.27
> src/gnu/lib/libreadline/Makefile.inc		1.12
> src/gnu/lib/libregex/Makefile			1.32
> src/gnu/lib/libstdc++/Makefile		1.56
> src/kerberos5/lib/Makefile.inc		1.7
> src/lib/Makefile.inc				1.3
> src/lib/libalias/Makefile			1.31
> src/lib/libarchive/Makefile			1.37
> src/lib/libbegemot/Makefile			1.3
> src/lib/libbluetooth/Makefile			1.2
> src/lib/libbsnmp/Makefile.inc			1.6
> src/lib/libbz2/Makefile			1.6
> src/lib/libc_r/Makefile			1.42
> src/lib/libcrypt/Makefile			1.36
> src/lib/libdevstat/Makefile			1.15
> src/lib/libdevstat/devstat.h			1.11
> src/lib/libedit/Makefile			1.29
> src/lib/libexpat/Makefile			1.5
> src/lib/libfetch/Makefile			1.45
> src/lib/libftpio/Makefile			1.14
> src/lib/libgpib/Makefile			1.2
> src/lib/libipsec/Makefile			1.17
> src/lib/libkiconv/Makefile			1.3
> src/lib/libmagic/Makefile			1.7
> src/lib/libmp/Makefile			1.10
> src/lib/libncp/Makefile			1.6
> src/lib/libncurses/Makefile			1.79
> src/lib/libnetgraph/Makefile			1.11
> src/lib/libngatm/Makefile			1.6
> src/lib/libopie/Makefile			1.21
> src/lib/libpam/Makefile.inc			1.17
> src/lib/libpthread/Makefile			1.54
> src/lib/libradius/Makefile			1.12
> src/lib/libsdp/Makefile			1.4
> src/lib/libsmb/Makefile			1.8
> src/lib/libtacplus/Makefile			1.7
> src/lib/libthr/Makefile			1.14
> src/lib/libthread_db/Makefile			1.6
> src/lib/libugidfw/Makefile			1.7
> src/lib/libusbhid/Makefile			1.10
> src/lib/libutil/Makefile			1.57
> src/lib/libvgl/Makefile			1.11
> src/lib/libwrap/Makefile			1.17
> src/lib/libypclnt/Makefile			1.13
> src/lib/msun/Makefile				1.72
> src/secure/lib/libcrypto/Makefile		1.74
> src/secure/lib/libssh/Makefile		1.35
> src/secure/lib/libssl/Makefile		1.22
> src/usr.sbin/bsnmpd/modules/Makefile.inc	1.10

Reviewed by:	ru
Approved by:	re (scottl)
@
text
@d29 1
a29 1
SHLIB_MAJOR= 4
@


1.71.2.2
log
@MFC: (1.73: part of undeprecating logb*()).
@
text
@d132 1
d135 1
a135 2
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3 \
	ilogb.3 logb.3 ilogb.3 logbf.3
@


1.71.2.3
log
@MFC (1.74: detach k_rem_pio2f.c from the build since it is now unused).

This goes with optimizing and debugging cosf(), sinf() and tanf().  This
is an internal API change.  Hopefully nothing outside of libm abuses
libm's internals.  Especially this internal, since it should never have
existed and had large bugs.
@
text
@d39 1
a39 1
	k_cos.c k_cosf.c k_rem_pio2.c k_sin.c k_sinf.c \
@


1.71.2.4
log
@MFC:

Makefile 1.76
src/math.h 1.62
src/s_modfl.c 1.1

Implement modfl().

This is a minor API change which hopefully won't cause any problems.
@
text
@d66 1
a66 1
COMMON_SRCS+=	s_copysignl.c s_fabsl.c s_modfl.c
@


1.71.2.5
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/6/lib/msun/Makefile 170712 2007-06-14 06:39:18Z bde $
@


1.71.2.4.4.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.70
log
@Implement truncl() based on floorl().
@
text
@d156 1
a156 1
MLINKS+=trunc.3 truncf.3 truncl.3
@


1.69
log
@Add roundl(), lroundl(), and llroundl().
@
text
@d58 1
a58 1
	s_tanf.c s_tanh.c s_tanhf.c s_trunc.c s_truncf.c \
d156 1
a156 1
MLINKS+=trunc.3 truncf.3
@


1.68
log
@Build exp2(), exp2f(), and related documentation.
@
text
@d50 1
a50 1
	s_llrint.c s_llrintf.c s_llround.c s_llroundf.c \
d52 1
a52 1
	s_lround.c s_lroundf.c s_modff.c \
d55 1
a55 1
	s_rint.c s_rintf.c s_round.c s_roundf.c \
d140 2
a141 1
MLINKS+=lround.3 llround.3 lround.3 llroundf.3 lround.3 lroundf.3
d148 1
a148 1
MLINKS+=round.3 roundf.3
@


1.67
log
@Implement and document remquo() and remquof().
@
text
@d44 2
a45 1
	s_expm1.c s_expm1f.c s_fabsf.c s_fdim.c s_finite.c s_finitef.c \
d115 1
a115 1
	exp.3 expf.3 \
@


1.66
log
@Document feenableexcept(), fedisableexcept(), and fegetexcept().
@
text
@d53 2
a54 1
	s_nexttowardf.c s_rint.c s_rintf.c s_round.c s_roundf.c \
d144 1
@


1.65
log
@- Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl.  On all platforms,
  nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
  nexttoward{,f,l}, scalb{,l}nl.

Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary.  In particular:

		ldbl53		ldbl64/113
fmal       	s_fma.c		s_fmal.c
ldexpl     	s_scalbn.c	s_scalbnl.c
nextafterl 	s_nextafter.c	s_nextafterl.c
nexttoward 	s_nextafter.c	s_nexttoward.c
nexttowardf	s_nexttowardf.c	s_nexttowardf.c
nexttowardl	s_nextafter.c	s_nextafterl.c
scalbnl    	s_scalbn.c	s_scalbnl.c
@
text
@d91 2
a92 1
	feclearexcept.3 fegetenv.3 fegetround.3 fenv.3 floor.3 \
d120 1
@


1.64
log
@Un-document the non-extant exp10() and exp10f() functions.
exp10() was a casualty of the transition away from the VAX.
@
text
@a20 1
.if exists(${ARCH_SUBDIR}/Makefile.inc)
a21 1
.endif
d48 1
a48 1
	s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c s_ldexpf.c \
d53 1
a53 1
	s_rint.c s_rintf.c s_round.c s_roundf.c \
d65 4
d123 1
a123 1
MLINKS+=fma.3 fmaf.3
d137 3
a139 1
MLINKS+=nextafter.3 nextafterf.3
d143 2
a144 1
MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalbnf.3
@


1.63
log
@Remove another vestige of support for a non-IEEE libm.
@
text
@d110 1
a110 1
	exp.3 expf.3 exp.3 exp10.3 exp.3 exp10f.3 \
@


1.62
log
@Move machine-dependent crud to its own makefile.
@
text
@a28 2
CFLAGS+= -D_IEEE_LIBM

@


1.61
log
@Remove wrappers and other cruft intended to support SVID, mistakes in
C90, and other arcana.  Most of these features were never fully
supported or enabled by default.

Ok:	bde, stefanf
@
text
@d15 1
a15 13
# XXX MD crud should be in separate makefiles
.if ${MACHINE_ARCH} == "alpha"
ARCH_SRCS = s_copysign.S s_copysignf.S
# XXX Comment from NetBSD/Alpha:
# XXX LINT SIGFPEs in e_exp.c's strtod().  FP underflow/denorm software
# handling is broken (doesn't exist!) on the Alpha port.
# Stock gcc 2.7.2.1 doesn't understand these options.
#CFLAGS += -mtrap-precision=i -mfp-trap-mode=su
.elif ${MACHINE_ARCH} == "amd64"
ARCH_SRCS = e_sqrt.S s_lrint.S s_llrint.S
.elif ${MACHINE_ARCH} == "ia64"
ARCH_SRCS = s_fma.S s_fmaf.S
.elif ${MACHINE_ARCH} == "i386"
d17 2
a18 8
ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
	    e_remainder.S e_scalb.S e_sqrt.S s_atan.S s_ceil.S s_copysign.S \
	    s_cos.S s_finite.S s_floor.S s_llrint.S s_logb.S s_lrint.S \
	    s_rint.S s_scalbn.S s_significand.S s_sin.S s_tan.S
# float counterparts
ARCH_SRCS+= e_atan2f.S e_log10f.S e_logf.S e_remainderf.S e_scalbf.S \
	    e_sqrtf.S s_ceilf.S s_copysignf.S s_cosf.S s_floorf.S s_logbf.S \
	    s_rintf.S s_scalbnf.S s_significandf.S s_sinf.S s_tanf.S
d21 3
a23 1
ARCH_SUBDIR?= ${MACHINE_ARCH}
@


1.60
log
@- Move the functions presently described in in ieee(3) to their own
  manpages.  They are not very related, so separating them makes it
  easier to add meaningful cross-references and extend some of the
  descriptions.
- Move the part of math(3) that discusses IEEE 754 to the ieee(3)
  manpage.
@
text
@a14 29
#
# There are two options in making libm at fdlibm compile time:
# 	_IEEE_LIBM 	--- IEEE libm; smaller, and somewhat faster
#	_MULTI_LIBM	--- Support multi-standard at runtime by
#			    imposing wrapper functions defined in
#			    math.h:
#				_IEEE_MODE 	-- IEEE
#				_XOPEN_MODE 	-- X/OPEN
#				_POSIX_MODE 	-- POSIX/ANSI
#				_SVID3_MODE 	-- SVID
#
# Here is how to set up CFLAGS to create the desired libm at
# compile time:
#
# 	CFLAGS = -D_IEEE_LIBM		... IEEE libm (recommended)
#	CFLAGS = -D_SVID3_MODE	... Multi-standard supported
#					    libm with SVID as the
#					    default standard
#	CFLAGS = -D_XOPEN_MODE	... Multi-standard supported
#					    libm with XOPEN as the
#					    default standard
#	CFLAGS = -D_POSIX_MODE	... Multi-standard supported
#					    libm with POSIX as the
#					    default standard
#	CFLAGS = 			... Multi-standard supported
#					    libm with IEEE as the
#					    default standard
#

d60 1
a60 1
	k_standard.c k_tan.c k_tanf.c \
d69 1
a69 1
	s_lib_version.c s_llrint.c s_llrintf.c s_llround.c s_llroundf.c \
d71 1
a71 1
	s_lround.c s_lroundf.c s_matherr.c s_modff.c \
d77 1
a77 9
	w_acos.c w_acosf.c w_acosh.c w_acoshf.c w_asin.c w_asinf.c w_atan2.c \
	w_atan2f.c w_atanh.c w_atanhf.c w_cabs.c w_cabsf.c w_cosh.c w_coshf.c \
	w_drem.c w_dremf.c w_exp.c w_expf.c w_fmod.c w_fmodf.c w_gamma.c \
	w_gamma_r.c w_gammaf.c w_gammaf_r.c w_hypot.c w_hypotf.c w_j0.c \
	w_j0f.c w_j1.c w_j1f.c w_jn.c w_jnf.c w_lgamma.c w_lgamma_r.c \
	w_lgammaf.c w_lgammaf_r.c w_log.c w_log10.c w_log10f.c w_logf.c \
	w_pow.c w_powf.c w_remainder.c w_remainderf.c w_scalb.c w_scalbf.c \
	w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c \
	w_y0.c w_y0f.c w_y1.c w_y1f.c w_yn.c w_ynf.c
@


1.59
log
@Add fma() and fmaf(), which implement a fused multiply-add operation.
@
text
@d143 5
a147 5
	cimag.3 cos.3 cosh.3 erf.3 exp.3 fabs.3 fdim.3 feclearexcept.3 \
	fegetenv.3 fegetround.3 fenv.3 floor.3 \
	fma.3 fmax.3 fmod.3 hypot.3 ieee.3 \
	ieee_test.3 j0.3 lgamma.3 lrint.3 lround.3 math.3 rint.3 round.3 \
	signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3
d160 1
a180 6
MLINKS+=ieee.3 copysign.3 ieee.3 copysignf.3 ieee.3 copysignl.3 \
	ieee.3 finite.3 ieee.3 finitef.3 \
	ieee.3 ilogb.3 ieee.3 ilogbf.3 ieee.3 ilogbl.3 \
	ieee.3 nextafter.3 ieee.3 nextafterf.3 \
	ieee.3 remainder.3 ieee.3 remainderf.3 \
	ieee.3 scalbln.3 ieee.3 scalblnf.3 ieee.3 scalbn.3 ieee.3 scalbnf.3
d184 1
d190 2
d194 1
@


1.58
log
@amd64 assembly versions of sqrt(), lrint(), and llrint() using SSE2.
@
text
@d44 1
d54 2
d94 2
a95 1
	s_floor.c s_floorf.c s_floorl.c s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
d144 2
a145 1
	fegetenv.3 fegetround.3 fenv.3 floor.3 fmax.3 fmod.3 hypot.3 ieee.3 \
d175 1
@


1.57
log
@Import the subset of J.T. Conklin's single-precision x86-optimized
math routines that appear to be (a) correct and (b) faster than their
MI counterparts on my Pentium 4.

Obtained from:	NetBSD
@
text
@d51 2
@


1.56
log
@Implement and document ceill().
@
text
@d57 4
a60 2
# Broken:
# ARCH_SRCS+=	s_log1p.S
@


1.55
log
@Hook up and document floorl().
@
text
@d83 3
a85 2
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c s_ceil.c \
	s_ceilf.c s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_erf.c s_erff.c \
d147 1
a147 1
MLINKS+=ceil.3 ceilf.3
@


1.54
log
@Add MI implementations of [l]lrint[f]() and [l]lround[f]().

Discussed with:	bde
@
text
@d86 1
a86 1
	s_floor.c s_floorf.c s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
d164 1
a164 1
MLINKS+=floor.3 floorf.3
@


1.53
log
@Add and document ilogbl(), a long double version of ilogb().
@
text
@d55 1
a55 1
	    s_cos.S s_finite.S s_floor.S s_logb.S \
d89 3
a91 2
	s_lib_version.c s_log1p.c \
	s_log1pf.c s_logb.c s_logbf.c s_matherr.c s_modff.c \
d136 1
a136 1
	ieee_test.3 j0.3 lgamma.3 math.3 rint.3 round.3 \
d181 2
@


1.52
log
@Bump the library version numbers for the following libraries:

	/lib/{libm,libreadline}
	/usr/lib/{libhistory,libopie,libpcap}

in preparation for doing the same thing to RELENG_5.  HUGE amounts of
help for determining what to bump provided by kris.

Discussed on:	freebsd-current
Approved by:	re (not required for commit but something like this should be)
@
text
@d88 1
a88 1
	s_isfinite.c s_isnan.c s_isnormal.c s_ldexpf.c \
d170 2
a171 1
	ieee.3 ilogb.3 ieee.3 ilogbf.3 ieee.3 nextafter.3 ieee.3 nextafterf.3 \
@


1.51
log
@Add man pages for the cimag(), conj() and creal() functions.
@
text
@d71 1
@


1.51.2.1
log
@MFC: Bump of library version numbers for:

	/lib/{libm,libreadline}
	/usr/lib/{libhistory,libopie,libpcap}

Versions of effected files being MFC-ed from commit done to HEAD:

	Revision  Changes    Path
	1.367     +15 -0     src/UPDATING
	1.10      +1 -1      src/gnu/lib/libreadline/Makefile.inc
	1.19      +1 -1      src/lib/libopie/Makefile
	1.34      +1 -1      src/lib/libpcap/Makefile
	1.52      +1 -0      src/lib/msun/Makefile

Approved by:	re (scottl)
@
text
@a70 1
SHLIB_MAJOR= 3
@


1.51.2.2
log
@MFC Makefile:1.54,1.57:
  Add single-precision x86-optimized math routines.
  Implement [l]lrint[f]() and [l]lround[f]().
@
text
@d55 1
a55 1
	    s_cos.S s_finite.S s_floor.S s_llrint.S s_logb.S s_lrint.S \
d57 2
a58 4
# float counterparts
ARCH_SRCS+= e_atan2f.S e_log10f.S e_logf.S e_remainderf.S e_scalbf.S \
	    e_sqrtf.S s_ceilf.S s_copysignf.S s_cosf.S s_floorf.S s_logbf.S \
	    s_rintf.S s_scalbnf.S s_significandf.S s_sinf.S s_tanf.S
d89 2
a90 3
	s_lib_version.c s_llrint.c s_llrintf.c s_llround.c s_llroundf.c \
	s_log1p.c s_log1pf.c s_logb.c s_logbf.c s_lrint.c s_lrintf.c \
	s_lround.c s_lroundf.c s_matherr.c s_modff.c \
d135 1
a135 1
	ieee_test.3 j0.3 lgamma.3 lrint.3 lround.3 math.3 rint.3 round.3 \
a178 2
MLINKS+=lrint.3 llrint.3 lrint.3 llrintf.3 lrint.3 lrintf.3
MLINKS+=lround.3 llround.3 lround.3 llroundf.3 lround.3 lroundf.3
@


1.51.2.3
log
@MFC Makefile,v 1.53

  Add and document ilogbl(), a long double version of ilogb().

MFC Makefile,v 1.55

  Hook up and document floorl().

MFC Makefile,v 1.56

  Implement and document ceill().

MFC Makefile,v 1.59

  Add fma() and fmaf(), which implement a fused multiply-add operation.

MFC Makefile,v 1.60

  - Move the functions presently described in in ieee(3) to their own
    manpages.  They are not very related, so separating them makes it
    easier to add meaningful cross-references and extend some of the
    descriptions.
  - Move the part of math(3) that discusses IEEE 754 to the ieee(3)
    manpage.

MFC Makefile,v 1.62

  Move machine-dependent crud to its own makefile.

MFC Makefile,v 1.64

  Un-document the non-extant exp10() and exp10f() functions.
  exp10() was a casualty of the transition away from the VAX.
@
text
@d44 8
a51 1
.if ${MACHINE_ARCH} == "i386"
d53 8
a60 2
.else
ARCH_SUBDIR= ${MACHINE_ARCH}
d63 1
a63 3
.if exists(${ARCH_SUBDIR}/Makefile.inc)
.include "${ARCH_SUBDIR}/Makefile.inc"
.endif
d85 2
a86 3
	s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_cbrt.c s_cbrtf.c \
	s_ceil.c s_ceilf.c s_ceill.c \
	s_copysign.c s_copysignf.c s_cos.c s_cosf.c s_erf.c s_erff.c \
d88 1
a88 2
	s_floor.c s_floorf.c s_floorl.c s_fma.c s_fmaf.c \
	s_fmax.c s_fmaxf.c s_fmaxl.c s_fmin.c \
d90 1
a90 1
	s_ilogbl.c s_isfinite.c s_isnan.c s_isnormal.c s_ldexpf.c \
d136 4
a139 5
	cimag.3 copysign.3 cos.3 cosh.3 erf.3 exp.3 fabs.3 fdim.3 \
	feclearexcept.3 fegetenv.3 fegetround.3 fenv.3 floor.3 \
	fma.3 fmax.3 fmod.3 hypot.3 ieee.3 ieee_test.3 ilogb.3 j0.3 \
	lgamma.3 lrint.3 lround.3 math.3 nextafter.3 remainder.3 rint.3 \
	round.3 scalbn.3 signbit.3 sin.3 sinh.3 sqrt.3 tan.3 tanh.3 trunc.3
d148 1
a148 1
MLINKS+=ceil.3 ceilf.3 ceil.3 ceill.3
a151 1
MLINKS+=copysign.3 copysignf.3 copysign.3 copysignl.3
d166 1
a166 2
MLINKS+=floor.3 floorf.3 floor.3 floorl.3
MLINKS+=fma.3 fmaf.3
d171 5
a178 1
MLINKS+=ilogb.3 ilogbf.3 ilogb.3 ilogbl.3
a183 2
MLINKS+=nextafter.3 nextafterf.3
MLINKS+=remainder.3 remainderf.3
a185 1
MLINKS+=scalbn.3 scalbln.3 scalbn.3 scalblnf.3 scalbn.3 scalbnf.3
@


1.51.2.4
log
@MFC rev 1.64.  Rev 1.51.2.3 claimed to be an MFC of 1.53, 1.55, 1.56,
1.59, 1.60, 1.62, and 1.64, but I left out 1.64.

Reported by:    asmodai@@
@
text
@d149 1
a149 1
	exp.3 expf.3 \
@


1.50
log
@Replace s_isnan.c and s_isnanf.c with the more compact s_isnan.c from
libc.  The externally-visible effect of this is to add __isnanl() to
libm, which means that libm.so.2 can once again link against libc.so.4
when LD_BIND_NOW is set.  This was broken by the addition of fdiml(),
which calls __isnanl().
@
text
@d132 2
a133 2
	cos.3 cosh.3 erf.3 exp.3 fabs.3 fdim.3 feclearexcept.3 fegetenv.3 \
        fegetround.3 fenv.3 floor.3 fmax.3 fmod.3 hypot.3 ieee.3 \
d145 3
@


1.49
log
@Fix two bugs in the signbit() macro, which was implemented last year:

- It was added to libc instead of libm.  Hopefully no programs rely
  on this mistake.

- It didn't work properly on large long doubles because its argument
  was converted to type double, resulting in undefined behavior.
@
text
@d87 1
a87 1
	s_isfinite.c s_isnanf.c s_isnormal.c s_ldexpf.c \
@


1.48
log
@Implement the classification macros isfinite(), isinf(), isnan(), and
isnormal() the hard way, rather than relying on fpclassify().  This is
a lose in the sense that we need a total of 12 functions, but it is
necessary for binary compatibility because we have never bumped libm's
major version number.  In particular, isinf(), isnan(), and isnanf()
were BSD libc functions before they were C99 macros, so we can't
reimplement them in terms of fpclassify() without adding a dependency
on libc.so.5.  I have tried to arrange things so that programs that
could be compiled in FreeBSD 4.X will generate the same external
references when compiled in 5.X.  At the same time, the new macros
should remain C99-compliant.

The isinf() and isnan() functions remain in libc for historical
reasons; however, I have moved the functions that implement the macros
isfinite() and isnormal() to libm where they belong.  Moreover,
half a dozen MD versions of isinf() and isnan() have been replaced
with MI versions that work equally well.

Prodded by:	kris
@
text
@d92 1
a92 1
	s_scalbln.c s_scalbn.c s_scalbnf.c \
d134 2
a135 2
	ieee_test.3 j0.3 lgamma.3 math.3 rint.3 round.3 sin.3 sinh.3 sqrt.3 \
	tan.3 tanh.3 trunc.3
@


1.47
log
@Add C99's nearbyint{,f}() functions as wrappers around rint().
These trivial implementations are about 25 times slower than
rint{,f}() on x86 due to the FP environment save/restore.
They should eventually be redone in terms of fegetround() and
bit fiddling.
@
text
@d87 2
a88 1
	s_isnanf.c s_ldexpf.c s_lib_version.c s_log1p.c \
@


1.46
log
@Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}.
@
text
@d89 2
a90 1
	s_nextafter.c s_nextafterf.c s_rint.c s_rintf.c s_round.c s_roundf.c \
d174 1
a174 1
MLINKS+=rint.3 rintf.3
@


1.45
log
@s/ARCH/ARCH_SUBDIR/g -- This reduces the chance of possible conflicts
with the user's environment.

Wondered why his cross-builds kept failing: marcel
@
text
@d84 3
a86 2
	s_expm1.c s_expm1f.c s_fabsf.c s_finite.c s_finitef.c \
	s_floor.c s_floorf.c s_frexp.c s_frexpf.c s_ilogb.c s_ilogbf.c \
d130 2
a131 2
	cos.3 cosh.3 erf.3 exp.3 fabs.3 feclearexcept.3 fegetenv.3 \
        fegetround.3 fenv.3 floor.3 fmod.3 hypot.3 ieee.3 \
d151 1
d158 2
@


1.44
log
@Completely remove s_ilogb.S as the assembler implementation gives very little
speed improvement to none at all over the MI version.

Submitted by:	bde
@
text
@d52 1
a52 1
ARCH=	i387
d61 1
a61 1
ARCH?=	${MACHINE_ARCH}
d117 1
a117 1
.PATH:	${.CURDIR}/${ARCH}
@


1.43
log
@Connect scalbln(), trunc(), and the associated documentation to the build.
@
text
@d55 1
a55 1
	    s_cos.S s_finite.S s_floor.S s_ilogb.S s_logb.S \
@


1.42
log
@Add round(3) and roundf(3) and the associated documentation.

PR:		59797
Submitted by:	"Steven G. Kargl" <kargl@@troutmask.apl.washington.edu>
Reviewed by:	bde (earlier version, last year)
@
text
@d89 1
a89 1
	s_scalbn.c s_scalbnf.c \
d91 1
a91 1
	s_tanf.c s_tanh.c s_tanhf.c \
d132 1
a132 1
	tan.3 tanh.3
d161 2
a162 1
	ieee.3 remainder.3 ieee.3 remainderf.3 ieee.3 scalbn.3 ieee.3 scalbnf.3
d176 1
@


1.41
log
@Add fenv.h, fenv.c, and the associated documentation to the libm
build.  To facilitate this, add ${.CURDIR}/${ARCH} to make's search
path unconditionally.

Reviewed by:	standards@@
@
text
@d88 2
a89 1
	s_nextafter.c s_nextafterf.c s_rint.c s_rintf.c s_scalbn.c s_scalbnf.c \
d131 1
a131 1
	ieee_test.3 j0.3 lgamma.3 math.3 rint.3 sin.3 sinh.3 sqrt.3 \
d169 1
@


1.40
log
@Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}.  They are
needed for cases where GCC's builtin functions cannot be used and for
compilers that don't know about them.

Approved by:	das (mentor)
@
text
@a44 1
ARCH=	alpha
d61 2
d79 1
a79 1
	e_sinh.c e_sinhf.c e_sqrt.c e_sqrtf.c \
d116 1
a117 1
.PATH:	${.CURDIR}/${ARCH}
d125 1
a125 1
INCS=	math.h
d128 2
a129 1
	cos.3 cosh.3 erf.3 exp.3 fabs.3 floor.3 fmod.3 hypot.3 ieee.3 \
d149 5
@


1.39
log
@Add an implementation of copysignl(), a long double version of copysign().

Approved by:	das (mentor)
@
text
@d107 4
@


1.38
log
@Add an MLINK for fabsl().

Approved by:	das (mentor)
@
text
@d105 1
a105 1
COMMON_SRCS+=	s_fabsl.c
d146 2
a147 1
MLINKS+=ieee.3 copysign.3 ieee.3 copysignf.3 ieee.3 finite.3 ieee.3 finitef.3 \
@


1.37
log
@ - fabsl.c should be named s_fabsl.c for consistency with libmsun's
   documented naming scheme (unfortunately the documentation isn't in the
   tree as far as I can tell); no repocopy is required as there is no
   history to preserve.

 - replace simple and almost-correct implementation with slightly hackish
   but definitely correct implementation (tested on i386, alpha, sparc64)
   which requires pulling in fpmath.h and the MD _fpmath.h from libc.

 - try not to make a mess of the Makefile in the process.

 - enterprising minds are encouraged to implement more C99 long double
   functions.
@
text
@d142 1
a142 1
MLINKS+=fabs.3 fabsf.3
@


1.36
log
@Connect fabsl.c to the build.
@
text
@d100 7
a108 2

COMMON_SRCS+= fabsl.c
@


1.35
log
@Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
@
text
@d103 2
@


1.34
log
@Fixed some style bugs (misplacement and misformatting of some commented-out
code).
@
text
@d69 1
@


1.33
log
@Only provide one copy of the math functions.  If we provide a MD function,
do not also provide a __generic_XXX version as well.  This is how we
used to runtime select the generic vs i387 versions on the i386 platform.

This saves a pile of #defines in the src/math_private.h file to undo the
__generic_XXX renames in some of the *.c files.
@
text
@d58 2
a60 4

# Broken
# ARCH_SRCS+=	s_log1p.S

@


1.32
log
@No longer need the internal __get_hw_float() function.
@
text
@a62 4
.if defined(ARCH)
.PATH:	${.CURDIR)/${ARCH}
ARCH_PREFIX= ${ARCH}_
.endif
d104 3
a106 9
RENAMED_ARCH_SRCS=	${ARCH_SRCS:S/^/${ARCH_PREFIX}/g}
SRCS=	${COMMON_SRCS} ${RENAMED_ARCH_SRCS}
CLEANFILES+=	${RENAMED_ARCH_SRCS}

# Generate rules to rename arch-specific sources to avoid conflicts.
# The path to the arch-specific sources is given explicitly instead of
# with `.PATH:	${.CURDIR}/${ARCH}' since otherwise bsd.lib.mk would
# use .S.o rules instead of .c.o rules for the conflicting prefixes
# (except after `make depend' it uses the correct rules!).
d108 1
a108 2
${ARCH_PREFIX}${i}: ${.CURDIR}/${ARCH}/${i}
	cp ${.ALLSRC} ${.TARGET}
d110 3
@


1.31
log
@Now that we do not need to do runtime detection for the broken default
fp emulator, stop doing the runtime selection of hardware or emulated
floating point operations on i386.  Note that I have not suppressed the
duplicate compiles yet.

While here, fix the alpha.  It has provided specific copysign/copysignf
functions since the beginning of time, but they have never been used.
@
text
@a83 1
	get_hw_float.c \
@


1.30
log
@Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
@
text
@a44 1
.PATH:	${.CURDIR)/alpha
a53 1
ARCH_PREFIX= ${ARCH}_
d63 5
d72 1
a72 1
CFLAGS+= -D_IEEE_LIBM -D_ARCH_INDIRECT=${ARCH_PREFIX}
a108 1
CLEANFILES+=	${RENAMED_ARCH_SRCS}
d111 1
@


1.29
log
@Resurrect Lite1's gamma() as C99's tgamma().  Minimal changes.
@
text
@d120 2
a160 5

# XXX we should have only one math.h, and a rule for installing .h's...
beforeinstall:
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/src/math.h \
		${DESTDIR}/usr/include
@


1.28
log
@We need an frexp() function.
@
text
@d65 1
d72 2
a73 1
COMMON_SRCS =	e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
d152 1
a152 1
MLINKS+=lgamma.3 gamma.3 lgamma.3 lgammaf.3 lgamma.3 gammaf.3
@


1.27
log
@* remove reference to m68k-dependent sources
* fix comment
@
text
@d85 1
a85 1
	s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \
@


1.26
log
@Don't install manpage links for the nonexistent functions exp2(),
exp2f(), log2() and log2f().
@
text
@d2 1
a2 1
# $FreeBSD: src/lib/msun/Makefile,v 1.25 2001/03/27 17:27:19 ru Exp $
d20 1
a20 1
#			    fdlibm.h:
a59 6
.elif ${MACHINE_ARCH} == "m68k"
.PATH:  ${.CURDIR}/mc68881
ARCH_SRCS = e_acos.S e_asin.S e_atanh.S e_cosh.S e_exp.S e_fmod.S e_log.S \
            e_log10.S e_remainder.S e_scalb.S e_sinh.S e_sqrt.S s_atan.S \
            s_ceil.S s_copysign.S s_cos.S s_expm1.S s_finite.S s_floor.S \
            s_log1p.S s_logb.S s_rint.S s_scalbn.S s_sin.S s_tan.S s_tanh.S
@


1.25
log
@MAN[1-9] -> MAN.
@
text
@d2 1
a2 1
# $FreeBSD: src/lib/msun/Makefile,v 1.24 2001/03/26 07:28:25 ru Exp $
d141 2
a142 2
	exp.3 expf.3 exp.3 exp2.3 exp.3 exp2f.3 exp.3 exp10.3 exp.3 exp10f.3 \
	exp.3 expm1f.3 exp.3 logf.3 exp.3 log2.3 exp.3 log2f.3 exp.3 powf.3 \
@


1.24
log
@Don't use MANDEPEND and MANSRC.
@
text
@d2 1
a2 1
# $FreeBSD: src/lib/msun/Makefile,v 1.23 1999/08/28 00:06:05 peter Exp $
d124 1
a124 1
MAN3+=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
@


1.23
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
a122 2

MANSRC= ${.CURDIR}/man
@


1.23.2.1
log
@MFC: MAN[1-9] -> MAN.
@
text
@d2 1
a2 1
# $FreeBSD: src/lib/msun/Makefile,v 1.23 1999/08/28 00:06:05 peter Exp $
d124 3
a126 1
MAN=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
@


1.23.2.2
log
@MFC: 1.26: Don't install manpage links for the nonexistent functions
exp2(), exp2f(), log2() and log2f().
@
text
@d2 1
a2 1
# $FreeBSD$
d141 2
a142 2
	exp.3 expf.3 exp.3 exp10.3 exp.3 exp10f.3 \
	exp.3 expm1f.3 exp.3 logf.3 exp.3 powf.3 \
@


1.23.2.3
log
@MFC: bsd.incs.mk support and assorted header fixes:

Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.

Install sys/netatm/*/*.h to /usr/include/netatm/*/.

Don't install compatibility symlinks for <machine/soundcard.h>
and <machine/joystick.h>.

Don't install IPFILTER headers.  Userland utilities fetch them
directly, and they were not visible in the SHARED=symlinks case.

Resurrect SHARED=symlinks in Makefile.inc1.

PR:		docs/29534, bin/28002
@
text
@a123 2
INCS=	math.h

d163 5
@


1.23.2.4
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/4/lib/msun/Makefile 100501 2002-07-22 14:21:52Z ru $
@


1.22
log
@Disable building with alpha software completion options until we upgrade
compilers.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.21 1998/12/23 11:50:51 dfr Exp $
@


1.22.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.21
log
@Implement fpsetmask() and other fp*() functions.  Programs should use

	#include <ieeefp.h>

to access these functions instead of the i386 specific

	#include <machine/floatingpoint.h>

Submitted by: Hidetoshi Shimokawa <simokawa@@sat.t.u-tokyo.ac.jp>
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.20 1998/02/20 07:44:29 jb Exp $
d51 2
a52 1
CFLAGS += -mtrap-precision=i -mfp-trap-mode=su
@


1.20
log
@Add alpha support. m68k crept in too. Oops. 8-)
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.19 1997/04/15 14:05:28 bde Exp $
d51 1
@


1.19
log
@Added -D_ARCH_INDIRECT=i387_ to CFLAGS.  _ARCH_INDIRECT will soon be used
to control generation of indirections in ENTRY().  Only msun needs it.

Use ${ARCH} consistently.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.18 1997/02/22 15:08:42 peter Exp $
d44 8
d58 7
@


1.18
log
@Revert $FreeBSD$ to $Id$
@
text
@d2 1
a2 1
#  $Id$
d45 1
d57 1
a57 1
CFLAGS+= -D_IEEE_LIBM
d94 1
a94 1
RENAMED_ARCH_SRCS=	${ARCH_SRCS:S/^/${ARCH}_/g}
d103 1
a103 1
${ARCH}_${i}: ${.CURDIR}/i387/${i}
@


1.17
log
@Split up the Bessel function wrapper files so that most wrapper functions
are in their own file.
@
text
@d2 1
a2 1
#  $FreeBSD$
@


1.16
log
@Select between the generic math functions and the i387-specific ones
at runtime.

etc/make.conf:
Nuked HAVE_FPU option.

lib/msun/Makefile:
Always build the i387 objects.  Copy the i387 source files at build
time so that the i387 objects have different names.  This is simpler
than renaming the files in the cvs repository or repeating half of
bsd.lib.mk to add explicit rules.

lib/msun/src/*.c:
Renamed all functions that have an i387-specific version by adding
`__generic_' to their names.

lib/msun/src/get_hw_float.c:
New file for getting machdep.hw_float from the kernel.

sys/i386/include/asmacros.h:
Abuse the ENTRY() macro to generate jump vectors and associated code.
This works much like PIC PLT dynamic initialization.  The PIC case is
messy.  The old i387 entry points are renamed.  Renaming is easier
here because the names are given by macro expansions.
@
text
@d86 2
a87 1
	w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c
@


1.15
log
@Put back .endif clobbered by the previous commit, breaking the
build.
@
text
@d44 1
a44 3
# Enable if you have a i387 (or i486 or Pentium)
.if defined(HAVE_FPU)
.PATH:	${.CURDIR}/i387
a51 1
.endif
d67 1
d91 9
a99 4

SRCS=${COMMON_SRCS}

# Substitute common sources with any arch specific sources
d101 2
a102 1
    SRCS:=${SRCS:S/${i:S/.S/.c/}/$i/}
@


1.14
log
@Disabled the i387 version if log1p().  It just evaluates log(1 + x).
This defeats the point of log1p().  ucbtest reports errors of +-5e+15
ULPs.  A correct version would use the i387 fyl2xp1 instruction for
small x and maybe scale to small x.  The C version does the scaling
reasonably efficiently, and fyl2px1 is slow (at least on P5s), so not
much is lost by always using the C version (only 25% for small x even
with the broken i387 version; 50% for large x).
@
text
@d54 1
@


1.13
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d49 1
a49 1
	    s_cos.S s_finite.S s_floor.S s_ilogb.S s_log1p.S s_logb.S \
d51 3
a53 1
.endif
@


1.12
log
@Delete -D_POSIX_MODE and -D_MULTI_LIBM from CFLAGS.  They never had any effect
because _IEEE_LIBM always takes priority, so the definition just served
to confuse.

Reviewed by:	bde
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11 1996/08/30 21:21:52 peter Exp $
@


1.11
log
@consistancy fixup

Submitted by: "Philippe Charnier" <charnier@@xp11.frmug.org>
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.10 1996/08/30 02:05:30 peter Exp $
d56 1
a56 1
CFLAGS+= -D_MULTI_LIBM -D_POSIX_MODE -D_IEEE_LIBM
@


1.11.2.1
log
@YAMFC (deleted confusing -D's and disabled log1p()).
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11 1996/08/30 21:21:52 peter Exp $
d49 1
a49 1
	    s_cos.S s_finite.S s_floor.S s_ilogb.S s_logb.S \
d51 1
a51 3

# Broken
# ARCH_SRCS+=	s_log1p.S
d56 1
a56 1
CFLAGS+= -D_IEEE_LIBM
@


1.11.2.2
log
@Add back missing .endif in 2.2 also.

I don't know if it was the intention to make this no longer
depend on HAVE_FPU or just a slip of the delete finger over the .endif,
but either way it was broke. :)
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11.2.1 1997/02/15 05:33:05 bde Exp $
a53 1
.endif
@


1.11.2.3
log
@Mega-merge Bruce's msun changes into 2.2.  This should bring the
FPU autodetecting code here.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11.2.2 1997/02/15 14:07:05 jkh Exp $
d44 3
a46 1
ARCH=	i387
d54 1
a69 1
	get_hw_float.c \
d93 4
a96 9
CLEANFILES+=	${RENAMED_ARCH_SRCS}
RENAMED_ARCH_SRCS=	${ARCH_SRCS:S/^/${ARCH}_/g}
SRCS=	${COMMON_SRCS} ${RENAMED_ARCH_SRCS}

# Generate rules to rename arch-specific sources to avoid conflicts.
# The path to the arch-specific sources is given explicitly instead of
# with `.PATH:	${.CURDIR}/${ARCH}' since otherwise bsd.lib.mk would
# use .S.o rules instead of .c.o rules for the conflicting prefixes
# (except after `make depend' it uses the correct rules!).
d98 1
a98 2
${ARCH}_${i}: ${.CURDIR}/i387/${i}
	cp ${.ALLSRC} ${.TARGET}
@


1.11.2.4
log
@YAMFC (split up Bessel function wrapper files).
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11.2.3 1997/02/23 11:02:55 joerg Exp $
d86 1
a86 2
	w_sinh.c w_sinhf.c w_sqrt.c w_sqrtf.c \
	w_y0.c w_y0f.c w_y1.c w_y1f.c w_yn.c w_ynf.c
@


1.11.2.5
log
@MFC: Bruce's fix to remove a hard reference to DEFS.h
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.11.2.4 1997/03/03 14:20:58 bde Exp $
a44 1
ARCH_PREFIX= ${ARCH}_
d56 1
a56 1
CFLAGS+= -D_IEEE_LIBM -D_ARCH_INDIRECT=${ARCH_PREFIX}
d93 1
a93 1
RENAMED_ARCH_SRCS=	${ARCH_SRCS:S/^/${ARCH_PREFIX}/g}
d102 1
a102 1
${ARCH_PREFIX}${i}: ${.CURDIR}/${ARCH}/${i}
@


1.11.2.6
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.10
log
@cmp -s || install -c ==> install -C
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.9 1996/02/09 00:48:52 mpp Exp $
d143 1
a143 1
		${DESTDIR}/usr/include/math.h
@


1.9
log
@Correct one small typo in previous commit.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.8 1996/02/09 00:45:39 mpp Exp $
d142 2
a143 4
	@@${ECHO} Installing new math.h
	@@(cd ${.CURDIR}/src; cmp -s math.h ${DESTDIR}/usr/include/math.h || \
		${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 math.h \
		${DESTDIR}/usr/include/math.h;)
@


1.8
log
@Added some missing MLINKS for section 3 man pages.
Also corrected a few minor formatting errors, file location and cross
references in some of the section 3 man pages.

This shuts up a lot of the output from "manck" for section 3.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.7 1995/10/22 19:16:01 bde Exp $
d135 1
a135 1
MLIBKS+=sinh.3 sinhf.3
@


1.7
log
@Undo the the changes in the previous revision (MANSRC now works right again).
Use ${INSTALL} instead of install.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.6 1995/10/02 20:02:05 wollman Exp $
d105 34
a138 11
MLINKS+=erf.3 erfc.3
MLINKS+=exp.3 expm1.3 exp.3 log.3 exp.3 log10.3 exp.3 log1p.3 exp.3 pow.3
MLINKS+=hypot.3 cabs.3
MLINKS+=ieee.3 copysign.3 ieee.3 finite.3 ieee.3 ilogb.3 \
	ieee.3 nextafter.3 ieee.3 remainder.3 ieee.3 scalbn.3
MLINKS+=ieee_test.3 logb.3
MLINKS+=ieee_test.3 scalb.3
MLINKS+=ieee_test.3 significand.3
MLINKS+=j0.3 j1.3 j0.3 jn.3 j0.3 y0.3 j0.3 y1.3 j0.3 yn.3
MLINKS+=lgamma.3 gamma.3
MLINKS+=sqrt.3 cbrt.3
@


1.6
log
@Compress manual pages (if desired) in the obj directory rather
than in the installation destination.  Should make release-building
substantially faster.  The msun Makefile changes simple adapt to the new
scheme.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.5 1995/05/30 05:47:47 rgrimes Exp $
d98 6
a103 5
MAN3+=	man/acos.3 man/acosh.3 man/asin.3 man/asinh.3 man/atan.3 man/atan2.3 \
	man/atanh.3 man/ceil.3 man/cos.3 man/cosh.3 man/erf.3 man/exp.3 \
	man/fabs.3 man/floor.3 man/fmod.3 man/hypot.3 man/ieee.3 \
	man/ieee_test.3 man/j0.3 man/lgamma.3 man/math.3 man/rint.3 man/sin.3 \
	man/sinh.3 man/sqrt.3 man/tan.3 man/tanh.3
d121 1
a121 1
		install -c -o ${BINOWN} -g ${BINGRP} -m 444 math.h \
@


1.5
log
@Remove trailing whitespace.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.4 1995/03/08 01:41:40 bde Exp $
d98 5
a102 6
MANSRC= ${.CURDIR}/man

MAN3+=	acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
	cos.3 cosh.3 erf.3 exp.3 fabs.3 floor.3 fmod.3 hypot.3 ieee.3 \
	ieee_test.3 j0.3 lgamma.3 math.3 rint.3 sin.3 sinh.3 sqrt.3 \
	tan.3 tanh.3
@


1.5.4.1
log
@Merged from current: 1.12 (deleted confusing -D's) and 1.14 (disabled i387
log1p()).
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.5 1995/05/30 05:47:47 rgrimes Exp $
d49 1
a49 1
	    s_cos.S s_finite.S s_floor.S s_ilogb.S s_logb.S \
d51 1
a51 3

# Broken
# ARCH_SRCS+=	s_log1p.S
d56 1
a56 1
CFLAGS+= -D_IEEE_LIBM
@


1.5.4.2
log
@Restored .endif in 2.1 too.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.5.4.1 1997/02/15 05:38:02 bde Exp $
a53 1
.endif
@


1.5.4.3
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.4
log
@Obtained from: NetBSD

Remove common sources from ${SRCS} when they are replaced by arch-specific
sources.
@
text
@d1 3
a3 3
#  @@(#)Makefile 5.1beta 93/09/24 
#  $Id: Makefile,v 1.3 1994/09/08 10:40:23 bde Exp $
# 
d6 1
a6 1
# 
d9 1
a9 1
#  software is freely granted, provided that this notice 
d12 2
a13 2
# 
# 
d18 2
a19 2
#	_MULTI_LIBM	--- Support multi-standard at runtime by 
#			    imposing wrapper functions defined in 
d26 1
a26 1
# Here is how to set up CFLAGS to create the desired libm at 
d31 1
a31 1
#					    libm with SVID as the 
d34 1
a34 1
#					    libm with XOPEN as the 
d37 1
a37 1
#					    libm with POSIX as the 
d40 1
a40 1
#					    libm with IEEE as the 
d42 1
a42 1
# 
d56 1
a56 1
CFLAGS+= -D_MULTI_LIBM -D_POSIX_MODE -D_IEEE_LIBM 
d93 1
a93 1
# Substitute common sources with any arch specific sources 
@


1.3
log
@Install math.h.
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.2 1994/08/19 11:15:40 jkh Exp $
d91 6
a96 1
SRCS=${COMMON_SRCS} ${ARCH_SRCS}
@


1.2
log
@Make this puppy actually compile now.
Submitted by:	jkh
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.1.1.1 1994/08/19 09:39:41 jkh Exp $
d111 7
@


1.1
log
@Initial revision
@
text
@d2 1
a2 1
#  $Id: Makefile,v 1.22 1994/08/10 20:30:00 jtc Exp $
d46 1
a46 1
.PATH:	${.CURDIR}/arch/i387
a92 1
# Substitute common sources with any arch specific sources
@


1.1.1.1
log
@J.T. Conklin's latest version of the Sun math library.

-- Begin comments from J.T. Conklin:
The most significant improvement is the addition of "float" versions
of the math functions that take float arguments, return floats, and do
all operations in floating point.  This doesn't help (performance)
much on the i386, but they are still nice to have.

The float versions were orginally done by Cygnus' Ian Taylor when
fdlibm was integrated into the libm we support for embedded systems.
I gave Ian a copy of my libm as a starting point since I had already
fixed a lot of bugs & problems in Sun's original code.  After he was
done, I cleaned it up a bit and integrated the changes back into my
libm.
-- End comments

Reviewed by:	jkh
Submitted by:	jtc
@
text
@@
